ImR_Locator_Loader Class Reference

#include <Locator_Loader.h>

Inheritance diagram for ImR_Locator_Loader:

Inheritance graph
[legend]
Collaboration diagram for ImR_Locator_Loader:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ImR_Locator_Loader ()
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[]) throw (CORBA::SystemException)
int run (void)

Private Member Functions

 ImR_Locator_Loader (const ImR_Locator_Loader &)
ImR_Locator_Loaderoperator= (const ImR_Locator_Loader &)

Private Attributes

ImR_Locator_i service_
Options opts_
ACE_Auto_Ptr< ImR_Locator_ORB_Runnerrunner_

Constructor & Destructor Documentation

ImR_Locator_Loader::ImR_Locator_Loader  ) 
 

Definition at line 24 of file Locator_Loader.cpp.

00025 {
00026 }

ImR_Locator_Loader::ImR_Locator_Loader const ImR_Locator_Loader  )  [private]
 


Member Function Documentation

virtual CORBA::Object_ptr ImR_Locator_Loader::create_object CORBA::ORB_ptr  orb,
int  argc,
ACE_TCHAR argv[]
throw (CORBA::SystemException) [virtual]
 

Implements TAO_Object_Loader.

int ImR_Locator_Loader::fini void   )  [virtual]
 

Reimplemented from ACE_Shared_Object.

Definition at line 57 of file Locator_Loader.cpp.

References ACE_ASSERT, ACE_CATCHANY, ACE_DECLARE_NEW_CORBA_ENV, ACE_ENDTRY, ACE_ENV_SINGLE_ARG_PARAMETER, ACE_TRY, ACE_TRY_CHECK, ImR_Locator_i::fini(), and ACE_Auto_Basic_Ptr< X >::reset().

00058 {
00059   ACE_ASSERT(this->runner_.get () != 0);
00060   ACE_DECLARE_NEW_CORBA_ENV;
00061   ACE_TRY
00062     {
00063       int ret = this->service_.fini (ACE_ENV_SINGLE_ARG_PARAMETER);
00064       ACE_TRY_CHECK;
00065 
00066       this->runner_->wait ();
00067       this->runner_.reset (0);
00068       return ret;
00069     }
00070   ACE_CATCHANY
00071     {
00072     }
00073   ACE_ENDTRY;
00074   return -1;
00075 }

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

Reimplemented from ACE_Shared_Object.

Definition at line 29 of file Locator_Loader.cpp.

References ACE_ASSERT, ACE_CATCHANY, ACE_DECLARE_NEW_CORBA_ENV, ACE_ENDTRY, ACE_ENV_ARG_PARAMETER, ACE_TRY, ACE_TRY_CHECK, ImR_Locator_i::init(), Options::init(), and ACE_Auto_Basic_Ptr< X >::reset().

00030 {
00031   ACE_DECLARE_NEW_CORBA_ENV;
00032   ACE_TRY
00033     {
00034       int err = this->opts_.init (argc, argv);
00035       if (err != 0)
00036         return -1;
00037 
00038       err = this->service_.init (this->opts_ ACE_ENV_ARG_PARAMETER);
00039       ACE_TRY_CHECK;
00040       if (err != 0)
00041         return -1;
00042 
00043       // Create a thread in which to run the service
00044       ACE_ASSERT(this->runner_.get () == 0);
00045       this->runner_.reset(new ImR_Locator_ORB_Runner (*this));
00046       this->runner_->activate ();
00047     }
00048   ACE_CATCHANY
00049     {
00050       return -1;
00051     }
00052   ACE_ENDTRY;
00053   return 0;
00054 }

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

int ImR_Locator_Loader::run void   ) 
 

Definition at line 88 of file Locator_Loader.cpp.

References ACE_CATCHALL, ACE_DECLARE_NEW_CORBA_ENV, ACE_ENDTRY, ACE_ENV_SINGLE_ARG_PARAMETER, ACE_ERROR, ACE_TRY, ACE_TRY_CHECK, LM_ERROR, and ImR_Locator_i::run().

Referenced by ImR_Locator_ORB_Runner::svc().

00089 {
00090   ACE_DECLARE_NEW_CORBA_ENV;
00091   ACE_TRY
00092     {
00093       return this->service_.run (ACE_ENV_SINGLE_ARG_PARAMETER);
00094       ACE_TRY_CHECK;
00095     }
00096   ACE_CATCHALL
00097     {
00098       ACE_ERROR((LM_ERROR, "Exception in ImR_Locator_ORB_Runner ()\n"));
00099       return -1;
00100     }
00101   ACE_ENDTRY;
00102 }


Member Data Documentation

Options ImR_Locator_Loader::opts_ [private]
 

Definition at line 40 of file Locator_Loader.h.

ACE_Auto_Ptr<ImR_Locator_ORB_Runner> ImR_Locator_Loader::runner_ [private]
 

Definition at line 41 of file Locator_Loader.h.

ImR_Locator_i ImR_Locator_Loader::service_ [private]
 

Definition at line 39 of file Locator_Loader.h.


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 13:37:15 2006 for TAO_Implementation_Repository by doxygen 1.3.6