ORBHelper

NAME
SYNOPSIS
Detailed Description
Member Typedef Documentation
Constructor & Destructor Documentation
Member Function Documentation
Friends And Related Function Documentation
Member Data Documentation
Author

NAME

ORBHelper −

SYNOPSIS

#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 *)

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:

move this class to the acsutil module

check for memory leaks

set the static ORB from maci/baci/etc

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.

Author

Generated automatically by Doxygen for ACS-2015.2 C++ API from the source code.