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 Member Functions | Private Attributes | Friends | List of all members
TAO::PG_Object_Group_Storable Class Reference

#include <PG_Object_Group_Storable.h>

Inheritance diagram for TAO::PG_Object_Group_Storable:
Inheritance graph
Collaboration diagram for TAO::PG_Object_Group_Storable:
Collaboration graph

Public Member Functions

 PG_Object_Group_Storable (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)
 
 PG_Object_Group_Storable (PortableGroup::ObjectGroupId group_id, CORBA::ORB_ptr orb, PortableGroup::FactoryRegistry_ptr factory_registry, TAO::PG_Object_Group_Manipulator &manipulator, TAO::Storable_Factory &storable_factory)
 
 ~PG_Object_Group_Storable ()
 Destructor. More...
 
void set_destroyed (bool destroyed)
 
virtual void stale (bool is_stale)
 
virtual bool stale ()
 
virtual const
PortableGroup::Location
get_primary_location ()
 
virtual void add_member (const PortableGroup::Location &the_location, CORBA::Object_ptr member)
 
virtual int set_primary_member (TAO_IOP::TAO_IOR_Property *prop, const PortableGroup::Location &the_location)
 
virtual void remove_member (const PortableGroup::Location &the_location)
 
virtual void create_member (const PortableGroup::Location &the_location, const char *type_id, const PortableGroup::Criteria &the_criteria)
 
virtual PortableGroup::Locationslocations_of_members (void)
 
virtual CORBA::Object_ptr get_member_reference (const PortableGroup::Location &the_location)
 
virtual void initial_populate (void)
 
virtual void minimum_populate (void)
 
virtual int has_member_at (const PortableGroup::Location &location)
 
virtual void distribute (int value)
 
virtual void set_name (const char *group_name)
 
virtual const char * get_name (void)
 
virtual
PortableGroup::ObjectGroupId 
get_object_group_id () const
 
- Public Member Functions inherited from TAO::PG_Object_Group
 PG_Object_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)
 
 PG_Object_Group (CORBA::ORB_ptr orb, PortableGroup::FactoryRegistry_ptr factory_registry, TAO::PG_Object_Group_Manipulator &manipulator)
 
virtual ~PG_Object_Group ()
 Destructor. More...
 
PortableGroup::ObjectGroup_ptr reference () const
 return a duplicated reference to this group (IOGR) More...
 
void get_group_specific_factories (PortableGroup::FactoryInfos &result) const
 
PortableGroup::TypeId get_type_id () const
 
PortableGroup::MembershipStyleValue get_membership_style () const
 
PortableGroup::MinimumNumberMembersValue get_minimum_number_members () const
 
PortableGroup::InitialNumberMembersValue get_initial_number_members () const
 
void set_properties_dynamically (const PortableGroup::Properties &overrides)
 
void get_properties (PortableGroup::Properties_var &result) const
 

Protected Member Functions

virtual void state_written (void)
 
virtual bool is_obsolete (time_t stored_time)
 
- Protected Member Functions inherited from TAO::PG_Object_Group
virtual
PortableGroup::ObjectGroup_ptr 
add_member_to_iogr (CORBA::Object_ptr member)
 
void clear_members_map (void)
 

Protected Attributes

bool loaded_from_stream_
 
bool destroyed_
 
bool write_occurred_
 To set when state written out. More...
 
TAO_SYNCH_MUTEX lock_
 
- Protected Attributes inherited from TAO::PG_Object_Group
CORBA::ORB_var orb_
 
TAO::PG_Object_Group_Manipulatormanipulator_
 
int distribute_
 boolean true if updates should be distributed More...
 
int empty_
 boolean true if empty group More...
 
ACE_CString role_
 
PortableGroup::TypeId_var type_id_
 
PortableGroup::TagGroupTaggedComponent tagged_component_
 
PortableGroup::ObjectGroup_var reference_
 
PortableServer::ObjectId_var object_id_
 
