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

#include <PG_Group_Factory.h>

Collaboration diagram for TAO::PG_Group_Factory:
Collaboration graph

Public Member Functions

 PG_Group_Factory ()
 Constructor. More...
 
virtual ~PG_Group_Factory ()
 Destructor. More...
 
void init (CORBA::ORB_ptr orb, PortableServer::POA_ptr poa, PortableGroup::FactoryRegistry_ptr factory_registry)
 
TAO::PG_Object_Groupcreate_group (const char *type_id, const PortableGroup::Criteria &the_criteria, const TAO::PG_Property_Set_var &typeid_properties)
 
void delete_group (PortableGroup::ObjectGroup_ptr object_group)
 
void delete_group (PortableGroup::ObjectGroupId group_id)
 
PortableGroup::ObjectGroupsgroups_at_location (const PortableGroup::Location &the_location)
 
PortableGroup::ObjectGroupsall_groups (void)
 
int insert_group (::TAO::PG_Object_Group *group)
 
int insert_group (PortableGroup::ObjectGroupId group_id,::TAO::PG_Object_Group *group)
 
int find_group (PortableGroup::ObjectGroupId group_id,::TAO::PG_Object_Group *&group)
 
int find_group (PortableGroup::ObjectGroup_ptr object_group,::TAO::PG_Object_Group *&group)
 
int find_group_with_name (const char *group_name,::TAO::PG_Object_Group *&group)
 
int destroy_group (PortableGroup::ObjectGroupId object_group_id)
 
int destroy_group (PortableGroup::ObjectGroup_ptr object_group)
 
void set_object_group_storable_factory (TAO::Storable_Factory *factory)
 

Protected Member Functions

virtual PG_Object_Group_Storablecreate_persistent_group (CORBA::ORB_ptr orb, PortableGroup::FactoryRegistry_ptr factory_registry, TAO::PG_Object_Group_Manipulator &manipulator, CORBA::Object_ptr empty_group, const PortableGroup::TagGroupTaggedComponent &tagged_component, const char *type_id, const PortableGroup::Criteria &the_criteria, const TAO::PG_Property_Set_var &type_properties, TAO::Storable_Factory &storable_factory)
 
virtual PG_Object_Group_Storablerestore_persistent_group (PortableGroup::ObjectGroupId group_id, CORBA::ORB_ptr orb, PortableGroup::FactoryRegistry_ptr factory_registry, TAO::PG_Object_Group_Manipulator &manipulator, TAO::Storable_Factory &storable_factory)
 

Protected Attributes

bool use_persistence_
 
PG_Group_List_Storelist_store_
 

Private Types

typedef
ACE_Hash_Map_Manager_Ex
< PortableGroup::ObjectGroupId,::TAO::PG_Object_Group
*, ACE_Hash< ACE_UINT64 >
, ACE_Equal_To< ACE_UINT64 >
, TAO_SYNCH_MUTEX
Group_Map
 
typedef ACE_Hash_Map_Entry
< PortableGroup::ObjectGroupId,::TAO::PG_Object_Group * > 
Group_Map_Entry
 
typedef
ACE_Hash_Map_Iterator_Ex
< PortableGroup::ObjectGroupId,::TAO::PG_Object_Group
*, ACE_Hash< ACE_UINT64 >
, ACE_Equal_To< ACE_UINT64 >
, TAO_SYNCH_MUTEX
Group_Map_Iterator
 

Private Member Functions

Group_Mapget_group_map ()
 

Private Attributes

CORBA::ORB_var orb_
 
PortableServer::POA_var poa_
 Reference to the POA used to create object group references. More...
 
PortableGroup::FactoryRegistry_var factory_registry_
 The factory registry for replica factories. More...
 
::TAO::PG_Object_Group_Manipulator manipulator_
 
const char * domain_id_
 
Group_Map group_map_
 
bool groups_read_
 
Storable_Factorystorable_factory_
 

Detailed Description

class PG_Group_Factory

Member Typedef Documentation

typedef ACE_Hash_Map_Manager_Ex< PortableGroup::ObjectGroupId, ::TAO::PG_Object_Group *, ACE_Hash<ACE_UINT64>, ACE_Equal_To<ACE_UINT64>, TAO_SYNCH_MUTEX> TAO::PG_Group_Factory::Group_Map
private
typedef ACE_Hash_Map_Entry< PortableGroup::ObjectGroupId, ::TAO::PG_Object_Group *> TAO::PG_Group_Factory::Group_Map_Entry
private
typedef ACE_Hash_Map_Iterator_Ex< PortableGroup::ObjectGroupId, ::TAO::PG_Object_Group *, ACE_Hash<ACE_UINT64>, ACE_Equal_To<ACE_UINT64>, TAO_SYNCH_MUTEX> TAO::PG_Group_Factory::Group_Map_Iterator
private

