本文整理汇总了C++中cosnaming::NamingContext_var::unbind方法的典型用法代码示例。如果您正苦于以下问题:C++ NamingContext_var::unbind方法的具体用法?C++ NamingContext_var::unbind怎么用?C++ NamingContext_var::unbind使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cosnaming::NamingContext_var
的用法示例。
在下文中一共展示了NamingContext_var::unbind方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void
handle_sigint
( int signal )
{
std::cout << "\nGot Crtl-C" << std::endl;
std::cerr << "..... unbind in NameService" << std::endl;
//
// unbind in naming service
//
CORBA::Object_var obj;
CosNaming::NamingContext_var nameService;
char hostname[256];
gethostname(hostname, 256);
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("ComponentInstallation");
name[1].kind = CORBA::string_dup("");
name[2].id = CORBA::string_dup(hostname);
name[2].kind = CORBA::string_dup("");
try
{
obj = orb->resolve_initial_references("NameService");
nameService = CosNaming::NamingContext::_narrow(obj.in());
nameService->unbind(name);
}
catch (const CORBA::Exception&)
{
std::cerr << "..... could not unbind" << std::endl;
}
exit(1);
}
示例2: OnObjectpopupUnbind
void CNamingTreeCtrl::OnObjectpopupUnbind()
{
// TODO: Add your command handler code here
if(MessageBox(ACE_TEXT ("Are you sure you want to unbind this object?"),
ACE_TEXT ("Confirm"), MB_YESNO | MB_ICONEXCLAMATION) != IDYES)
{
return;
}
HTREEITEM hItem = GetSelectedItem();
HTREEITEM hParent = GetParentItem(hItem);
if(!hParent)
{
return;
}
CNamingObject* pObject = GetTreeObject(hItem);
CNamingObject* pParent= GetTreeObject(hParent);
CosNaming::NamingContext_var Context = pParent->NamingContext();
try
{
Context->unbind(pObject->Name());
ClearChildren(hItem);
delete pObject;
DeleteItem(hItem);
}
catch(CORBA::Exception& ex)
{
MessageBox(ACE_TEXT_CHAR_TO_TCHAR (ex._rep_id()), ACE_TEXT ("CORBA::Exception"));
}
}
示例3: OnContextPopupDestroy
void CNamingTreeCtrl::OnContextPopupDestroy()
{
// TODO: Add your command handler code here
if(MessageBox(ACE_TEXT ("Are you sure you want to destroy this context?"),
ACE_TEXT ("Confirm"), MB_YESNO | MB_ICONEXCLAMATION) != IDYES)
{
return;
}
HTREEITEM hItem = GetSelectedItem();
HTREEITEM hParent = GetParentItem(hItem);
if(!hParent)
{
return;
}
CNamingObject* pObject = GetTreeObject(hItem);
CNamingObject* pParent= GetTreeObject(hParent);
CosNaming::NamingContext_var Parent = pParent->NamingContext();
try
{
// First try to destroy, it will raise exception if its not empty
CosNaming::NamingContext_var Context = pObject->NamingContext();
Context->destroy();
// Ok its destroyed, clean up any children we might have laying around
ClearChildren(hItem);
DeleteItem(hItem);
// do the unbind
Parent->unbind(pObject->Name());
delete pObject;
}
catch(CORBA::Exception& ex)
{
MessageBox(ACE_TEXT_CHAR_TO_TCHAR (ex._rep_id()), ACE_TEXT ("CORBA::Exception"));
}
}
示例4: sigemptyset
void
handle_sigint
( int sig )
{
#ifdef HAVE_SIGACTION
struct sigaction act;
/* Assign sig_chld as our SIGINT handler */
act.sa_handler = SIG_IGN;
/* We don't want to block any other signals in this example */
sigemptyset(&act.sa_mask);
sigaction(SIGINT,&act,0);
#else
signal(sig, SIG_IGN);
#endif
std::cout << "\nGot Crtl-C" << std::endl;
std::cerr << "..... unbind in NameService" << std::endl;
//
// unbind in naming service
//
CORBA::Object_var obj;
CosNaming::NamingContext_var nameService;
char hostname[256];
gethostname(hostname, 256);
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("ComponentInstallation");
name[1].kind = CORBA::string_dup("");
name[2].id = CORBA::string_dup(hostname);
name[2].kind = CORBA::string_dup("");
try
{
obj = orb->resolve_initial_references("NameService");
nameService = CosNaming::NamingContext::_narrow(obj.in());
nameService->unbind(name);
}
catch (const CORBA::Exception&)
{
std::cerr << "..... could not unbind" << std::endl;
}
catch(...)
{
std::cerr << "..... error in signal handler" << std::endl;
}
exit(1);
}
示例5: OBJECT_NOT_EXIST
void
TAO_Hash_Naming_Context::unbind (const CosNaming::Name& n)
{
// Check to make sure this object didn't have <destroy> method
// invoked on it.
if (this->destroyed_)
throw CORBA::OBJECT_NOT_EXIST ();
// Get the length of the name.
CORBA::ULong const name_len = n.length ();
// Check for invalid name.
if (name_len == 0)
throw CosNaming::NamingContext::InvalidName();
// If we received compound name, resolve it to get the context in
// which the unbinding should take place, then perform the unbinding
// on target context.
if (name_len > 1)
{
CosNaming::NamingContext_var context = this->get_context (n);
CosNaming::Name simple_name;
simple_name.length (1);
simple_name[0] = n[name_len - 1];
try
{
context->unbind (simple_name);
}
catch (const CORBA::SystemException&)
{
throw CosNaming::NamingContext::CannotProceed(
context.in (), simple_name);
}
}
// If we received a simple name, we need to unbind it in this
// context.
else
{
ACE_WRITE_GUARD_THROW_EX (TAO_SYNCH_RW_MUTEX, ace_mon,
this->lock_,
CORBA::INTERNAL ());
if (this->context_->unbind (n[0].id,
n[0].kind) == -1)
throw CosNaming::NamingContext::NotFound
(CosNaming::NamingContext::missing_node, n);
}
}
示例6: unregister_objects
void Test_xyz_serverTAOLayer::unregister_objects()
{
if (init_)
{
// unbind from naming service
CosNaming::NamingContext_var nc;
if (vect_ref_name_ns_.size() != 0)
{
nc = resolve_init<CosNaming::NamingContext>(orb().in(), "NameService");
}
std::vector<std::string>::iterator it_ns;
for (it_ns = vect_ref_name_ns_.begin(); it_ns != vect_ref_name_ns_.end(); it_ns++)
{
CosNaming::Name object_ref_name(1);
object_ref_name.length (1);
object_ref_name[0].id = CORBA::string_dup(it_ns->c_str());
nc->unbind(object_ref_name);
}
vect_ref_name_ns_.clear();
// unbind from iortable
IORTable::Table_var ior_table;
if (vect_ref_name_iortable_.size() != 0)
{
ior_table = resolve_init<IORTable::Table>(orb().in(), "IORTable");
}
std::vector<std::string>::iterator it_ior;
for (it_ior = vect_ref_name_iortable_.begin(); it_ior != vect_ref_name_iortable_.end(); it_ior++)
{
ior_table->unbind(it_ior->c_str());
}
vect_ref_name_iortable_.clear();
}
}
示例7: sigemptyset
void
handle_sigint
( int sig )
{
#ifdef HAVE_SIGACTION
struct sigaction act;
/* Assign sig_chld as our SIGINT handler */
act.sa_handler = SIG_IGN;
/* We don't want to block any other signals in this example */
sigemptyset(&act.sa_mask);
sigaction(SIGINT,&act,0);
#else
signal(sig, SIG_IGN);
#endif
std::cout << "\nGot Crtl-C" << std::endl;
std::cerr << "..... unbind in NameService" << std::endl;
//
// build name for name service
//
CORBA::Object_var obj;
CosNaming::NamingContext_var nameService;
CosNaming::Name name;
name.length(2);
name[0].id = CORBA::string_dup("Qedo");
name[0].kind = CORBA::string_dup("");
name[1].id = CORBA::string_dup("HomeFinder");
name[1].kind = CORBA::string_dup("");
//
// unbind name in name service
//
try
{
//
// try to get name service from config values
//
std::string ns = Qedo::ConfigurationReader::instance()->lookup_config_value( "/General/NameService" );
if( !ns.empty() )
{
try
{
obj = orb->string_to_object( ns.c_str() );
}
catch(...)
{
NORMAL_ERR2( "qassf: can't resolve NameService ", ns );
}
NORMAL_OUT2( "qassf: NameService is ", ns );
}
//
// try to get naming service from orb
//
else
{
try
{
obj = orb->resolve_initial_references( "NameService" );
}
catch (const CORBA::ORB::InvalidName&)
{
NORMAL_ERR( "qassf: can't resolve NameService from ORB" );
}
if (CORBA::is_nil(obj.in()))
{
NORMAL_ERR( "qassf: NameService is a nil object reference" );
}
}
try
{
nameService = CosNaming::NamingContext::_narrow( obj.in() );
}
catch (const CORBA::Exception&)
{
NORMAL_ERR( "qassf: NameService is not running" );
}
if( CORBA::is_nil(nameService.in()) )
{
NORMAL_ERR( "qassf: NameService is not a NamingContext object reference" );
}
if (!CORBA::is_nil(nameService.in()))
{
nameService->unbind(name);
}
}
catch (const CORBA::Exception&)
{
std::cerr << "..... could not unbind" << std::endl;
}
catch(...)
{
std::cerr << "..... error in signal handler" << std::endl;
//.........这里部分代码省略.........