char * group_name_
 
MemberMap members_
 
PortableGroup::Location primary_location_
 
TAO::PG_Property_Set properties_
 
PortableGroup::InitialNumberMembersValue initial_number_members_
 
PortableGroup::MinimumNumberMembersValue minimum_number_members_
 
PortableGroup::FactoryInfos group_specific_factories_
 

Private Member Functions

 PG_Object_Group_Storable ()
 
 PG_Object_Group_Storable (const PG_Object_Group_Storable &rhs)
 
PG_Object_Group_Storableoperator= (const PG_Object_Group_Storable &rhs)
 
TAO::Storable_Basecreate_stream (const char *mode)
 
void read (TAO::Storable_Base &stream)
 
void write (TAO::Storable_Base &stream)
 

Private Attributes

bool group_previously_stored_
 Indicate if instance of object group has been restored from store. More...
 
PortableGroup::ObjectGroupId group_id_previously_stored_
 
TAO::Storable_Factorystorable_factory_
 
time_t last_changed_
 

Friends

class Object_Group_File_Guard
 

Additional Inherited Members

- Protected Types inherited from TAO::PG_Object_Group
typedef TAO_SYNCH_MUTEX MemberMapMutex
 
typedef
ACE_Hash_Map_Manager_Ex
< PortableGroup::Location,
MemberInfo
*, TAO_PG_Location_Hash,
TAO_PG_Location_Equal_To,
MemberMapMutex
MemberMap
 
typedef ACE_Hash_Map_Entry
< PortableGroup::Location,
MemberInfo * > 
MemberMap_Entry
 
typedef
ACE_Hash_Map_Iterator_Ex
< PortableGroup::Location,
MemberInfo
*, TAO_PG_Location_Hash,
TAO_PG_Location_Equal_To,
MemberMapMutex
MemberMap_Iterator
 

Detailed Description

An object group whose state persists to a stream so that its state can be saved/retrieved between processes that use the group.

Constructor & Destructor Documentation

TAO::PG_Object_Group_Storable::PG_Object_Group_Storable ( 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 
)

This constructor is suitable for creating an object group from scratch.

TAO::PG_Object_Group_Storable::PG_Object_Group_Storable ( PortableGroup::ObjectGroupId  group_id,
CORBA::ORB_ptr  orb,
PortableGroup::FactoryRegistry_ptr  factory_registry,
TAO::PG_Object_Group_Manipulator manipulator,
TAO::Storable_Factory storable_factory 
)

This constructor is suitable for creating an object group from persistent store.

TAO::PG_Object_Group_Storable::~PG_Object_Group_Storable ( void  )

Destructor.

TAO::PG_Object_Group_Storable::PG_Object_Group_Storable ( )
private
TAO::PG_Object_Group_Storable::PG_Object_Group_Storable ( const PG_Object_Group_Storable rhs)
private

Member Function Documentation

void TAO::PG_Object_Group_Storable::add_member ( const PortableGroup::Location the_location,
CORBA::Object_ptr  member 
)
virtual

Add a new member to the group.

Parameters
the_locationthe location for the new member
memberthe member to be added

Reimplemented from TAO::PG_Object_Group.

void TAO::PG_Object_Group_Storable::create_member ( const PortableGroup::Location the_location,
const char *  type_id,
const PortableGroup::Criteria the_criteria 
)
virtual

@TODO DOC

Reimplemented from TAO::PG_Object_Group.

TAO::Storable_Base * TAO::PG_Object_Group_Storable::create_stream ( const char *  mode)
private
void TAO::PG_Object_Group_Storable::distribute ( int  value)
virtual

Tell the object group that it should distribute updates to the object group state.

Reimplemented from TAO::PG_Object_Group.

CORBA::Object_ptr TAO::PG_Object_Group_Storable::get_member_reference ( const PortableGroup::Location the_location)
virtual

@TODO DOC

Reimplemented from TAO::PG_Object_Group.