Constructor & Destructor Documentation

TAO::PG_Group_Factory::PG_Group_Factory ( )

Constructor.

TAO::PG_Group_Factory::~PG_Group_Factory ( void  )
virtual

Destructor.

Member Function Documentation

PortableGroup::ObjectGroups * TAO::PG_Group_Factory::all_groups ( void  )

return all groups in the factory

TAO::PG_Object_Group * TAO::PG_Group_Factory::create_group ( const char *  type_id,
const PortableGroup::Criteria the_criteria,
const TAO::PG_Property_Set_var &  typeid_properties 
)
TAO::PG_Object_Group_Storable * TAO::PG_Group_Factory::create_persistent_group ( CORBA::ORB_ptr  orb,
PortableGroup::FactoryRegistry_ptr  factory_registry,
TAO::PG_Object_Group_Manipulator manipulator,
CORBA::Object_ptr  empty_group,
const PortableGroup::TagGroupTaggedComponent &  tagged_component,
const char *  type_id,
const PortableGroup::Criteria the_criteria,
const TAO::PG_Property_Set_var &  type_properties,
TAO::Storable_Factory storable_factory 
)
protectedvirtual

Factory function to create a storable object object from scratch.

void TAO::PG_Group_Factory::delete_group ( PortableGroup::ObjectGroup_ptr  object_group)
void TAO::PG_Group_Factory::delete_group ( PortableGroup::ObjectGroupId  group_id)
int TAO::PG_Group_Factory::destroy_group ( PortableGroup::ObjectGroupId  object_group_id)

remove group from map and delete it.

Returns
bool true if found
int TAO::PG_Group_Factory::destroy_group ( PortableGroup::ObjectGroup_ptr  object_group)

remove group from map and delete it. note: uses group id extracted from object_group

Returns
bool true if found
int TAO::PG_Group_Factory::find_group ( PortableGroup::ObjectGroupId  group_id,
::TAO::PG_Object_Group *&  group 
)

find group

Returns
bool true if found
int TAO::PG_Group_Factory::find_group ( PortableGroup::ObjectGroup_ptr  object_group,
::TAO::PG_Object_Group *&  group 
)

find group note: uses group id extracted from object_group

Returns
bool true if found
int TAO::PG_Group_Factory::find_group_with_name ( const char *  group_name,
::TAO::PG_Object_Group *&  group 
)

find group with the property with the designated value

Returns
bool true if found
TAO::PG_Group_Factory::Group_Map & TAO::PG_Group_Factory::get_group_map ( )
private

If persistence is being used, update the map as necessary based on what's in the group list store.

PortableGroup::ObjectGroups * TAO::PG_Group_Factory::groups_at_location ( const PortableGroup::Location the_location)
void TAO::PG_Group_Factory::init ( CORBA::ORB_ptr  orb,
PortableServer::POA_ptr  poa,
PortableGroup::FactoryRegistry_ptr  factory_registry 
)
int TAO::PG_Group_Factory::insert_group ( ::TAO::PG_Object_Group group)

insert existing group. Take ownership note: uses group id extracted from group object

Returns
bool true if insertion successful
int TAO::PG_Group_Factory::insert_group ( PortableGroup::ObjectGroupId  group_id,
::TAO::PG_Object_Group group 
)

insert group. Take ownership

Returns
bool true if insertion successful
TAO::PG_Object_Group_Storable * TAO::PG_Group_Factory::restore_persistent_group ( PortableGroup::ObjectGroupId  group_id,
CORBA::ORB_ptr  orb,
PortableGroup::FactoryRegistry_ptr  factory_registry,
TAO::PG_Object_Group_Manipulator manipulator,
TAO::Storable_Factory storable_factory 
)
protectedvirtual

Factory function to restore an object group from persistent store.

void TAO::PG_Group_Factory::set_object_group_storable_factory ( TAO::Storable_Factory factory)

persist internal state to file for fault tolerant purposes.

Member Data Documentation

const char* TAO::PG_Group_Factory::domain_id_
private
PortableGroup::FactoryRegistry_var TAO::PG_Group_Factory::factory_registry_
private

The factory registry for replica factories.

Group_Map TAO::PG_Group_Factory::group_map_
private
bool TAO::PG_Group_Factory::groups_read_
private
PG_Group_List_Store* TAO::PG_Group_Factory::list_store_
protected
::TAO::PG_Object_Group_Manipulator TAO::PG_Group_Factory::manipulator_
private
CORBA::ORB_var TAO::PG_Group_Factory::orb_
private
PortableServer::POA_var TAO::PG_Group_Factory::poa_
private

Reference to the POA used to create object group references.

Storable_Factory* TAO::PG_Group_Factory::storable_factory_
private
bool TAO::PG_Group_Factory::use_persistence_
protected

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