本文整理汇总了C++中cosnaming::NamingContext_var::list方法的典型用法代码示例。如果您正苦于以下问题:C++ NamingContext_var::list方法的具体用法?C++ NamingContext_var::list怎么用?C++ NamingContext_var::list使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cosnaming::NamingContext_var
的用法示例。
在下文中一共展示了NamingContext_var::list方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ListContext
void CNamingTreeCtrl::ListContext(HTREEITEM hItem)
{
CWaitCursor Waiter;
try
{
// Get the items object and make sure we have a context
CNamingObject* pObject = GetTreeObject(hItem);
CosNaming::NamingContext_var Context = pObject->NamingContext();
if(CORBA::is_nil(Context))
{
return;
}
// List the contexts entries
CosNaming::BindingList_var bl;
CosNaming::BindingIterator_var bi;
Context->list(LISTQUANTUM, bl, bi);
ListBindingList(hItem, Context, bl);
if(!CORBA::is_nil(bi))
{
while(bl->length())
{
CString Text;
Text.Format(ACE_TEXT ("This context contains more than %d entries, list the next %d?"), LISTQUANTUM, LISTQUANTUM);
if(MessageBox(Text, ACE_TEXT ("Question"), MB_YESNO) == IDNO)
{
return;
}
bi->next_n(LISTQUANTUM, bl);
ListBindingList(hItem, Context, bl);
}
bi->destroy();
}
}
catch(CORBA::Exception& ex)
{
MessageBox(ACE_TEXT_CHAR_TO_TCHAR (ex._rep_id()), ACE_TEXT ("CORBA::Exception"));
}
}
示例2: walkBranches
void COSBindingNode::walkBranches(CosNaming::NamingContext_var& nodeContext)
{
CosNaming::NamingContext_var newNodeContext;
CosNaming::Binding_var binding( new CosNaming::Binding );
CosNaming::BindingIterator_var biIterVar( new CosNaming::_objref_BindingIterator );
CosNaming::BindingIterator_out biIter( biIterVar );
CosNaming::BindingList_var biListVar( new CosNaming::BindingList );
CosNaming::BindingList_out biList( biListVar );
CORBA::Object_var obj;
unsigned i = 0;
if(CORBA::is_nil(nodeContext))
{
_isLeaf = true;
//No need to iterate through the tree; this is a leaf.
return;
}
try {
nodeContext->list(0, biList, biIter);
}
catch(CORBA::TRANSIENT&) {
_isDead = true;
}
catch(CORBA::INV_OBJREF&) {
_isLeaf = true;
}
catch(CORBA::Exception&) {
}
catch(...) {
std::cerr << "Other list exception." << std::endl;
}
if( isLeaf() )
{
//No need to iterate through the tree; this is a leaf.
return;
}
bool deadServantFound = false;
while(biIter->next_one(binding))
{
i++;
//get the context for this branch and add a new node
obj = nodeContext->resolve( binding->binding_name );
try {
obj->_non_existent();
}
catch(CORBA::TRANSIENT&)
{
//This is a dead servant.
deadServantFound = true;
addBranch(std::string(omni::omniURI::nameToString(binding->binding_name)));
//_branches.push_back(
// new COSBindingNode(
// omni::omniURI::nameToString( binding->binding_name ), true) );
}
catch(CORBA::COMM_FAILURE)
{
//This is a dead servant.
deadServantFound = true;
addBranch(std::string(omni::omniURI::nameToString(binding->binding_name)));
//_branches.push_back(
// new COSBindingNode(
// omni::omniURI::nameToString( binding->binding_name ), true) );
}
if( !deadServantFound )
{
try {
newNodeContext = CosNaming::NamingContext::
_narrow( obj );
}
catch(...)
{
std::cerr << "Branch list exception: _narrow" << std::endl;
}
try {
addBranch(std::string(omni::omniURI::nameToString(binding->binding_name)), newNodeContext);
//_branches.push_back(
// new COSBindingNode(
// omni::omniURI::nameToString( binding->binding_name ), newNodeContext)
// );
}
catch(CORBA::INV_OBJREF&)
{
std::cerr << "Branch list exception: push_back" << std::endl;
}
//.........这里部分代码省略.........
示例3: DeploymentFailure
void
ComponentDeployment::init()
throw (DeploymentFailure)
{
int dummy = 0;
CORBA::ORB_var orb = CORBA::ORB_init (dummy, 0);
//
// get NameService
//
if (! initNameService(orb))
{
throw DeploymentFailure();
}
//
// try to get a local AssemblyFactory
//
char hostname[256];
gethostname(hostname, 256);
CORBA::Object_var obj = resolveName(std::string("Qedo/AssemblyFactory/") + hostname);
assemblyFactory_ = Components::Deployment::AssemblyFactory::_narrow( obj.in() );
if( !CORBA::is_nil( assemblyFactory_.in() ) &&
!assemblyFactory_->_non_existent() )
{
std::cerr << "..... take assembly factory on " << hostname << std::endl;
return;
}
//
// try to get another one
//
std::cerr << "..... no local assembly factory, try to get another one" << std::endl;
obj = resolveName(std::string("Qedo/AssemblyFactory"));
CosNaming::NamingContext_var ctx = CosNaming::NamingContext::_narrow( obj.in() );
if( !CORBA::is_nil( ctx.in() ) )
{
CosNaming::BindingList_var list;
CosNaming::BindingIterator_var iter;
try
{
ctx->list(10, list.out(), iter.out());
}
catch (...)
{
}
for(CORBA::ULong i = 0; i < list->length(); i++)
{
try
{
obj = ctx->resolve(list[i].binding_name);
}
catch (...)
{
continue;
}
assemblyFactory_ = Components::Deployment::AssemblyFactory::_narrow( obj.in() );
if( !CORBA::is_nil( assemblyFactory_.in() ) &&
!assemblyFactory_->_non_existent() )
{
std::cerr << "..... take assembly factory on " << list[i].binding_name[0].id << std::endl;
return;
}
}
}
//
// use our own assembly
//
// todo
std::cerr << "!!!!! no assembly factory found" << std::endl;
throw DeploymentFailure();
}
示例4: gethostname
::ComponentServerActivatorInfoList* Explore_impl::explore_qedo()
{
//CORBA::ORB_var e_orb=CORBA::ORB_init(e_argc,e_argv);
// get name services reference
CORBA::Object_var nsobj = e_orb->resolve_initial_references("NameService");
CosNaming::NamingContext_var nc = CosNaming::NamingContext::_narrow(nsobj);
CORBA::Object_var saobj = e_orb ->resolve_initial_references("NameService");
/*
if (CORBA::is_nil(nc)) {
cerr << "Kann den Naming Service nicht finden!" << endl;
cin >> t;
exit(1);
}
if (CORBA::is_nil(saobj)) {
cout << "ServerActivator kann nicht gefunden werden" << endl;
cin >> t;
exit(1);
} */
// get server activator reference
char hostname[256];
//int gethostname;
gethostname (hostname, 256);
if (gethostname (hostname, 256))
{
std::cout<< "Kann Hostname nicht finden"<<endl;
e_orb->destroy();
exit(1);
}
CosNaming::Name cname;
cname.length(2);
cname[0].id=CORBA::string_dup("Qedo");
cname[0].kind=CORBA::string_dup("");
cname[1].id=CORBA::string_dup("Activators");
cname[1].kind=CORBA::string_dup("");
CosNaming::NamingContext_var ncQA = CosNaming::NamingContext::_nil();
CORBA::Object_var obj = nc->resolve(cname);
ncQA = CosNaming::NamingContext::_narrow (obj);
CORBA::Object_var server_activator_obj;
server_activator_obj=nc->resolve(cname);
CosNaming::BindingList *test;
CosNaming::BindingIterator *test2;
ncQA->list(100,test,test2);
CosNaming::BindingList_var bl = test;
CosNaming::BindingIterator_var bi = test2;
std::cout<< bl->length() << " ServerActivator gefunden" << endl;
ComponentServerActivatorInfoList_var Activatorlist=new ComponentServerActivatorInfoList;
for (int as=0;as<bl->length();as++) {
CosNaming::Binding b=bl->operator [](as);
CosNaming::Name name;
name.length(3);
name[0].id=CORBA::string_dup("Qedo");
name[0].kind=CORBA::string_dup("");
name[1].id=CORBA::string_dup("Activators");
name[1].kind=CORBA::string_dup("");
name[2].id=CORBA::string_dup(b.binding_name[0].id);
name[2].kind=CORBA::string_dup("");
try {
std::cout<< "ServerActivator: " << b.binding_name[0].id << endl;
server_activator_obj=nc->resolve(name);
}
catch (CosNaming::NamingContext::NotFound_catch &exec) {
std::cerr << "Notfound" << endl;
}
catch (CosNaming::NamingContext::CannotProceed_catch &exec) {
std::cerr << "CannotProceed" <<endl;
}
catch (CosNaming::NamingContext::InvalidName_catch &exec) {
std::cout << "InvalidName exception"<<endl;
}
//.........这里部分代码省略.........
示例5: addServerActivators
void DescriptorFrame::addServerActivators()
{
//
// init ORB
//
int dummy=0;
e_orb = CORBA::ORB_init (dummy, 0);
// get name services reference
std::string ns;
ns = Qedo::ConfigurationReader::instance()->lookup_config_value( "/General/NameService" );
CORBA::Object_var obj;
obj = e_orb -> string_to_object( ns.c_str() );
try {
nameService = CosNaming::NamingContext::_narrow(obj.in());
} catch (CORBA::SystemException) {};
if (!CORBA::is_nil(nameService))
{
CosNaming::Name cname;
cname.length(2);
cname[0].id=CORBA::string_dup("Qedo");
cname[0].kind=CORBA::string_dup("");
cname[1].id=CORBA::string_dup("Activators");
cname[1].kind=CORBA::string_dup("");
CosNaming::NamingContext_var ncQA = CosNaming::NamingContext::_nil();
CORBA::Object_var obj = nameService->resolve(cname);
ncQA = CosNaming::NamingContext::_narrow (obj);
try {
CosNaming::BindingList *test;
CosNaming::BindingIterator *test2;
ncQA->list(100,test,test2);
CosNaming::BindingList_var bl = test;
CosNaming::BindingIterator_var bi = test2;
DescriptorFrame::serverinfo si ;
for (CORBA::ULong as=0;as<bl->length();as++) {
CosNaming::Binding b=bl->operator [](as);
wxTreeItemId id = server_ctrl_->AppendItem(rootId, _T(CORBA::string_dup( b.binding_name[0].id) ),-1,-1,NULL);
server_ctrl_->SetItemBold(id,TRUE);
si.servername=CORBA::string_dup( b.binding_name[0].id);
si.itemid=id;
serverinfolist.push_back(si);
}
} catch (CORBA::SystemException&)
{ }
}
}