#include <acsutilORBHelper.h>
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 | |
ORBHelper * | Loki::CreateUsingNew () |
void | Loki::CreateUsingNew (ORBHelper *) |
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:
typedef Loki::SingletonHolder<ORBHelper, Loki::CreateUsingNew, Loki::PhoenixSingleton, Loki::SingleThreaded> ORBHelper::ORBHelperSingleton [protected] |
Typedef defining a singleton ORBHelper.
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.
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
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.
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()).
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.
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.