Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

# TAO_PG_Group_Guard Class Reference

Guard implementation used to make object group cleanup exception-safe. More...

`#include <PG_Group_Guard.h>`

Collaboration diagram for TAO_PG_Group_Guard:

[legend]
List of all members.

## Public Member Functions
| TAO_PG_Group_Guard (TAO_PG_GenericFactory &generic_factory, TAO_PG_Factory_Set &factory_set, TAO_PG_ObjectGroupManager &group_manager, const PortableServer::ObjectId &oid)
| Constructor.
| ~TAO_PG_Group_Guard (void)
| Destructor.
void | release (void)
| Relinquish cleanup responsibility.
## Private Attributes
TAO_PG_GenericFactory & | generic_factory_
TAO_PG_Factory_Set & | factory_set_
TAO_PG_ObjectGroupManager & | group_manager_
const PortableServer::ObjectId & | oid_
int | released_

## Detailed Description

Guard implementation used to make object group cleanup exception-safe.

This guard's destructor performs cleanup of object group resources. Thus, cleanup is performed when this guard goes out of scope unless explicitly released from that responsibility.

This guard is meant to be used internally by the TAO_PG_GenericFactory class.

## Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_PG_Group_Guard::TAO_PG_Group_Guard | ( | TAO_PG_GenericFactory & | generic_factory,
|  | TAO_PG_Factory_Set & | factory_set,
|  | TAO_PG_ObjectGroupManager & | group_manager,
|  | const PortableServer::ObjectId & | oid
| ) |

| Constructor.

TAO_PG_Group_Guard::~TAO_PG_Group_Guard | ( | void |  | ) |

| Destructor.

## Member Function Documentation

void TAO_PG_Group_Guard::release | ( | void |  | ) |

| Relinquish cleanup responsibility.

## Member Data Documentation

TAO_PG_Factory_Set& TAO_PG_Group_Guard::factory_set_`[private]`

| Reference to the TAO_PG_Factory_Set that contains all application-specific GenericFactory object references.

TAO_PG_GenericFactory& TAO_PG_Group_Guard::generic_factory_`[private]`

| Reference to the infrastructure TAO_PG_GenericFactory that created the below TAO_PG_Factory_Set.

TAO_PG_ObjectGroupManager& TAO_PG_Group_Guard::group_manager_`[private]`

| Reference to the TAO_PG_ObjectGroupManager that maintains the object group map.

const PortableServer::ObjectId& TAO_PG_Group_Guard::oid_`[private]`

| Reference to the ObjectId that is the map key necessary to unbind the corresponding object group map entry from the map upon destruction.

int TAO_PG_Group_Guard::released_`[private]`

| Flag that dictates whether or not the destructor will perform cleanup.

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

- PG_Group_Guard.h
- PG_Group_Guard.cpp