#include <CorbaNaming.h>
Public 型 | |
typedef CosNaming::NamingContext::NotFound | NotFound |
typedef CosNaming::NamingContext::CannotProceed | CannotProceed |
typedef CosNaming::NamingContext::InvalidName | InvalidName |
typedef CosNaming::NamingContext::AlreadyBound | AlreadyBound |
typedef CosNaming::NamingContext::NotEmpty | NotEmpty |
typedef CosNaming::NamingContextExt::InvalidAddress | InvalidAddress |
typedef std::vector< CORBA::Object_ptr > | ObjectList |
Public メソッド | |
CorbaNaming (CORBA::ORB_ptr orb) | |
CorbaNaming (CORBA::ORB_ptr orb, const char *name_server) | |
virtual | ~CorbaNaming () |
void | init (const char *name_server) |
void | bind (const CosNaming::Name &name, CORBA::Object_ptr obj, const bool force=1) throw (NotFound, CannotProceed, InvalidName, AlreadyBound) |
Object を bind する. | |
void | bindByString (const char *string_name, CORBA::Object_ptr obj, const bool force=1) throw (NotFound, CannotProceed, InvalidName, AlreadyBound) |
Object を bind する. | |
void | bindRecursive (CosNaming::NamingContext_ptr context, const CosNaming::Name &name, CORBA::Object_ptr obj) throw (CannotProceed, InvalidName, AlreadyBound) |
途中のコンテキストを bind しながら Object を bind する. | |
void | rebind (const CosNaming::Name &name, CORBA::Object_ptr obj, const bool force=1) throw (NotFound, CannotProceed, InvalidName) |
Object を rebind する. | |
void | rebindByString (const char *string_name, CORBA::Object_ptr obj, const bool force=1) throw (NotFound, CannotProceed, InvalidName) |
Object を rebind する. | |
void | rebindRecursive (CosNaming::NamingContext_ptr context, const CosNaming::Name &name, CORBA::Object_ptr obj) throw (CannotProceed, InvalidName) |
途中のコンテキストを bind しながら Object を rebind する. | |
void | bindContext (const CosNaming::Name &name, CosNaming::NamingContext_ptr name_cxt, const bool force=1) throw (NotFound, CannotProceed, InvalidName, AlreadyBound) |
NamingContext を bind する. | |
void | bindContext (const char *string_name, CosNaming::NamingContext_ptr name_cxt, const bool force=1) throw (NotFound, CannotProceed, InvalidName, AlreadyBound) |
NamingContext を bind する. | |
void | bindContextRecursive (CosNaming::NamingContext_ptr context, const CosNaming::Name &name, CosNaming::NamingContext_ptr name_cxt) |
NamingContext を bind する. | |
void | rebindContext (const CosNaming::Name &name, CosNaming::NamingContext_ptr name_cxt, const bool force=1) throw (NotFound, CannotProceed, InvalidName) |
NamingContext を rebind する. | |
void | rebindContext (const char *string_name, CosNaming::NamingContext_ptr name_cxt, const bool force=1) throw (NotFound, CannotProceed, InvalidName) |
NamingContext を rebind する. | |
void | rebindContextRecursive (CosNaming::NamingContext_ptr context, const CosNaming::Name &name, CosNaming::NamingContext_ptr name_cxt) |
CORBA::Object_ptr | resolve (const CosNaming::Name &name) throw (NotFound, CannotProceed, InvalidName) |
Object を name から解決する. | |
CORBA::Object_ptr | resolve (const char *string_name) throw (NotFound, CannotProceed, InvalidName) |
Object を name から解決する. | |
void | unbind (const CosNaming::Name &name) throw (NotFound, CannotProceed, InvalidName) |
指定された名前のオブジェクトの bind を解除する | |
void | unbind (const char *string_name) throw (NotFound, CannotProceed, InvalidName) |
指定された名前のオブジェクトの bind を解除する | |
CosNaming::NamingContext_ptr | newContext () |
新しいコンテキストを生成する | |
CosNaming::NamingContext_ptr | bindNewContext (const CosNaming::Name &name, bool force=true) throw (NotFound, CannotProceed, InvalidName, AlreadyBound) |
新しいコンテキストを bind する | |
CosNaming::NamingContext_ptr | bindNewContext (const char *string_name, bool force=true) throw (NotFound, CannotProceed, InvalidName, AlreadyBound) |
新しいコンテキストを bind する | |
void | destroy (CosNaming::NamingContext_ptr context) throw (NotEmpty) |
NamingContext を非アクティブ化する. | |
void | destroyRecursive (CosNaming::NamingContext_ptr context) throw (NotEmpty, NotFound, CannotProceed, InvalidName) |
NamingContext を再帰的に下って非アクティブ化する. | |
void | clearAll () |
すべての Binding を削除する | |
void | list (CosNaming::NamingContext_ptr name_cxt, unsigned long how_many, CosNaming::BindingList_var &bl, CosNaming::BindingIterator_var &bi) |
与えられた NamingContext の Binding を取得する. | |
char * | toString (const CosNaming::Name &name) throw (InvalidName) |
与えられた NameComponent の文字列表現を返す. | |
CosNaming::Name | toName (const char *string_name) throw (InvalidName) |
与えられた文字列表現を NameComponent に分解する. | |
char * | toUrl (char *addr, char *string_name) throw (InvalidAddress, InvalidName) |
与えられた addre と string_name から URL表現を取得する. | |
CORBA::Object_ptr | resolveStr (const char *string_name) throw (NotFound, CannotProceed, InvalidName, AlreadyBound) |
与えられた文字列表現を resolve しオブジェクトを返す. | |
CORBA::Object_ptr | bindOrResolve (CosNaming::NamingContext_ptr context, const CosNaming::Name &name, CORBA::Object_ptr obj) |
名前をバインドまたは解決する. | |
CosNaming::NamingContext_ptr | bindOrResolveContext (CosNaming::NamingContext_ptr context, const CosNaming::Name &name, CosNaming::NamingContext_ptr new_context) |
名前をバインドまたは解決する. | |
CosNaming::NamingContext_ptr | bindOrResolveContext (CosNaming::NamingContext_ptr context, const CosNaming::Name &name) |
名前をバインドまたは解決する. | |
const char * | getNameServer () |
ネームサーバの名前を取得する | |
CosNaming::NamingContext_ptr | getRootContext () |
ルートコンテキストを取得する | |
bool | isNamingContext (CORBA::Object_ptr obj) |
オブジェクトがネーミングコンテキストか判別する | |
bool | isNamingContext (const CosNaming::Name &name) |
与えられた名前がネーミングコンテキストかどうか. | |
bool | isNamingContext (const char *string_name) |
与えられた名前がネーミングコンテキストかどうか. | |
CosNaming::Name | subName (const CosNaming::Name &name, long begin, long end=-1) |
ネームコンポーネントの部分を返す | |
Protected メソッド | |
void | nameToString (const CosNaming::Name &name, char *string_name, unsigned long slen) |
ネームコンポーネントの文字列表現を取得する | |
CORBA::ULong | getNameLength (const CosNaming::Name &name) |
ネームコンポーネントの文字列表現時の文字長を取得する | |
unsigned int | split (const std::string &input, const std::string &delimiter, std::vector< std::string > &results) |
文字列の分割. | |
Protected 変数 | |
CORBA::ORB_var | m_varORB |
std::string | m_nameServer |
CosNaming::NamingContextExt_var | m_rootContext |
このクラスは、CosNaming::NamingContext に対するラッパークラスである。 CosNaming::NamingContext が持つオペレーションとほぼ同じ機能の オペレーションを提供するとともに、ネームコンポーネント CosNaming::Name の代わりに文字列による名前表現を受け付けるオペレーションも提供する。
オブジェクトは生成時、あるいは生成直後に CORBA ネームサーバに接続し 以後、このネームサーバのルートコンテキストに対して種々のオペレーション を処理する。 深い階層のネーミングコンテキストの作成やオブジェクトのバインドにおいて、 途中のコンテキストが存在しない場合でも、強制的にコンテキストをバインド し目的のコンテキストやオブジェクトのバインドを行うこともできる。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Object を bind する. CosNaming::bind() とほぼ同等の働きをするが、常に与えられたネームサーバの ルートコンテキストに対してbind()が呼び出される点が異なる。 Name <name> と Object <obj> を当該 NamingContext 上にバインドする。 c_n が n 番目の NameComponent をあらわすとすると、 name が n 個の NameComponent から成るとき、以下のように扱われる。 cxt->bind(<c_1, c_2, ... c_n>, obj) は以下の操作と同等である。 cxt->resolve(<c_1, ... c_(n-1)>)->bind(<c_n>, obj) すなわち、1番目からn-1番目のコンテキストを解決し、n-1番目のコンテキスト 上に name <n> として obj を bind する。 名前解決に参加する <c_1, ... c_(n-1)> の NemingContext は、 bindContext() や rebindContext() で既にバインド済みでなければならない。 もし <c_1, ... c_(n-1)> の NamingContext が存在しない場合には、 NotFound 例外が発生する。 ただし、強制バインドフラグ force が true の時は、<c_1, ... c_(n-1)> が存在しない場合にも、再帰的にコンテキストをバインドしながら、 最終的に obj を名前 name <c_n> にバインドする。 いずれの場合でも、n-1番目のコンテキスト上に name<n> のオブジェクト (Object あるいは コンテキスト) がバインドされていれば AlreadyBound 例外が発生する。
|
|
Object を bind する. Object を bind する際に与える名前が文字列表現であること以外は、bind() と同じである。bind(toName(string_name), obj) と等価。
|
|
NamingContext を bind する. bind されるオブジェクトが NamingContext であることを除いて bind() と同じである。
|
|
NamingContext を bind する. bind されるオブジェクトが NamingContext であることを除いて bind() と同じである。
|
|
NamingContext を bind する. bind されるオブジェクトが NamingContext であることを除いて bindRecursive() と同じである。
|
|
新しいコンテキストを bind する 与えられた name に対して新しいコンテキストをバインドする。 生成された NamingContext はネームサーバ上で生成されたものである。
|
|
新しいコンテキストを bind する 与えられた name に対して新しいコンテキストをバインドする。 生成された NamingContext はネームサーバ上で生成されたものである。
|
|
名前をバインドまたは解決する.
|
|
名前をバインドまたは解決する.
|
|
名前をバインドまたは解決する.
|
|
途中のコンテキストを bind しながら Object を bind する. context で与えられた NamingContext に対して、name で指定された ネームコンポーネント <c_1, ... c_(n-1)> を NamingContext として 解決しながら、名前 <c_n> に対して obj を bind する。 もし、<c_1, ... c_(n-1)> に対応する NamingContext がない場合には 新たな NamingContext をバインドする。 最終的に <c_1, c_2, ..., c_(n-1)> に対応する NamingContext が生成 または解決された上で、CosNaming::bind(<c_n>, object) が呼び出される。 このとき、すでにバインディングが存在すれば AlreadyBound例外が発生する。 途中のコンテキストを解決する過程で、解決しようとするコンテキストと 同じ名前の NamingContext ではない Binding が存在する場合、 CannotProceed 例外が発生し処理を中止する。
|
|
すべての Binding を削除する
|
|
NamingContext を非アクティブ化する. context で指定された NamingContext を非アクティブ化する。 context に他のコンテキストがバインドされている場合は NotEmpty 例外が 発生する。
|
|
NamingContext を再帰的に下って非アクティブ化する.
|
|
ネームコンポーネントの文字列表現時の文字長を取得する
|
|
ネームサーバの名前を取得する
|
|
ルートコンテキストを取得する
|
|
|
|
与えられた名前がネーミングコンテキストかどうか.
|
|
与えられた名前がネーミングコンテキストかどうか.
|
|
オブジェクトがネーミングコンテキストか判別する
|
|
与えられた NamingContext の Binding を取得する.
|
|
ネームコンポーネントの文字列表現を取得する
|
|
新しいコンテキストを生成する 与えられたネームサーバ上で生成された NamingContext を返す。 返された NamingContext は bind されていない。
|
|
Object を rebind する. name で指定された Binding がすでに存在する場合を除いて bind() と同じ である。バインディングがすでに存在する場合には、新しいバインディングに 置き換えられる。
|
|
Object を rebind する. Object を rebind する際に与える名前が文字列表現であること以外は rebind() と同じである。rebind(toName(string_name), obj) と等価。
|
|
NamingContext を rebind する. name で指定されたコンテキストがすでに存在する場合を除いて bindContext() と同じである。 バインディングがすでに存在する場合には、新しいバインディングに 置き換えられる。
|
|
NamingContext を rebind する. name で指定されたコンテキストがすでに存在する場合を除いて bindContext() と同じである。 バインディングがすでに存在する場合には、新しいバインディングに 置き換えられる。
|
|
|
|
途中のコンテキストを bind しながら Object を rebind する. name <c_n> で指定された NamingContext もしくは Object がすでに存在する 場合を除いて bindRecursive() と同じである。 name <c_n> で指定されたバインディングがすでに存在する場合には、 新しいバインディングに置き換えられる。
|
|
Object を name から解決する. name に bind されているオブジェクト参照を返す。 ネームコンポーネント <c_1, c_2, ... c_n> は再帰的に解決される。 CosNaming::resolve() とほぼ同等の働きをするが、常に与えられた ネームサーバのルートコンテキストに対して resolve() が呼び出される点が 異なる。
|
|
Object を name から解決する. name に bind されているオブジェクト参照を返す。 ネームコンポーネント <c_1, c_2, ... c_n> は再帰的に解決される。 CosNaming::resolve() とほぼ同等の働きをするが、常に与えられた ネームサーバのルートコンテキストに対して resolve() が呼び出される点が 異なる。
|
|
与えられた文字列表現を resolve しオブジェクトを返す.
|
|
文字列の分割.
|
|
ネームコンポーネントの部分を返す
|
|
与えられた文字列表現を NameComponent に分解する.
|
|
与えられた NameComponent の文字列表現を返す.
|
|
与えられた addre と string_name から URL表現を取得する.
|
|
指定された名前のオブジェクトの bind を解除する name に bind されているオブジェクト参照を返す。 ネームコンポーネント <c_1, c_2, ... c_n> は再帰的に解決される。 CosNaming::unbind() とほぼ同等の働きをするが、常に与えられた ネームサーバのルートコンテキストに対して unbind() が呼び出される点が 異なる。
|
|
指定された名前のオブジェクトの bind を解除する name に bind されているオブジェクト参照を返す。 ネームコンポーネント <c_1, c_2, ... c_n> は再帰的に解決される。 CosNaming::unbind() とほぼ同等の働きをするが、常に与えられた ネームサーバのルートコンテキストに対して unbind() が呼び出される点が 異なる。
|
|
|
|
|
|
|