ImR_Activator_Loader Class Reference

#include <Activator_Loader.h>

Inheritance diagram for ImR_Activator_Loader:

Inheritance graph
[legend]
Collaboration diagram for ImR_Activator_Loader:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ImR_Activator_Loader (void)
virtual int init (int argc, ACE_TCHAR *argv[])
virtual int fini (void)
virtual CORBA::Object_ptr create_object (CORBA::ORB_ptr orb, int argc, ACE_TCHAR *argv[])
int run (void)

Private Member Functions

 ImR_Activator_Loader (const ImR_Activator_Loader &)
ImR_Activator_Loaderoperator= (const ImR_Activator_Loader &)

Private Attributes

ImR_Activator_i service_
Activator_Options opts_
ACE_Auto_Ptr< ImR_Activator_ORB_Runnerrunner_

Constructor & Destructor Documentation

ImR_Activator_Loader::ImR_Activator_Loader void   ) 
 

Definition at line 23 of file Activator_Loader.cpp.

00024 {
00025 }

ImR_Activator_Loader::ImR_Activator_Loader const ImR_Activator_Loader  )  [private]
 


Member Function Documentation

virtual CORBA::Object_ptr ImR_Activator_Loader::create_object CORBA::ORB_ptr  orb,
int  argc,
ACE_TCHAR argv[]
[virtual]
 

Implements TAO_Object_Loader.

int ImR_Activator_Loader::fini void   )  [virtual]
 

Reimplemented from ACE_Shared_Object.

Definition at line 60 of file Activator_Loader.cpp.

References ACE_ASSERT, ImR_Activator_i::fini(), ACE_Auto_Basic_Ptr< X >::reset(), and runner_.

00061 {
00062   ACE_ASSERT (this->runner_.get() != 0);
00063   try
00064     {
00065       int ret = this->service_.fini ();
00066 
00067       this->runner_->wait ();
00068       this->runner_.reset (0);
00069       return ret;
00070     }
00071   catch (const CORBA::Exception&)
00072     {
00073       return -1;
00074     }
00075 }

int ImR_Activator_Loader::init int  argc,
ACE_TCHAR argv[]
[virtual]
 

Reimplemented from ACE_Shared_Object.

Definition at line 34 of file Activator_Loader.cpp.

References ACE_ASSERT, ImR_Activator_i::init(), Activator_Options::init(), ACE_Auto_Basic_Ptr< X >::reset(), and runner_.

00035 {
00036   try
00037     {
00038       int err = this->opts_.init (argc, argv);
00039       if (err != 0)
00040         return -1;
00041 
00042       // Creates it's own internal orb, which we must run later
00043       err = this->service_.init (this->opts_);
00044       if (err != 0)
00045         return -1;
00046 
00047       // Create a thread in which to run the service
00048       ACE_ASSERT (this->runner_.get () == 0);
00049       this->runner_.reset (new ImR_Activator_ORB_Runner (*this));
00050       this->runner_->activate ();
00051     }
00052   catch (const CORBA::Exception&)
00053     {
00054       return -1;
00055     }
00056   return 0;
00057 }

ImR_Activator_Loader& ImR_Activator_Loader::operator= const ImR_Activator_Loader  )  [private]
 

int ImR_Activator_Loader::run void   ) 
 

Definition at line 86 of file Activator_Loader.cpp.

References ACE_ERROR, LM_ERROR, and ImR_Activator_i::run().

Referenced by ImR_Activator_ORB_Runner::svc().

00087 {
00088   try
00089     {
00090       return this->service_.run ();
00091     }
00092   catch (...)
00093     {
00094       ACE_ERROR ((LM_ERROR, "Exception in ImR_Locator_ORB_Runner()\n"));
00095       return -1;
00096     }
00097 }


Member Data Documentation

Activator_Options ImR_Activator_Loader::opts_ [private]
 

Definition at line 39 of file Activator_Loader.h.

ACE_Auto_Ptr<ImR_Activator_ORB_Runner> ImR_Activator_Loader::runner_ [private]
 

Definition at line 40 of file Activator_Loader.h.

Referenced by fini(), and init().

ImR_Activator_i ImR_Activator_Loader::service_ [private]
 

Definition at line 38 of file Activator_Loader.h.


The documentation for this class was generated from the following files:
Generated on Sun Jan 27 15:55:39 2008 for TAO_Implementation_Repository by doxygen 1.3.6