ヘッダーをスキップ
Oracle® C++ Call Interfaceプログラマーズ・ガイド,
11g リリース2 (11.2)
B72452-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

Subscriptionクラス

Subscriptionクラスは、通知に対するサブスクライバの登録に必要な情報と操作をカプセル化します。

表13-47 Subscriptionクラスで使用される列挙値

属性 オプション
Presentation
  • PRES_DEFAULTは、イベント通知がデフォルトの形式であることを示します。

  • PRES_XMLは、イベント通知がXML形式であることを示します。

Protocol
  • PROTO_CBKは、クライアントが、デフォルトのシステム・プロトコルによりイベント通知を受信することを示します。

  • PROTO_MAILは、クライアントが、xyz@oracle.comなどの電子メール経由でイベント通知を受信することを示します。データベースでは、この電子メール・アドレスが有効かどうかはチェックされません。

  • PROTO_SERVERは、クライアントが、schema.procedureなどのデータベースの起動済PL/SQLプロシージャ経由でイベント通知を受信することを示します。サブスクライバには、プロシージャに対する適切なパーミッションが必要です。

  • PROTO_HTTPは、クライアントが、http://www.oracle.com:80などのHTTP URL経由でイベント通知を受信することを示します。データベースでは、このURLが有効かどうかはチェックされません。

Namespace
  • NS_ANONYMOUSは、登録が匿名ネームスペースで行われることを示します。

  • NS_AQは、登録がOracle Streams Advanced Queuingのネームスペースで行われることを示します。


表13-48 Subscriptionメソッドの概要

メソッド 概要

Subscription()


Subscriptionクラスのコンストラクタです。

getCallbackContext()


コールバックのコンテキストを取り出します。

getDatabaseServersCount()


クライアントが登録する可能性のあるデータベース・サーバーの数を取得します。

getDatabaseServerNames()


クライアントが通知対象を登録した全データベース・サーバーの名前を戻します。

getNotifyCallback()


登録済コールバック関数へのポインタを戻します。

getPayload()


ポスティング前にSubscriptionオブジェクトで設定されていたペイロードを取り出します。

getSubscriptionName()


Subscriptionの名前を取り出します。

getSubscriptionNamespace()


Subscriptionのネームスペースを取り出します。

getRecipientName()


Subscription受信者の名前を取り出します。

getPresentation()


通知表示モードを取り出します。

getProtocol()


通知プロトコルを取り出します。

isNull()


SubscriptionNULLかどうかを確認します。

operator=()


Subscriptionの代入演算子です。

setCallbackContext()


OCIプロトコル用のコールバック関数を登録します。

setDatabaseServerNames()


クライアントに通知を送信するデータベース・サーバーの識別名を指定します。

setNotifyCallback()


ユーザー・コールバックに渡されるコンテキストを指定します。

setNull()


SubscriptionオブジェクトをNULLに設定し、このオブジェクトに関連付けられているメモリーを解放します。

setSubscriptionName()


サブスクリプションの名前を指定します。

setSubscriptionNamespace()


サブスクリプションが使用されるネームスペースを指定します。

setPayload()


通知のバッファの内容を指定します。

setRecipientName()


通知受信者の名前を指定します。

setPresentation()


クライアントで通知の受信に使用する表示モードを指定します。

setProtocol()


クライアントで通知の受信に使用するプロトコルを指定します。

setSubscriptionName()


サブスクリプションの名前を指定します。

setSubscriptionNamespace()


サブスクリプションが使用されるネームスペースを指定します。

setRecipientName()


通知受信者の名前を指定します。



Subscription()

Subscriptionクラスのコンストラクタです。

構文 説明
Subscription (
   const Environment *env );
指定されたEnvironment内でSubscriptionを作成します。
Subscription(
   const Subscription& sub);
コピー・コンストラクタです。

構文

Subscription(const Subscription& sub);
パラメータ 説明
env
Environmentを指定します。
sub
元のSubscriptionです。


getCallbackContext()

コールバックのコンテキストを取り出します。

構文

void* getCallbackContext() const;

getDatabaseServersCount()

クライアントが登録する可能性のあるデータベース・サーバーの数を取り出します。

構文

unsigned int getDatabaseServersCount() const;

getDatabaseServerNames()

クライアントが通知対象を登録した全データベース・サーバーの名前を戻します。

構文

vector<string> getDatabaseServerNames() const;

getNotifyCallback()

このSubscriptionの登録済コールバック関数へのポインタを戻します。

構文