const char * TAO::PG_Object_Group_Storable::get_name ( void  )
virtual

Reimplemented from TAO::PG_Object_Group.

PortableGroup::ObjectGroupId TAO::PG_Object_Group_Storable::get_object_group_id ( void  ) const
virtual

@TODO DOC

Reimplemented from TAO::PG_Object_Group.

const PortableGroup::Location & TAO::PG_Object_Group_Storable::get_primary_location ( void  )
virtual

get location of primary member

Reimplemented from TAO::PG_Object_Group.

int TAO::PG_Object_Group_Storable::has_member_at ( const PortableGroup::Location location)
virtual

@TODO DOC

Reimplemented from TAO::PG_Object_Group.

void TAO::PG_Object_Group_Storable::initial_populate ( void  )
virtual

@TODO DOC

Reimplemented from TAO::PG_Object_Group.

bool TAO::PG_Object_Group_Storable::is_obsolete ( time_t  stored_time)
protectedvirtual

A callback invoked by the object group file guard to determine if this context is obsolete with respect to the peristent store.

PortableGroup::Locations * TAO::PG_Object_Group_Storable::locations_of_members ( void  )
virtual

@TODO DOC

Reimplemented from TAO::PG_Object_Group.

void TAO::PG_Object_Group_Storable::minimum_populate ( void  )
virtual

@TODO DOC

Reimplemented from TAO::PG_Object_Group.

PG_Object_Group_Storable& TAO::PG_Object_Group_Storable::operator= ( const PG_Object_Group_Storable rhs)
private
void TAO::PG_Object_Group_Storable::read ( TAO::Storable_Base stream)
private
void TAO::PG_Object_Group_Storable::remove_member ( const PortableGroup::Location the_location)
virtual

@TODO DOC

Reimplemented from TAO::PG_Object_Group.

void TAO::PG_Object_Group_Storable::set_destroyed ( bool  destroyed)

Indicate that this object group is to be permanently destroyed. During destruction the persistent store for this will then be removed. This is to distinguish between deletion from a process shutdown verses deletion from a destroy request.

void TAO::PG_Object_Group_Storable::set_name ( const char *  group_name)
virtual

Reimplemented from TAO::PG_Object_Group.

int TAO::PG_Object_Group_Storable::set_primary_member ( TAO_IOP::TAO_IOR_Property *  prop,
const PortableGroup::Location the_location 
)
virtual

set the replica at the given location to be primary. Note: This should return void and throw FT::PrimaryNotSet but to avoid dependancies between PortableGroup and FaultTolerance it returns a boolean result. A false return means caller should throw FT::PrimaryNot_Set.

Reimplemented from TAO::PG_Object_Group.

void TAO::PG_Object_Group_Storable::stale ( bool  is_stale)
virtual

Allow for replication persistence support by derived classes.

bool TAO::PG_Object_Group_Storable::stale ( )
virtual
void TAO::PG_Object_Group_Storable::state_written ( void  )
protectedvirtual

Signals that this context was updated.

void TAO::PG_Object_Group_Storable::write ( TAO::Storable_Base stream)
private

Friends And Related Function Documentation

friend class Object_Group_File_Guard
friend

Member Data Documentation

bool TAO::PG_Object_Group_Storable::destroyed_
protected
PortableGroup::ObjectGroupId TAO::PG_Object_Group_Storable::group_id_previously_stored_
private
bool TAO::PG_Object_Group_Storable::group_previously_stored_
private

Indicate if instance of object group has been restored from store.

time_t TAO::PG_Object_Group_Storable::last_changed_
private
bool TAO::PG_Object_Group_Storable::loaded_from_stream_
protected
TAO_SYNCH_MUTEX TAO::PG_Object_Group_Storable::lock_
protected
TAO::Storable_Factory& TAO::PG_Object_Group_Storable::storable_factory_
private
bool TAO::PG_Object_Group_Storable::write_occurred_
protected

To set when state written out.


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