#include <Storable_Naming_Context.h>
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_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 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_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. |
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");
anonymous enum [private] |
TAO_Storable_Naming_Context::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::TAO_Storable_Naming_Context::File_Open_Lock_and_Check::~File_Open_Lock_and_Check | ( | void | ) |
Destructor.
TAO_Storable_Naming_Context::TAO_Storable_Naming_Context::File_Open_Lock_and_Check::File_Open_Lock_and_Check | ( | void | ) | [private] |
Default constructor.
TAO_Storable_Base & TAO_Storable_Naming_Context::TAO_Storable_Naming_Context::File_Open_Lock_and_Check::peer | ( | void | ) |
Returns the stream to read/write on.
void TAO_Storable_Naming_Context::TAO_Storable_Naming_Context::File_Open_Lock_and_Check::release | ( | void | ) |
Releases the lock, closes the file, and deletes the I/O stream.
int TAO_Storable_Naming_Context::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::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::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::TAO_Storable_Naming_Context::File_Open_Lock_and_Check::rwflags_ [private] |
The flags that we were opened with.