void Container_Handler_i::install_instance (const ::Deployment::DeploymentPlan &plan, ::CORBA::ULong instanceRef, ::CORBA::Any_out instance_reference) { CIAO_TRACE ("Container_Handler_i::install_instance"); ACE_NEW_THROW_EX (instance_reference, ::CORBA::Any (), CORBA::NO_MEMORY ()); const char *name (plan.instance[instanceRef].name.in ()); CIAO::Session_Container *cont (0); CIAO_DEBUG (6, (LM_DEBUG, CLINFO "Container_Handler_i::install_instance - " "Creating session container with id <%C>\n", name)); ACE_NEW_THROW_EX (cont, CIAO::Session_Container_i (this->orb_, this->poa_), CORBA::NO_MEMORY ()); CIAO::Container_var container_ref (cont); CIAO_DEBUG (8, (LM_DEBUG, CLINFO "Container_Handler_i::install_instance - " "Container <%C> successfully created\n", name)); container_ref->init (name); CIAO_DEBUG (8, (LM_DEBUG, CLINFO "Container_Handler_i::install_instance - " "Container <%C> successfully initialized\n", name)); DEPLOYMENT_STATE::instance ()->add_container (name, container_ref.in ()); *instance_reference <<= container_ref; }
static int link_tree(struct rtnl_ematch *index[], int nmatches, int pos, struct nl_list_head *root) { struct rtnl_ematch *ematch; int i; for (i = pos; i < nmatches; i++) { ematch = index[i]; nl_list_add_tail(&ematch->e_list, root); if (ematch->e_kind == TCF_EM_CONTAINER) link_tree(index, nmatches, container_ref(ematch), &ematch->e_childs); if (!(ematch->e_flags & TCF_EM_REL_MASK)) return 0; } /* Last entry in chain can't possibly have no relation */ return -NLE_INVAL; }