예제 #1
0
파일: server_i.cpp 프로젝트: CCJY/ATCD
  virtual CORBA::Long get (void)
  {
    ++n_;
    CORBA::Object_var obj = orb_->resolve_initial_references("POACurrent");
    PortableServer::Current_var cur = PortableServer::Current::_narrow(obj.in());
    ACE_ASSERT(! CORBA::is_nil(cur.in()));
    PortableServer::POA_var poa = cur->get_POA();
    CORBA::String_var poaname = poa->the_name();

    ACE_DEBUG((LM_DEBUG, "%s: get() %d\n", poaname.in(), n_));
    return n_;
  }
예제 #2
0
void
StructuredEventConsumer_i::disconnect_structured_push_consumer(
      )
{

   CORBA::Object_var obj = orb_->resolve_initial_references ("POACurrent");
   PortableServer::Current_var current =
                          PortableServer::Current::_narrow (obj.in());
   PortableServer::POA_var poa = current->get_POA ();
   PortableServer::ObjectId_var objectId = current->get_object_id ();
   poa->deactivate_object (objectId.in());

}
예제 #3
0
void  PushSupplier_impl::disconnect_push_supplier (
)
{

    reactor_task_.reactor_->end_reactor_event_loop();

    PortableServer::Current_var current =
        resolve_init<PortableServer::Current>(orb_.in(), "POACurrent");

    PortableServer::POA_var poa = current->get_POA();

    PortableServer::ObjectId_var oid = current->get_object_id();

    poa->deactivate_object (oid.in ());
}