Static Public Member Functions | Protected Types | Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends

ORBHelper Class Reference

#include <acsutilORBHelper.h>

List of all members.

Static Public Member Functions

static CORBA::ORB_ptr getORB ()
static void setORB (CORBA::ORB_ptr)

Protected Types

typedef Loki::SingletonHolder
< ORBHelper,
Loki::CreateUsingNew,
Loki::PhoenixSingleton,
Loki::SingleThreaded > 
ORBHelperSingleton

Protected Member Functions

 ORBHelper ()
 ~ORBHelper ()

Private Member Functions

void operator= (const ORBHelper &)
 ORBHelper (const ORBHelper &)

Static Private Member Functions

static void runOrbThread (void *pThis)

Private Attributes

ACE_Thread_Manager * threadManager_mp
bool orbRunYet_m

Static Private Attributes

static CORBA::ORB_ptr orb_mp

Friends

ORBHelperLoki::CreateUsingNew ()
void Loki::CreateUsingNew (ORBHelper *)

Detailed Description

The class ORBHelper is used to create and start an Object Request Broker. This is useful because the ORB will be spawned in a separate thread. Primarily this class is used internally by ACS and most likely is not particularly useful elsewhere.

TODO:


Member Typedef Documentation

typedef Loki::SingletonHolder<ORBHelper, Loki::CreateUsingNew, Loki::PhoenixSingleton, Loki::SingleThreaded> ORBHelper::ORBHelperSingleton [protected]

Typedef defining a singleton ORBHelper.


Constructor & Destructor Documentation

ORBHelper::ORBHelper (  )  [protected]

Default Constructor This constructor uses default parameters (NameService and NotifyFactory dynamically generated using the hostname). Should be used only when this object will be instantiated on the same host as manager.

ORBHelper::~ORBHelper (  )  [protected]

Destructor Destroys orb_mp.

ORBHelper::ORBHelper ( const ORBHelper  )  [private]

ALMA C++ coding standards state copy constructors should be disabled.


Member Function Documentation

static CORBA::ORB_ptr ORBHelper::getORB (  )  [static]

getORB() This method merely returns the ORB. If no other object within the system has set the ORB, this method will implicitly create an ORB

Returns:
A pointer to the orb.
void ORBHelper::operator= ( const ORBHelper  )  [private]

ALMA C++ coding standards state assignment operators should be disabled.

static void ORBHelper::runOrbThread ( void *  pThis  )  [static, private]

Run the orb in a thread because orb_mp->run() is a blocking call.

Parameters:
pThis a pointer to "this".
static void ORBHelper::setORB ( CORBA::ORB_ptr   )  [static]

setORB() This method sets the ORB. If the ORB has been set before, the call to setORB is ignored. Otherwise, a private member variable is set to the parameter (without using CORBA::ORB::_duplicate()).

Returns:

Friends And Related Function Documentation

ORBHelper* Loki::CreateUsingNew (  )  [friend]

As a result of this class's constructor being made protected, it is necessary to friend the appropriate Loki function.

void Loki::CreateUsingNew ( ORBHelper  )  [friend]

As a result of this class's destructor being made protected, it is necessary to friend the appropriate Loki function.


Member Data Documentation

CORBA::ORB_ptr ORBHelper::orb_mp [static, private]

The ORB set by some other library or created by this class.

bool ORBHelper::orbRunYet_m [private]

Used to see if the thread has started running the ORB yet.

ACE_Thread_Manager* ORBHelper::threadManager_mp [private]

Used to spawn a thread for running orb_mp.


The documentation for this class was generated from the following file: