casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Member Functions | Private Attributes
casa::TSMFile Class Reference

File object for Tiled Storage Manager. More...

#include <TSMFile.h>

List of all members.

Public Member Functions

 TSMFile (const TiledStMan *stMan, uInt fileSequenceNr, const TSMOption &)
 Create a TSMFile object (with corresponding file).
 TSMFile (const String &fileName, Bool writable, const TSMOption &)
 Create a TSMFile object for the given existing file.
 TSMFile (const TiledStMan *stMan, AipsIO &ios, uInt seqnr, const TSMOption &)
 Read the object back.
 ~TSMFile ()
 The destructor closes the file.
void putObject (AipsIO &ios) const
 Write the object.
void getObject (AipsIO &ios)
 Get the object.
void open ()
 Open the file if not open yet.
BucketFilebucketFile ()
 Return the BucketFile object (to be used in the BucketCache).
Int64 length () const
 Return the logical file length.
uInt sequenceNumber () const
 Return the file sequence number.
void extend (Int64 increment)
 Increment the logical file length.

Private Member Functions

 TSMFile (const TSMFile &)
 Forbid copy constructor.
TSMFileoperator= (const TSMFile &)
 Forbid assignment.

Private Attributes

uInt fileSeqnr_p
 The file sequence number.
BucketFilefile_p
 The file object.
Int64 length_p
 The (logical) length of the file.

Detailed Description

File object for Tiled Storage Manager.

Intended use:

Internal

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25

Prerequisite

Etymology

TSMFile represents a data file for the Tiled Storage Manager.

Synopsis

A TSMFile object represents a data file. Currently it is meant for the TiledStMan classes, but it can easily be turned into a more general storage manager file class.
Creation of a TSMFile object does not open the file. An explicit open call has to be given before the file can be used.

Underneath it uses a BucketFile to access the file. In this way the IO details are well encapsulated.

Motivation

Encapsulate the Tiled Storage Manager file details.

Definition at line 80 of file TSMFile.h.


Constructor & Destructor Documentation

casa::TSMFile::TSMFile ( const TiledStMan stMan,
uInt  fileSequenceNr,
const TSMOption  
)

Create a TSMFile object (with corresponding file).

The sequence number gets part of the file name.

casa::TSMFile::TSMFile ( const String fileName,
Bool  writable,
const TSMOption  
)

Create a TSMFile object for the given existing file.

casa::TSMFile::TSMFile ( const TiledStMan stMan,
AipsIO ios,
uInt  seqnr,
const TSMOption  
)

Read the object back.

The file is not opened until the first access, thus until the file descriptor is asked for the first time. It checks if the sequence number matches the expected one.

The destructor closes the file.

casa::TSMFile::TSMFile ( const TSMFile ) [private]

Forbid copy constructor.


Member Function Documentation

Return the BucketFile object (to be used in the BucketCache).

Definition at line 149 of file TSMFile.h.

References file_p.

void casa::TSMFile::extend ( Int64  increment) [inline]

Increment the logical file length.

Definition at line 146 of file TSMFile.h.

References length_p.

Get the object.

Int64 casa::TSMFile::length ( ) const [inline]

Return the logical file length.

Definition at line 140 of file TSMFile.h.

References length_p.

void casa::TSMFile::open ( ) [inline]

Open the file if not open yet.

Definition at line 152 of file TSMFile.h.

References file_p, and casa::BucketFile::open().

TSMFile& casa::TSMFile::operator= ( const TSMFile ) [private]

Forbid assignment.

void casa::TSMFile::putObject ( AipsIO ios) const

Write the object.

uInt casa::TSMFile::sequenceNumber ( ) const [inline]

Return the file sequence number.

Definition at line 143 of file TSMFile.h.

References fileSeqnr_p.


Member Data Documentation

The file object.

Definition at line 127 of file TSMFile.h.

Referenced by bucketFile(), and open().

The file sequence number.

Definition at line 125 of file TSMFile.h.

Referenced by sequenceNumber().

The (logical) length of the file.

Definition at line 129 of file TSMFile.h.

Referenced by extend(), and length().


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