TAO::PG_FactoryRegistry Class Reference

#include <PG_FactoryRegistry.h>

Collaboration diagram for TAO::PG_FactoryRegistry:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 PG_FactoryRegistry (const char *name="FactoryRegistry")
 Constructor.
virtual ~PG_FactoryRegistry (void)
 virtual Destructor
int parse_args (int argc, ACE_TCHAR *argv[])
int init (CORBA::ORB_ptr orb)
void init (CORBA::ORB_ptr orb, PortableServer::POA_ptr poa)
int fini (void)
int idle (int &result)
const char * identity () const
::PortableGroup::FactoryRegistry_ptr reference ()
virtual void _remove_ref (void)
virtual void register_factory (const char *role, const char *type_id, const PortableGroup::FactoryInfo &factory_info)
virtual void unregister_factory (const char *role, const PortableGroup::Location &location)
virtual void unregister_factory_by_role (const char *role)
virtual void unregister_factory_by_location (const PortableGroup::Location &location)
virtual
::PortableGroup::FactoryInfos
list_factories_by_role (const char *role, CORBA::String_out type_id)
virtual
::PortableGroup::FactoryInfos
list_factories_by_location (const PortableGroup::Location &location)

Private Types

enum  { LIVE, DEACTIVATED, GONE }
typedef ACE_Null_Mutex MapMutex
typedef ACE_Hash_Map_Manager
< ACE_CString, RoleInfo
*, MapMutex
RegistryType
typedef ACE_Hash_Map_Entry
< ACE_CString, RoleInfo * > 
RegistryType_Entry
typedef ACE_Hash_Map_Iterator
< ACE_CString, RoleInfo
*, MapMutex
RegistryType_Iterator
typedef ACE_Guard
< TAO_SYNCH_MUTEX > 
InternalGuard

Private Member Functions

int write_ior_file (const ACE_TCHAR *outputFile, const char *ior)

Private Attributes

ACE_CString identity_
TAO_SYNCH_MUTEX internals_
CORBA::ORB_var orb_
PortableServer::POA_var poa_
PortableServer::ObjectId_var object_id_
CORBA::Object_var this_obj_
CORBA::String_var ior_
const ACE_TCHARior_output_file_
ACE_CString ns_name_
CosNaming::NamingContext_var naming_context_
CosNaming::Name this_name_
int quit_on_idle_
enum TAO::PG_FactoryRegistry:: { ... }  quit_state_
int linger_
RegistryType registry_

Classes

struct  RoleInfo


Detailed Description

Implement the PortableGroup::FactoryRegistry interface Note FactoryRegistry is not part of the OMG standard. It was added as part of the TAO implementation of Fault Tolerant CORBA

Member Typedef Documentation

typedef ACE_Null_Mutex TAO::PG_FactoryRegistry::MapMutex [private]

typedef ACE_Hash_Map_Manager<ACE_CString, RoleInfo *, MapMutex> TAO::PG_FactoryRegistry::RegistryType [private]

typedef ACE_Hash_Map_Entry<ACE_CString, RoleInfo *> TAO::PG_FactoryRegistry::RegistryType_Entry [private]

typedef ACE_Hash_Map_Iterator<ACE_CString, RoleInfo *, MapMutex> TAO::PG_FactoryRegistry::RegistryType_Iterator [private]

typedef ACE_Guard<TAO_SYNCH_MUTEX> TAO::PG_FactoryRegistry::InternalGuard [private]


Member Enumeration Documentation

anonymous enum [private]

State of the quit process

Enumerator:
LIVE 
DEACTIVATED 
GONE 


Constructor & Destructor Documentation

TAO::PG_FactoryRegistry::PG_FactoryRegistry ( const char *  name = "FactoryRegistry"  ) 

Constructor.

TAO::PG_FactoryRegistry::~PG_FactoryRegistry ( void   )  [virtual]

virtual Destructor


Member Function Documentation

int TAO::PG_FactoryRegistry::parse_args ( int  argc,
ACE_TCHAR argv[] 
)

Parse command line arguments.

Parameters:
argc traditional C argc
argv traditional C argv
Returns:
zero for success; nonzero is process return code for failure.

