Subscriptionクラスは、通知に対するサブスクライバの登録に必要な情報と操作をカプセル化します。
表13-47 Subscriptionクラスで使用される列挙値
属性 | オプション |
---|---|
Presentation |
|
Protocol |
|
Namespace |
|
メソッド | 概要 |
---|---|
|
|
|
コールバックのコンテキストを取り出します。 |
|
クライアントが登録する可能性のあるデータベース・サーバーの数を取得します。 |
|
クライアントが通知対象を登録した全データベース・サーバーの名前を戻します。 |
|
登録済コールバック関数へのポインタを戻します。 |
|
ポスティング前に |
|
|
|
|
|
|
|
通知表示モードを取り出します。 |
|
通知プロトコルを取り出します。 |
|
|
|
|
|
OCIプロトコル用のコールバック関数を登録します。 |
|
クライアントに通知を送信するデータベース・サーバーの識別名を指定します。 |
|
ユーザー・コールバックに渡されるコンテキストを指定します。 |
|
|
|
サブスクリプションの名前を指定します。 |
|
サブスクリプションが使用されるネームスペースを指定します。 |
|
通知のバッファの内容を指定します。 |
|
通知受信者の名前を指定します。 |
|
クライアントで通知の受信に使用する表示モードを指定します。 |
|
クライアントで通知の受信に使用するプロトコルを指定します。 |
|
サブスクリプションの名前を指定します。 |
|
サブスクリプションが使用されるネームスペースを指定します。 |
|
通知受信者の名前を指定します。 |
Subscription
クラスのコンストラクタです。
構文 | 説明 |
---|---|
Subscription ( const Environment *env ); |
指定されたEnvironment 内でSubscription を作成します。 |
Subscription( const Subscription& sub); |
コピー・コンストラクタです。 |
構文
Subscription(const Subscription& sub);
パラメータ | 説明 |
---|---|
env |
Environment を指定します。 |
sub |
元のSubscription です。 |
コールバックのコンテキストを取り出します。
構文
void* getCallbackContext() const;
クライアントが登録する可能性のあるデータベース・サーバーの数を取り出します。
構文
unsigned int getDatabaseServersCount() const;
クライアントが通知対象を登録した全データベース・サーバーの名前を戻します。
構文
vector<string> getDatabaseServerNames() const;
このSubscription
の登録済コールバック関数へのポインタを戻します。
構文
unsigned int (*getNotifyCallback() const)( Subscription& sub, NotifyResult *nr);
パラメータ | 説明 |
---|---|
sub |
Subscription を指定します。 |
nr |
NotifyResult を指定します。 |
ポスティング前にSubscription
オブジェクトで設定されていたペイロードを取り出します。
構文
Bytes getCPayload() const;
サブスクリプションの名前を取り出します。
構文
string getSubscriptionName() const;
サブスクリプションのネームスペースを取得します。サブスクリプション名には、ネームスペースとの一貫性が必要です。有効なNamespace
値は、NS_AQ
およびNS_ANONYMOUS
です。表13-47の定義を参照してください。
構文
Namespace getSubscriptionNamespace() const;
通知受信者の名前を取得します。可能な戻り値は、プロトコルに応じて電子メール・アドレス、HTTPのURLおよびPL/SQLプロシージャです。
構文
string getRecipientName() const;
クライアントで通知の受信に使用する表示モードを取得します。有効なPresentation
値は、表13-47の定義を参照してください。
構文
Presentation getPresentation() const;
クライアントで通知の受信に使用するプロトコルを取得します。有効なProtocol
値は、表13-47の定義を参照してください。
構文
Protocol getProtocol() const;
Subscription
がNULL
の場合はTRUE
を、それ以外の場合はFALSE
を戻します。
構文
bool isNull() const;
Subscription
の代入演算子です。
構文
void operator=( const Subscription& sub);
パラメータ | 説明 |
---|---|
sub |
元のSubscription です。 |
プロトコルがPROTO_CBK
の場合に通知のコールバック関数を登録します。表13-47の定義を参照してください。このコールにはコンテキスト登録も含まれます。
構文
void setCallbackContext( void *ctx);
パラメータ | 説明 |
---|---|
ctx |
設定するコンテキストを指定します。 |
クライアントに通知を送信するデータベース・サーバーの識別名のリストを指定します。
構文
void setDatabaseServerNames( const vector<string>& dbsrv);
パラメータ | 説明 |
---|---|
dbsrv |
データベース識別名のリストを指定します。 |
クライアントでユーザー・コールバックに渡すコンテキストを設定します。プロトコルがPROTO_CBK
に設定されているか未指定の場合、サブスクリプション・ハンドルを登録する前に、この属性を設定する必要があります。
構文
void setNotifyCallback( unsigned int (*callback)( Subscription& sub, NotifyResult *nr));
パラメータ | 説明 |
---|---|
callback |
ユーザー・コールバック関数を指定します。 |
sub |
Subscription オブジェクトを指定します。 |
nr |
NotifyResult オブジェクトを指定します。 |
Subscription
オブジェクトをNULL
に設定し、このオブジェクトに関連付けられているメモリーを解放します。
構文
void setNull();
Subscription
にポストされるペイロードに対応するバッファの内容を設定します。
構文
void setPayload( const Bytes& payload);
パラメータ | 説明 |
---|---|
payload |
通知の内容を指定します。 |
クライアントで通知の受信に使用する表示モードを設定します。
構文
void setPresentation( Presentation pres);
パラメータ | 説明 |
---|---|
pres |
表示モードは、表13-47の定義を参照してください。 |
クライアントでイベント通知の受信に使用するProtocol
を設定します。表13-47の定義を参照してください。
構文
void setProtocol( Protocol prot);
パラメータ | 説明 |
---|---|
prot |
プロトコルのモードを指定します。 |
サブスクリプションの名前を設定します。すべてのサブスクリプションはサブスクリプション名で識別され、サブスクリプション名は指定の長さのバイト・シーケンスで構成されます。
ネームスペースがNS_AQ
の場合、サブスクリプション名は次のようになります。
シングル・コンシューマ・キューで登録する場合はSCHEMA.QUEUE
マルチ・コンシューマ・キューで登録する場合はSCHEMA.QUEUE:CONSUMER_NAME
構文
void setSubscriptionName( const string& name);
パラメータ | 説明 |
---|---|
name |
サブスクリプション名を指定します。 |
サブスクリプションが使用されるネームスペースを指定します。サブスクリプション名には、ネームスペースとの一貫性が必要です。デフォルト値はNS_AQ
です。
構文
void setSubscriptionNamespace( Namespace nameSpace);
パラメータ | 説明 |
---|---|
nameSpace |
サブスクリプションが使用されるネームスペースを指定します。表13-47の定義を参照してください。 |
通知受信者の名前を設定します。
構文
void setRecipientName( const string& name);
パラメータ | 説明 |
---|---|
name |
通知受信者の名前を指定します。 |