unsigned int (*getNotifyCallback() const)(
   Subscription& sub,
   NotifyResult *nr);
パラメータ 説明
sub
Subscriptionを指定します。
nr
NotifyResultを指定します。


getPayload()

ポスティング前にSubscriptionオブジェクトで設定されていたペイロードを取り出します。

構文

Bytes getCPayload() const;

getSubscriptionName()

サブスクリプションの名前を取り出します。

構文

string getSubscriptionName() const;

getSubscriptionNamespace()

サブスクリプションのネームスペースを取得します。サブスクリプション名には、ネームスペースとの一貫性が必要です。有効なNamespace値は、NS_AQおよびNS_ANONYMOUSです。表13-47の定義を参照してください。

構文

Namespace getSubscriptionNamespace() const;

getRecipientName()

通知受信者の名前を取得します。可能な戻り値は、プロトコルに応じて電子メール・アドレス、HTTPのURLおよびPL/SQLプロシージャです。

構文

string getRecipientName() const;

getPresentation()

クライアントで通知の受信に使用する表示モードを取得します。有効なPresentation値は、表13-47の定義を参照してください。

構文

Presentation getPresentation() const;

getProtocol()

クライアントで通知の受信に使用するプロトコルを取得します。有効なProtocol値は、表13-47の定義を参照してください。

構文

Protocol getProtocol() const;

isNull()

SubscriptionNULLの場合はTRUEを、それ以外の場合はFALSEを戻します。

構文

bool isNull() const;

operator=()

Subscriptionの代入演算子です。

構文

void operator=(
   const Subscription& sub); 
パラメータ 説明
sub
元のSubscriptionです。


setCallbackContext()

プロトコルがPROTO_CBKの場合に通知のコールバック関数を登録します。表13-47の定義を参照してください。このコールにはコンテキスト登録も含まれます。

構文

void setCallbackContext(
   void *ctx);
パラメータ 説明
ctx
設定するコンテキストを指定します。


setDatabaseServerNames()

クライアントに通知を送信するデータベース・サーバーの識別名のリストを指定します。

構文

void setDatabaseServerNames(
   const vector<string>& dbsrv);
パラメータ 説明
dbsrv
データベース識別名のリストを指定します。


setNotifyCallback()

クライアントでユーザー・コールバックに渡すコンテキストを設定します。プロトコルがPROTO_CBKに設定されているか未指定の場合、サブスクリプション・ハンドルを登録する前に、この属性を設定する必要があります。

構文

void setNotifyCallback( 
   unsigned int (*callback)(
                    Subscription& sub,
                    NotifyResult *nr));
パラメータ 説明
callback
ユーザー・コールバック関数を指定します。
sub
Subscriptionオブジェクトを指定します。
nr
NotifyResultオブジェクトを指定します。


setNull()

SubscriptionオブジェクトをNULLに設定し、このオブジェクトに関連付けられているメモリーを解放します。

構文

void setNull();

setPayload()

Subscriptionにポストされるペイロードに対応するバッファの内容を設定します。

構文

void setPayload(
   const Bytes& payload);
パラメータ 説明
payload
通知の内容を指定します。


setPresentation()

クライアントで通知の受信に使用する表示モードを設定します。

構文

void setPresentation(
   Presentation pres);
パラメータ 説明
pres
表示モードは、表13-47の定義を参照してください。


setProtocol()

クライアントでイベント通知の受信に使用するProtocolを設定します。表13-47の定義を参照してください。

構文

void setProtocol(
   Protocol prot);
パラメータ 説明
prot
プロトコルのモードを指定します。


setSubscriptionName()

サブスクリプションの名前を設定します。すべてのサブスクリプションはサブスクリプション名で識別され、サブスクリプション名は指定の長さのバイト・シーケンスで構成されます。

ネームスペースがNS_AQの場合、サブスクリプション名は次のようになります。

構文

void setSubscriptionName(
   const string& name);
パラメータ 説明
name
サブスクリプション名を指定します。


setSubscriptionNamespace()

サブスクリプションが使用されるネームスペースを指定します。サブスクリプション名には、ネームスペースとの一貫性が必要です。デフォルト値はNS_AQです。

構文

void setSubscriptionNamespace(
   Namespace nameSpace);
パラメータ 説明
nameSpace
サブスクリプションが使用されるネームスペースを指定します。表13-47の定義を参照してください。


setRecipientName()

通知受信者の名前を設定します。

構文

void setRecipientName( 
   const string& name);
パラメータ 説明
name
通知受信者の名前を指定します。