int TAO::PG_FactoryRegistry::init ( CORBA::ORB_ptr  orb  ) 

Initialize this object.

Parameters:
orb our ORB -- we keep var to it.
Returns:
zero for success; nonzero is process return code for failure.

void TAO::PG_FactoryRegistry::init ( CORBA::ORB_ptr  orb,
PortableServer::POA_ptr  poa 
)

alternative init using designated poa

int TAO::PG_FactoryRegistry::fini ( void   ) 

Prepare to exit.

Returns:
zero for success; nonzero is process return code for failure.

int TAO::PG_FactoryRegistry::idle ( int &  result  ) 

Processing to happen when the ORB's event loop is idle.

Parameters:
result is a place to return status to be returned by the process
Returns:
0 to continue. 1 to quit.

const char * TAO::PG_FactoryRegistry::identity (  )  const

Identify this object.

Returns:
a string to identify this object for logging/console message purposes.

PortableGroup::FactoryRegistry_ptr TAO::PG_FactoryRegistry::reference (  ) 

An object reference to the this object. Duplicated by the call so it may (and probably should) be assigned to a _var..

void TAO::PG_FactoryRegistry::_remove_ref ( void   )  [virtual]

void TAO::PG_FactoryRegistry::register_factory ( const char *  role,
const char *  type_id,
const PortableGroup::FactoryInfo factory_info 
) [virtual]

void TAO::PG_FactoryRegistry::unregister_factory ( const char *  role,
const PortableGroup::Location location 
) [virtual]

void TAO::PG_FactoryRegistry::unregister_factory_by_role ( const char *  role  )  [virtual]

void TAO::PG_FactoryRegistry::unregister_factory_by_location ( const PortableGroup::Location location  )  [virtual]

PortableGroup::FactoryInfos * TAO::PG_FactoryRegistry::list_factories_by_role ( const char *  role,
CORBA::String_out  type_id 
)

PortableGroup::FactoryInfos * TAO::PG_FactoryRegistry::list_factories_by_location ( const PortableGroup::Location location  ) 

int TAO::PG_FactoryRegistry::write_ior_file ( const ACE_TCHAR outputFile,
const char *  ior 
) [private]

Write this factory's IOR to a file


Member Data Documentation

ACE_CString TAO::PG_FactoryRegistry::identity_ [private]

A human-readable string to distinguish this from other Notifiers.

TAO_SYNCH_MUTEX TAO::PG_FactoryRegistry::internals_ [private]

Protect internal state. Mutex should be locked by corba methods, or by external (public) methods before calling implementation methods. Implementation methods should assume the mutex is locked if necessary.

CORBA::ORB_var TAO::PG_FactoryRegistry::orb_ [private]

The orb

PortableServer::POA_var TAO::PG_FactoryRegistry::poa_ [private]

The POA used to activate this object.

PortableServer::ObjectId_var TAO::PG_FactoryRegistry::object_id_ [private]

The CORBA object id assigned to this object.

CORBA::Object_var TAO::PG_FactoryRegistry::this_obj_ [private]

This objects identity as a CORBA object.

CORBA::String_var TAO::PG_FactoryRegistry::ior_ [private]

IOR of this object as assigned by poa.

const ACE_TCHAR* TAO::PG_FactoryRegistry::ior_output_file_ [private]

A file to which the factory's IOR should be written.

ACE_CString TAO::PG_FactoryRegistry::ns_name_ [private]

A name to be used to register the factory with the name service.

CosNaming::NamingContext_var TAO::PG_FactoryRegistry::naming_context_ [private]

CosNaming::Name TAO::PG_FactoryRegistry::this_name_ [private]

int TAO::PG_FactoryRegistry::quit_on_idle_ [private]

Quit on idle flag.

enum { ... } TAO::PG_FactoryRegistry::quit_state_ [private]

State of the quit process

int TAO::PG_FactoryRegistry::linger_ [private]

RegistryType TAO::PG_FactoryRegistry::registry_ [private]


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

Generated on Thu Nov 27 05:56:44 2008 for TAO_PortableGroup by  doxygen 1.5.6