TAO_CosNaming  2.1.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all 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:
Collaboration graph

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

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: