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:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 File_Open_Lock_and_Check (TAO_Storable_Naming_Context *context, const char *mode)
 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_Basepeer (void)
 Returns the stream to read/write on.

Private Types

 mode_write = 1
 mode_read = 2
 mode_create = 4
enum  { mode_write = 1, mode_read = 2, mode_create = 4 }
 Symbolic values for the flags in the above. More...

Private Member Functions

 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_Contextcontext_
 We need to save the pointer to our parent for cleaning up.
TAO_Storable_Basefl_
 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");
 


Member Enumeration Documentation

anonymous enum [private]

Symbolic values for the flags in the above.

Enumerator:
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 
)

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:
Generated on Mon Apr 30 23:36:52 2007 for TAO_CosNaming by  doxygen 1.4.7-1