前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFBWebUtil
IWebUtil インターフェースのラッパークラスです。
#include <SFBWebUtil.h.hpp>
class SFBWebUtil : public SFBQuery;
SFMTYPEDEFWRAPPER(SFBWebUtil)

継承図

SFBWebUtil クラスの継承図

バージョン

BREW 2.0 BREW 2.1 BREW 3.1 BREW 4.0

参照

BREW API IWebUtil

メンバ

パブリック関数
SInt32 DecodeBase64( VoidConstPtr in , VoidPtr out )
Base64 エンコードされた文字列をデコードしてバッファに格納します。
SInt32 DecodeBase64( SFXBufferConstRef in , SFXBufferPtr out )
Base64 エンコードされた文字列をデコードしてバッファに格納します。
ACharPtr EncodeBase64( VoidConstPtr in , SInt32 length , VoidPtr out )
バッファ内のデータを Base64 でエンコードします。
Void EncodeBase64( SFXBufferConstRef in , SFXBufferPtr out )
バッファ内のデータを Base64 でエンコードします。
SFXBuffer EncodeBase64( SFXBufferConstRef in )
バッファ内のデータを Base64 でエンコードします。
SInt32 MakeUrl( ACharConstPtr base , ACharConstPtr relative , ACharPtr result , SInt32 resultLength )
RFC2396 に従い、ベース URL と相対 URL から完全 URL を作成します。
SInt32 MakeUrl( SFXAnsiStringConstRef base , SFXAnsiStringConstRef relative , SFXAnsiStringPtr result )
RFC2396 に従い、ベース URL と相対 URL から完全 URL を作成します。
SFXAnsiString MakeUrl( SFXAnsiStringConstRef base , SFXAnsiStringConstRef relative )
RFC2396 に従い、ベース URL と相対 URL から完全 URL を作成します。
static
SFBWebUtilSmp
NewInstance( SFCErrorPtr exception = null )
SFBWebUtil インスタンスを生成します。
static
SFBWebUtilSmp
NewInstance( AEECLSID id , SFCErrorPtr exception = null )
SFBWebUtil インスタンスを生成します。
SInt32 ParseFormFields( ACharHandle in , WebFormField* fields , SInt32 maxFields , UInt32 flags )
フォーム フィールドを構文解析します。
SFCError ParseUrl( ACharConstPtr url , UrlParts* parts )
URL 文字列をその構成要素に構文解析します。
SFCError ParseUrl( SFXAnsiStringConstRef url , UrlParts* parts )
URL 文字列をその構成要素に構文解析します。
ACharPtr UrlDecode( ACharConstPtr in , SInt32Ptr inLength , ACharPtr out , SInt32Ptr outLength )
URL エンコードされた文字列内の文字をデコードします。
Void UrlDecode( SFXAnsiStringConstRef in , SInt32Ptr inLength , SFXAnsiStringPtr out , SInt32Ptr outLength )
URL エンコードされた文字列内の文字をデコードします。
ACharPtr UrlEncode( ACharConstPtr in , SInt32Ptr inLength , ACharPtr out , SInt32Ptr outLength )
RFC2936 に従い、URL に含めるため文字列内の文字をエンコードします。
Void UrlEncode( SFXAnsiStringConstRef in , SInt32Ptr inLength , SFXAnsiStringPtr out , SInt32Ptr outLength )
RFC2936 に従い、URL に含めるため文字列内の文字をエンコードします。
SFCError QueryInterface( AEECLSID clsid , VoidHandle handle ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
SFCError QueryInterface( AEECLSID clsid , SFBBaseSmpPtr handle ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
SFBBaseSmp QueryInterface( AEECLSID clsid ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
Void Self( AEECLSID clsidReq , SFBQuerySmpPtr clone , AEECLSID clsidImp ) (SFBQuery から継承)
オブジェクトを単一インターフェースで実装するときに使います。
SFBQuerySmp Self( AEECLSID clsidReq , AEECLSID clsidImp ) (SFBQuery から継承)
オブジェクトを単一インターフェースで実装するときに使います。
プロテクト関数
static
SFBBaseSmp
FactoryByCreate( AEECLSID id , SFCErrorPtr exception = null ) (SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを生成します。
static
SFBBaseSmp
FactoryByQuery( SFBQuerySmpConstRef query , AEECLSID id , SFCErrorPtr exception = null ) (SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを指定した SFBQuery インスタンスを使用して生成します。

SFBWebUtil::DecodeBase64
Base64 エンコードされた文字列をデコードしてバッファに格納します。
[ public ]
SInt32 DecodeBase64(
    VoidConstPtr in   // 入力
                      // Base64 でエンコードされ、null 終結 
    VoidPtr out       // 出力バッファ
);
[ public ]
SInt32 DecodeBase64(
    SFXBufferConstRef in   // 入力
                           // Base64 でエンコードされ、null 終結
    SFXBufferPtr out       // 出力バッファ 
                           // null の場合、何もせずに -2 を返す
);

参照

BREW API IWEBUTIL_DecodeBase64 | SFBWebUtil::EncodeBase64


SFBWebUtil::EncodeBase64
バッファ内のデータを Base64 でエンコードします。
[ public ]
ACharPtr EncodeBase64(
    VoidConstPtr in   // 入力
    SInt32 length     // in の長さ
    VoidPtr out       // 出力バッファ
);
[ public ]
Void EncodeBase64(
    SFXBufferConstRef in   // 入力
    SFXBufferPtr out       // 出力バッファ
                           // null の場合、メソッドは何もしないで終了する
);
[ public ]
SFXBuffer EncodeBase64(
    SFXBufferConstRef in   // 入力
);

参照

BREW API IWEBUTIL_EncodeBase64 | SFBWebUtil::DecodeBase64


SFBWebUtil::MakeUrl
RFC2396 に従い、ベース URL と相対 URL から完全 URL を作成します。
[ public ]
SInt32 MakeUrl(
    ACharConstPtr base       // null 終結のベース URL ( null の場合もある)
    ACharConstPtr relative   // null 終結の相対ベース URL ( null の場合もある)
    ACharPtr result          // 完全 URL の格納先( null の場合もある)
    SInt32 resultLength      // result のサイズ( バイト数 )
);
[ public ]
SInt32 MakeUrl(
    SFXAnsiStringConstRef base       // null 終結のベース URL ( null の場合もある)
    SFXAnsiStringConstRef relative   // null 終結の相対ベース URL ( null の場合もある)
    SFXAnsiStringPtr result          // 完全 URL の格納先( null の場合もある)
);
[ public ]
SFXAnsiString MakeUrl(
    SFXAnsiStringConstRef base       // null 終結のベース URL ( null の場合もある)
    SFXAnsiStringConstRef relative   // null 終結の相対ベース URL ( null の場合もある)
);

参照

BREW API IWEBUTIL_MakeUrl


SFBWebUtil::NewInstance
SFBWebUtil インスタンスを生成します。
[ public, static ]
SFBWebUtilSmp NewInstance(
    SFCErrorPtr exception = null   // エラー値
);
[ public, static ]
SFBWebUtilSmp NewInstance(
    AEECLSID id                    // クラスID
    SFCErrorPtr exception = null   // エラー値
);

SFBWebUtil::ParseFormFields
フォーム フィールドを構文解析します。
[ public ]
SInt32 ParseFormFields(
    ACharHandle in         // x-www-urlencoded エンコードの名前 / 値のペアリストへのポインタ
                           // リターン時は、次のフォームフィールドの先頭に設定される in と *in 
                           // どちらも null であってはならない
    WebFormField* fields   // 構文解析後の値を格納する WebFormFields の配列 null の場合もある
    SInt32 maxFields       // fields 内の要素の数
    UInt32 flags           // 0、または WEBUTIL_PFFF_NODECODE の論理 OR 名前と値の URL デコードを抑止する
                           // fields には、未加工の null 終結しない値が格納される
                           // これは、フォームフィールドへの入力にバイナリデータが予想される場合に有用
                           // ( null を %00 としてエンコードできるため)
                           // WEBUTIL_PFFF_NOMUTATE - URL デコードと null 終結を抑止する fields には、
                           // *in へのポインタが格納される
                           // それ以上の構文解析はコール側で処理する必要がある
                           // in は次のフォームフィールドに設定されるが、*in が指しているメモリーは変更できない
);

解説

x-www-urlencoded エンコードの文字列 *in からの次の maxFields フォーム フィールドを構文解析し、名前 / 値の各ペアの先頭へのポインタを、 fields の配列要素に順次格納し、構文解析されていない次のフォーム フィールドの 先頭まで in を進めます。

参照

BREW API IWEBUTIL_ParseFormFields | SFBWebUtil::UrlDecode | WebFormField


SFBWebUtil::ParseUrl
URL 文字列をその構成要素に構文解析します。
[ public ]
SFCError ParseUrl(
    ACharConstPtr url   // 構文解析するnull 終結文字列
    UrlParts* parts     // 読み込む UrlParts 構造体へのポインタ
);
[ public ]
SFCError ParseUrl(
    SFXAnsiStringConstRef url   // 構文解析する null 終結文字列
    UrlParts* parts             // 読み込む UrlParts 構造体へのポインタ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 失敗したとき: SFERR_FAILED

参照

BREW API IWEBUTIL_ParseUrl | WebRespInfo


SFBWebUtil::UrlDecode
URL エンコードされた文字列内の文字をデコードします。
[ public ]
ACharPtr UrlDecode(
    ACharConstPtr in      // デコードするバイトへのポインタ
    SInt32Ptr inLength    // in のサイズリターン時に、消費されたバイト数に設定される
    ACharPtr out          // デコードの出力バッファ
    SInt32Ptr outLength   // 入力時は、out のサイズ 
                          // out が null の場合、指定したバッファサイズに設定される
                          // out が非 null の場合、デコードされたデータの長さに設定される
                          // この長さは、デコードされた in が out のサイズよりも短い場合に 
                          // out のサイズよりも短いことがある
);
[ public ]
Void UrlDecode(
    SFXAnsiStringConstRef in   // デコードするバイトへのポインタ
    SInt32Ptr inLength         // in のサイズリターン時に、消費されたバイト数に設定される
    SFXAnsiStringPtr out       // デコードの出力バッファ
    SInt32Ptr outLength        // 入力時は、out のサイズ
                               // out が null の場合、指定したバッファサイズに設定される
                               // out が非 null の場合、デコードされたデータの長さに設定される
                               // この長さは、デコードされた in が out のサイズよりも短い場合に 
                               // out のサイズよりも短いことがある
);

参照

BREW API IWEBUTIL_UrlDecode


SFBWebUtil::UrlEncode
RFC2936 に従い、URL に含めるため文字列内の文字をエンコードします。
[ public ]
ACharPtr UrlEncode(
    ACharConstPtr in      // エンコードする文字列へのポインタ
    SInt32Ptr inLength    // in の長さへのポインタリターン時に、正しくエンコードされたバイト数に設定される
    ACharPtr out          // エンコードしたバイトを書き込む場所カウント目的では null の場合もある
    SInt32Ptr outLength   // 入力時は、out のサイズ 
                          // out が null の場合、指定したバッファサイズに設定される
                          // out が非 null の場合、エンコードされたデータの長さに設定される
                          // この長さは、エンコードされた in が sizeof( out ) よりも短い場合に 
                          // sizeof( out )よりも短いことがある
);
[ public ]
Void UrlEncode(
    SFXAnsiStringConstRef in   // エンコードする文字列へのポインタ
    SInt32Ptr inLength         // in の長さへのポインタリターン時に、正しくエンコードされたバイト数に設定される
    SFXAnsiStringPtr out       // エンコードしたバイトを書き込む場所カウント目的では null の場合もある
    SInt32Ptr outLength        // 入力時は、out のサイズ 
                               // out が null の場合、指定したバッファサイズに設定される
                               // out が非 null の場合、エンコードされたデータの長さに設定される
                               // この長さは、エンコードされた in が sizeof( out ) よりも短い場合に 
                               // sizeof( out )よりも短いことがある
);

参照

BREW API IWEBUTIL_UrlEncode