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_

Detailed Description

Definition at line 21 of file Activator_Loader.h.


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(), runner_, and service_.

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(), opts_, ACE_Auto_Basic_Ptr< X >::reset(), runner_, and service_.

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, ImR_Activator_i::run(), and service_.

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.

Referenced by init().

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.

Referenced by fini(), init(), and run().


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:47:01 2010 for TAO_Implementation_Repository by  doxygen 1.4.7