TAO_PortableGroup 4.0.0
Loading...
Searching...
No Matches
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
[legend]

Public Member Functions

 PG_Group_Factory ()
 Constructor.
 
virtual ~PG_Group_Factory ()
 Destructor.
 
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 ()
 
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_MUTEXGroup_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_MUTEXGroup_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.
 
PortableGroup::FactoryRegistry_var factory_registry_
 The factory registry for replica factories.
 
::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

◆ Group_Map

◆ Group_Map_Entry

typedef ACE_Hash_Map_Entry< PortableGroup::ObjectGroupId, ::TAO::PG_Object_Group *> TAO::PG_Group_Factory::Group_Map_Entry
private

◆ Group_Map_Iterator

Constructor & Destructor Documentation

◆ PG_Group_Factory()

TAO::PG_Group_Factory::PG_Group_Factory ( )

Constructor.

◆ ~PG_Group_Factory()

TAO::PG_Group_Factory::~PG_Group_Factory ( )
virtual

Destructor.

Member Function Documentation

◆ all_groups()

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

return all groups in the factory

◆ create_group()

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 )

◆ create_persistent_group()

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.

◆ delete_group() [1/2]

void TAO::PG_Group_Factory::delete_group ( PortableGroup::ObjectGroup_ptr object_group)

◆ delete_group() [2/2]

void TAO::PG_Group_Factory::delete_group ( PortableGroup::ObjectGroupId group_id)

◆ destroy_group() [1/2]

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

◆ destroy_group() [2/2]

int TAO::PG_Group_Factory::destroy_group ( PortableGroup::ObjectGroupId object_group_id)

remove group from map and delete it.

Returns
bool true if found

◆ find_group() [1/2]

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

◆ find_group() [2/2]

int TAO::PG_Group_Factory::find_group ( PortableGroup::ObjectGroupId group_id,
::TAO::PG_Object_Group *& group )

find group

Returns
bool true if found

◆ find_group_with_name()

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

◆ get_group_map()

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.

◆ groups_at_location()

PortableGroup::ObjectGroups * TAO::PG_Group_Factory::groups_at_location ( const PortableGroup::Location & the_location)

◆ init()

void TAO::PG_Group_Factory::init ( CORBA::ORB_ptr orb,
PortableServer::POA_ptr poa,
PortableGroup::FactoryRegistry_ptr factory_registry )

◆ insert_group() [1/2]

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

◆ insert_group() [2/2]

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

◆ restore_persistent_group()

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.

◆ set_object_group_storable_factory()

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

◆ domain_id_

const char* TAO::PG_Group_Factory::domain_id_
private

◆ factory_registry_

PortableGroup::FactoryRegistry_var TAO::PG_Group_Factory::factory_registry_
private

The factory registry for replica factories.

◆ group_map_

Group_Map TAO::PG_Group_Factory::group_map_
private

◆ groups_read_

bool TAO::PG_Group_Factory::groups_read_
private

◆ list_store_

PG_Group_List_Store* TAO::PG_Group_Factory::list_store_
protected

◆ manipulator_

::TAO::PG_Object_Group_Manipulator TAO::PG_Group_Factory::manipulator_
private

◆ orb_

CORBA::ORB_var TAO::PG_Group_Factory::orb_
private

◆ poa_

PortableServer::POA_var TAO::PG_Group_Factory::poa_
private

Reference to the POA used to create object group references.

◆ storable_factory_

Storable_Factory* TAO::PG_Group_Factory::storable_factory_
private

◆ use_persistence_

bool TAO::PG_Group_Factory::use_persistence_
protected

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