TAO_PortableGroup  2.2.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
TAO::PG_FactoryRegistry Class Reference

#include <PG_FactoryRegistry.h>

Inheritance diagram for TAO::PG_FactoryRegistry:
Inheritance graph
Collaboration diagram for TAO::PG_FactoryRegistry:
Collaboration graph

Classes

struct  RoleInfo
 

Public Member Functions

 PG_FactoryRegistry (const char *name="FactoryRegistry")
 Constructor. More...
 
virtual ~PG_FactoryRegistry (void)
 virtual Destructor More...
 
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
 

Private Member Functions

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

Private Attributes

ACE_CString identity_
 
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_
 

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

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

void TAO::PG_FactoryRegistry::_remove_ref ( void  )
virtual
int TAO::PG_FactoryRegistry::fini ( void  )

Prepare to exit.

Returns
zero for success; nonzero is process return code for failure.
const char * TAO::PG_FactoryRegistry::identity ( ) const

Identify this object.

Returns
a string to identify this object for logging/console message purposes.
int TAO::PG_FactoryRegistry::idle ( int &  result)

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

Parameters
resultis a place to return status to be returned by the process
Returns
0 to continue. 1 to quit.
int TAO::PG_FactoryRegistry::init ( CORBA::ORB_ptr  orb)

Initialize this object.

Parameters
orbour 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

PortableGroup::FactoryInfos * TAO::PG_FactoryRegistry::list_factories_by_location ( const PortableGroup::Location location)
PortableGroup::FactoryInfos * TAO::PG_FactoryRegistry::list_factories_by_role ( const char *  role,
CORBA::String_out  type_id 
)
int TAO::PG_FactoryRegistry::parse_args ( int  argc,
ACE_TCHAR argv[] 
)

Parse command line arguments.

Parameters
argctraditional C argc
argvtraditional C argv
Returns
zero for success; nonzero is process return code for failure.
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::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_location ( const PortableGroup::Location location)
virtual
void TAO::PG_FactoryRegistry::unregister_factory_by_role ( const char *  role)
virtual
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.

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.

int TAO::PG_FactoryRegistry::linger_
private
CosNaming::NamingContext_var TAO::PG_FactoryRegistry::naming_context_
private
ACE_CString TAO::PG_FactoryRegistry::ns_name_
private

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

PortableServer::ObjectId_var TAO::PG_FactoryRegistry::object_id_
private

The CORBA object id assigned to this object.

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.

int TAO::PG_FactoryRegistry::quit_on_idle_
private

Quit on idle flag.

enum { ... } TAO::PG_FactoryRegistry::quit_state_

State of the quit process

RegistryType TAO::PG_FactoryRegistry::registry_
private
CosNaming::Name TAO::PG_FactoryRegistry::this_name_
private
CORBA::Object_var TAO::PG_FactoryRegistry::this_obj_
private

This objects identity as a CORBA object.


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