Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members

# TAO_Storable_Naming_Context::File_Open_Lock_and_Check Class Reference

Helper class for the TAO_Storable_Naming_Context. More...

`#include <Storable_Naming_Context.h>`

Collaboration diagram for TAO_Storable_Naming_Context::File_Open_Lock_and_Check:

[legend]
List of all members.

## Public Methods
| File_Open_Lock_and_Check (TAO_Storable_Naming_Context *context, const char *mode ACE_ENV_ARG_DECL)
| Constructor - we always need the object which we guard.
| ~File_Open_Lock_and_Check (void)
| Destructor.
void | release (void)
| Releases the lock, closes the file, and deletes the I/O stream.
TAO_Storable_Base & | peer (void)
| Returns the stream to read/write on.
## Private Types
enum | { mode_write = 1, mode_read = 2, mode_create = 4 }
| Symbolic values for the flags in the above. More...
## Private Methods
| File_Open_Lock_and_Check (void)
| Default constructor.
## Private Attributes
int | closed_
| A flag to keep us from trying to close things more than once.
TAO_Storable_Naming_Context * | context_
| We need to save the pointer to our parent for cleaning up.
TAO_Storable_Base * | fl_
| The pointer to the actual file I/O (bridge pattern).
int | rwflags_
| The flags that we were opened with.

## Detailed Description

Helper class for the TAO_Storable_Naming_Context.

Guard class for the TAO_Storable_Naming_Context. It opens a file for read/write and sets a lock on it. It then checks if the file has changed and re-reads it if it has.

The destructor insures that the lock gets released.

     How to use this class:
       File_Open_Lock_and_Check flck(this, name_len > 1 ? "r" : "rw");
         ACE_CHECK;

## Member Enumeration Documentation

anonymous enum`[private]`

  | Symbolic values for the flags in the above. Enumeration values:
  mode_write |
  mode_read |
  mode_create |

## Constructor & Destructor Documentation

TAO_Storable_Naming_Context::File_Open_Lock_and_Check::File_Open_Lock_and_Check | ( | TAO_Storable_Naming_Context * | context,
|  | const char *mode | ACE_ENV_ARG_DECL
| ) |

| Constructor - we always need the object which we guard.

TAO_Storable_Naming_Context::File_Open_Lock_and_Check::~File_Open_Lock_and_Check | ( | void |  | ) |

| Destructor.

TAO_Storable_Naming_Context::File_Open_Lock_and_Check::File_Open_Lock_and_Check | ( | void |  | ) | `[private]`

| Default constructor.

## Member Function Documentation

TAO_Storable_Base & TAO_Storable_Naming_Context::File_Open_Lock_and_Check::peer | ( | void |  | ) |

| Returns the stream to read/write on.

void TAO_Storable_Naming_Context::File_Open_Lock_and_Check::release | ( | void |  | ) |

| Releases the lock, closes the file, and deletes the I/O stream.

## Member Data Documentation

int TAO_Storable_Naming_Context::File_Open_Lock_and_Check::closed_`[private]`

| A flag to keep us from trying to close things more than once.

TAO_Storable_Naming_Context* TAO_Storable_Naming_Context::File_Open_Lock_and_Check::context_`[private]`

| We need to save the pointer to our parent for cleaning up.

TAO_Storable_Base* TAO_Storable_Naming_Context::File_Open_Lock_and_Check::fl_`[private]`

| The pointer to the actual file I/O (bridge pattern).

int TAO_Storable_Naming_Context::File_Open_Lock_and_Check::rwflags_`[private]`

| The flags that we were opened with.

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

- Storable_Naming_Context.h
- Storable_Naming_Context.cpp