#include <PG_FactoryRegistry.h>
Collaboration diagram for TAO::PG_FactoryRegistry:
Public Member Functions | |
PG_FactoryRegistry (const char *name="FactoryRegistry") | |
Constructor. | |
virtual | ~PG_FactoryRegistry (void) |
virtual Destructor | |
int | parse_args (int argc, char *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) throw ( CORBA::SystemException , PortableGroup::MemberAlreadyPresent , PortableGroup::TypeConflict) |
virtual void | unregister_factory (const char *role, const PortableGroup::Location &location) throw (CORBA::SystemException, PortableGroup::MemberNotFound) |
virtual void | unregister_factory_by_role (const char *role) throw (CORBA::SystemException) |
virtual void | unregister_factory_by_location (const PortableGroup::Location &location) throw (CORBA::SystemException) |
virtual ::PortableGroup::FactoryInfos * | list_factories_by_role (const char *role, CORBA::String_out type_id) throw (CORBA::SystemException) |
virtual ::PortableGroup::FactoryInfos * | list_factories_by_location (const PortableGroup::Location &location) throw (CORBA::SystemException) |
Private Types | |
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 |
LIVE | |
DEACTIVATED | |
GONE | |
enum | { LIVE, DEACTIVATED, GONE } |
Private Member Functions | |
int | write_ior_file (const char *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 char * | ior_output_file_ |
const char * | 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 |
typedef ACE_Guard<TAO_SYNCH_MUTEX> TAO::PG_FactoryRegistry::InternalGuard [private] |
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] |
TAO::PG_FactoryRegistry::PG_FactoryRegistry | ( | const char * | name = "FactoryRegistry" |
) |
Constructor.
TAO::PG_FactoryRegistry::~PG_FactoryRegistry | ( | void | ) | [virtual] |
virtual Destructor
void TAO::PG_FactoryRegistry::_remove_ref | ( | void | ) | [virtual] |
int TAO::PG_FactoryRegistry::fini | ( | void | ) |
Prepare to exit.
const char * TAO::PG_FactoryRegistry::identity | ( | ) | const |
Identify this object.
int TAO::PG_FactoryRegistry::idle | ( | int & | result | ) |
Processing to happen when the ORB's event loop is idle.
result | is a place to return status to be returned by the process |
void TAO::PG_FactoryRegistry::init | ( | CORBA::ORB_ptr | orb, | |
PortableServer::POA_ptr | poa | |||
) |
alternative init using designated poa
int TAO::PG_FactoryRegistry::init | ( | CORBA::ORB_ptr | orb | ) |
Initialize this object.
orbManager | our ORB -- we keep var to it. |
PortableGroup::FactoryInfos * TAO::PG_FactoryRegistry::list_factories_by_location | ( | const PortableGroup::Location & | location | ) | throw (CORBA::SystemException) |
PortableGroup::FactoryInfos * TAO::PG_FactoryRegistry::list_factories_by_role | ( | const char * | role, | |
CORBA::String_out | type_id | |||
) | throw (CORBA::SystemException) |
int TAO::PG_FactoryRegistry::parse_args | ( | int | argc, | |
char * | argv[] | |||
) |
Parse command line arguments.
argc | traditional C argc | |
argv | traditional C argv |
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 | |||
) | throw ( CORBA::SystemException , PortableGroup::MemberAlreadyPresent , PortableGroup::TypeConflict) [virtual] |
void TAO::PG_FactoryRegistry::unregister_factory | ( | const char * | role, | |
const PortableGroup::Location & | location | |||
) | throw (CORBA::SystemException, PortableGroup::MemberNotFound) [virtual] |
void TAO::PG_FactoryRegistry::unregister_factory_by_location | ( | const PortableGroup::Location & | location | ) | throw (CORBA::SystemException) [virtual] |
void TAO::PG_FactoryRegistry::unregister_factory_by_role | ( | const char * | role | ) | throw (CORBA::SystemException) [virtual] |
int TAO::PG_FactoryRegistry::write_ior_file | ( | const char * | outputFile, | |
const char * | ior | |||
) | [private] |
Write this factory's IOR to a file
A human-readable string to distinguish this from other Notifiers.
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.
IOR of this object as assigned by poa.
const char* 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] |
const char* TAO::PG_FactoryRegistry::ns_name_ [private] |
A name to be used to register the factory with the name service.
The CORBA object id assigned to this object.
CORBA::ORB_var TAO::PG_FactoryRegistry::orb_ [private] |
The orb
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_ [private] |
State of the quit process
This objects identity as a CORBA object.