diff options
Diffstat (limited to 'CIAO/ciao/Server_init.cpp')
-rw-r--r-- | CIAO/ciao/Server_init.cpp | 239 |
1 files changed, 0 insertions, 239 deletions
diff --git a/CIAO/ciao/Server_init.cpp b/CIAO/ciao/Server_init.cpp deleted file mode 100644 index 8e1428382d0..00000000000 --- a/CIAO/ciao/Server_init.cpp +++ /dev/null @@ -1,239 +0,0 @@ -// $Id$ - -#include "Server_init.h" -#include "CIAO_common.h" -#include "CCM_ComponentC.h" -#include "CCM_StandardConfiguratorC.h" -#include "Cookies.h" - -#include "ace/OS_NS_stdio.h" -namespace CIAO -{ - int - Server_init (CORBA::ORB_ptr o) - { - CIAO_REGISTER_VALUE_FACTORY (o, CIAO::Map_Key_Cookie_init, - Components::Cookie); - CIAO_REGISTER_VALUE_FACTORY (o, Components::PortDescription_init, - Components::PortDescription); - CIAO_REGISTER_VALUE_FACTORY (o, Components::FacetDescription_init, - Components::FacetDescription); - CIAO_REGISTER_VALUE_FACTORY (o, Components::ConnectionDescription_init, - Components::ConnectionDescription); - CIAO_REGISTER_VALUE_FACTORY (o, Components::ReceptacleDescription_init, - Components::ReceptacleDescription); - CIAO_REGISTER_VALUE_FACTORY (o, Components::ConsumerDescription_init, - Components::ConsumerDescription); - CIAO_REGISTER_VALUE_FACTORY (o, Components::EmitterDescription_init, - Components::EmitterDescription); - CIAO_REGISTER_VALUE_FACTORY (o, Components::SubscriberDescription_init, - Components::SubscriberDescription); - CIAO_REGISTER_VALUE_FACTORY (o, Components::PublisherDescription_init, - Components::PublisherDescription); - CIAO_REGISTER_VALUE_FACTORY (o, Components::ConfigValue_init, - Components::ConfigValue); - CIAO_REGISTER_VALUE_FACTORY (o, Components::ComponentPortDescription_init, - Components::ComponentPortDescription); - return 0; - } - - namespace Utility - { - int write_IOR (const char *pathname, - const char *ior) - { - FILE* ior_output_file_ = - ACE_OS::fopen (pathname, "w"); - - if (ior_output_file_) - { - ACE_OS::fprintf (ior_output_file_, - "%s", - ior); - ACE_OS::fclose (ior_output_file_); - return 0; - } - - return -1; - } - - // -------------------------------------------------------------- - // Implementation of NameUtility class - // -------------------------------------------------------------- - - void NameUtility::CreateContextPath (const CosNaming::NamingContextExt_ptr nc, - const CosNaming::Name& name) - { - bool isNotFound = false; - CORBA::ULong lengthMissing = 0; - CORBA::ULong OriginalLength = name.length(); - CosNaming::Name tmpName; - - CosNaming::NamingContext_var tmpCtxVar; - - ACE_TRY - { - tmpCtxVar = nc->bind_new_context(name); - ACE_DEBUG ((LM_DEBUG, "Bound Context.\n\n")); - } - ACE_CATCH (CosNaming::NamingContext::AlreadyBound, ex) - { - ACE_DEBUG ((LM_DEBUG, "Context Already Bound.\n\n")); - } - ACE_CATCH (CosNaming::NamingContext::NotFound, nf) - { - ACE_DEBUG ((LM_DEBUG, "Context not found.\n\n")); - isNotFound = true; - lengthMissing = nf.rest_of_name.length(); - } - ACE_ENDTRY; - - if (lengthMissing == name.length()) - { - ACE_ERROR ((LM_ERROR, "Null name length.\n\n")); - } - - if (isNotFound) - { - for (CORBA::ULong l = OriginalLength-lengthMissing; - l < OriginalLength; - l++) - { - tmpName.length(l+1); - for (CORBA::ULong i=0; i <= l; i++) - { - tmpName[i] = name[i]; - - CORBA::String_var newSCName = nc->to_string(tmpName); - ACE_DEBUG ((LM_DEBUG, "What's left of the name:%s\n", - newSCName.in ())); - } - - tmpCtxVar = nc->bind_new_context(tmpName); - ACE_DEBUG ((LM_DEBUG, "Bound New Context.\n")); - } - } - } - - //--------------------------------------------------------------------------------------------- - void NameUtility::BindObjectPath (const CosNaming::NamingContextExt_ptr nc, - const CosNaming::Name& name, - const CORBA::Object_var obj) - { - CosNaming::Name tmpName; - CORBA::String_var newSCName = nc->to_string(name); - ACE_DEBUG ((LM_DEBUG, "The name is: %s\n", newSCName.in ())); - - ACE_TRY - { - nc->rebind(name, obj); - } - - ACE_CATCH (CosNaming::NamingContext::NotFound, ex ) - { - ACE_DEBUG ((LM_DEBUG, "Name not found, doing new bind.\n")); - nc->bind(name, obj); - } - ACE_ENDTRY; - } - - //--------------------------------------------------------------------------------------------- - CosNaming::BindingList * - NameUtility::listBindings (const CosNaming::NamingContext_ptr nc, - const CosNaming::Name& name, - CORBA::ULong max_list_size) - { - CosNaming::BindingList_var basicListV; - CosNaming::BindingIterator_var bIterV; - - CORBA::Object_var objV; - CosNaming::NamingContext_var tmpContextV; - - if (name.length()==0) - { - tmpContextV = CosNaming::NamingContext::_duplicate(nc); - } - else - { - objV = nc->resolve(name); - tmpContextV = CosNaming::NamingContext::_narrow(objV.in ()); - } - if (CORBA::is_nil(tmpContextV.in ())) - { - ACE_ERROR ((LM_ERROR, "listBindings: Nil context.\n")); - return 0; - } - - tmpContextV->list(max_list_size, basicListV.out(), bIterV.out()); - - CORBA::Long max_remaining = max_list_size - basicListV->length(); - CORBA::Boolean moreBindings = !CORBA::is_nil(bIterV.in ()); - - if (moreBindings) - { - while (moreBindings && (max_remaining > 0) ) - { - CosNaming::BindingList_var tmpListV; - - moreBindings = bIterV->next_n(max_remaining, tmpListV.out()); - - //Append 'tmpListV' to 'basicListV' - CORBA::ULong basicListLen = basicListV->length(); - basicListV->length(basicListLen+tmpListV->length()); - for (CORBA::ULong i=0; i < tmpListV->length(); i++) - { - (*basicListV)[i+basicListLen] = (*tmpListV)[i]; - } - - //Re-calculate 'max_remaining' - max_remaining = max_list_size - basicListV->length(); - } - bIterV->destroy(); - } - - return basicListV._retn(); - } - - //--------------------------------------------------------------------------------------------- - void - NameUtility::recursiveUnbind (const CosNaming::NamingContext_ptr nc, - const CosNaming::Name& name) - { - CORBA::Object_var objV; - CosNaming::NamingContext_var tmpContextV; - - objV = nc->resolve(name); - tmpContextV = CosNaming::NamingContext::_narrow(objV.in ()); - if (CORBA::is_nil(tmpContextV.in ())) - { - ACE_ERROR ((LM_ERROR, "recursiveUnbind: Nil context reference.\n")); - return; - } - - CosNaming::BindingList_var blV; - CosNaming::Name tmpName; - tmpName.length(0); - - blV = NameUtility::listBindings(tmpContextV.in(), - tmpName, - 10000); // 'max_list_size' - - for (CORBA::ULong i=0; i<blV->length(); i++) - { - tmpName = (*blV)[i].binding_name; - - if ((*blV)[i].binding_type==CosNaming::nobject) - { - tmpContextV->unbind(tmpName); - } - else if ( (*blV)[i].binding_type==CosNaming::ncontext) - { - NameUtility::recursiveUnbind(tmpContextV.in(), tmpName); - } - } - nc->unbind(name); - tmpContextV->destroy(); - } - - } /* namespace Utility */ -} /* namespace CIAO */ |