Subscriptionクラスは、通知に対するサブスクライバの登録に必要な情報と操作をカプセル化します。
表13-46 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-46の定義を参照してください。
構文
Namespace getSubscriptionNamespace() const;
通知受信者の名前を取得します。可能な戻り値は、プロトコルに応じて電子メール・アドレス、HTTPのURLおよびPL/SQLプロシージャです。
構文
string getRecipientName() const;
クライアントで通知の受信に使用する表示モードを取得します。有効なPresentation値は、表13-46の定義を参照してください。
構文
Presentation getPresentation() const;
クライアントで通知の受信に使用するプロトコルを取得します。有効なProtocol値は、表13-46の定義を参照してください。
構文
Protocol getProtocol() const;
SubscriptionがNULLの場合はTRUEを、それ以外の場合はFALSEを戻します。
構文
bool isNull() const;
Subscriptionの代入演算子です。
構文
void operator=( const Subscription& sub);
| パラメータ | 説明 |
|---|---|
sub |
元のSubscriptionです。 |
プロトコルがPROTO_CBKの場合に通知のコールバック関数を登録します。表13-46の定義を参照してください。このコールにはコンテキスト登録も含まれます。
構文
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-46の定義を参照してください。 |
クライアントでイベント通知の受信に使用するProtocolを設定します。表13-46の定義を参照してください。
構文
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-46の定義を参照してください。 |
通知受信者の名前を設定します。
構文
void setRecipientName( const string& name);
| パラメータ | 説明 |
|---|---|
name |
通知受信者の名前を指定します。 |