casacore
|
fixed-length blocked sequentual I/O base class
More...
#include <blockio.h>
Public Types | |
enum | IOErrs { OK , NOSUCHFILE , NOMEM , OPENERR , CLOSEERR , READERR , WRITEERR } |
error return code More... | |
Public Member Functions | |
int | err () const |
int | blockno () const |
number of physical blocks read/written More... | |
void | reset_iosize () |
reset the m_iosize data member More... | |
int | iosize () const |
get the total bytes of data in m_buffer More... | |
int | current () const |
get the current read position within m_buffer More... | |
char * | buffer () const |
get m_buffer More... | |
int | recno () const |
number of logical records read/written More... | |
const char * | fname () const |
name of file associated with I/O stream, if applicable More... | |
int | close_file (fitsfile *fptr, int *status) |
fits_close_file() does not work for reasons that the file pointer does not have the knowledge of chdu which were written with write_hdr() not write_***_hdr(). More... | |
int | fdes () const |
file descriptor associated with I/O stream, if applicable More... | |
fitsfile * | getfptr () const |
get the fitsfile pointer More... | |
void | setfptr (fitsfile *ffp) |
Protected Member Functions | |
BlockIO (const char *, int, int, int=1, FITSErrorHandler errhandler=FITSError::defaultHandler) | |
Construction can be done either from a filename with open options or from a file descriptor. More... | |
BlockIO (int, int, int=1, FITSErrorHandler errhandler=FITSError::defaultHandler) | |
virtual | ~BlockIO () |
void | errmsg (IOErrs, const char *) |
set the error message and error number for later recovery More... | |
Protected Attributes | |
char * | m_filename |
int | m_options |
const int | m_recsize |
const int | m_nrec |
const int | m_blocksize |
FITSErrorHandler | m_errfn |
IOErrs | m_err_status |
int | m_fd |
char * | m_buffer |
int | m_block_no |
int | m_rec_no |
int | m_current |
int | m_iosize |
size of record in buffer More... | |
fitsfile * | m_fptr |
using fitsfile structure from cfitsio of NASA More... | |
fixed-length blocked sequentual I/O base class
BlockIO is a low level base class that implements fixed-length blocked sequential I/O. Its derived classes, BlockInput and BlockOutput are used by the FitsInput and FitsOutput classes. Users will hardly ever need to use this class directly.
|
protected |
Construction can be done either from a filename with open options or from a file descriptor.
The remaining arguments are the the logical record size and number of records that make up a physical record followed by the output stream that is used to write error messages to.
|
protected |
|
protectedvirtual |
|
inline |
number of physical blocks read/written
Definition at line 69 of file blockio.h.
References m_block_no.
Referenced by casacore::FitsInput::blockno().
|
inline |
int casacore::BlockIO::close_file | ( | fitsfile * | fptr, |
int * | status | ||
) |
fits_close_file() does not work for reasons that the file pointer does not have the knowledge of chdu which were written with write_hdr() not write_***_hdr().
So create our own close_file() method.
|
inline |
|
inline |
Definition at line 66 of file blockio.h.
References m_err_status.
|
protected |
set the error message and error number for later recovery
|
inline |
|
inline |
name of file associated with I/O stream, if applicable
Definition at line 87 of file blockio.h.
References m_filename.
|
inline |
|
inline |
|
inline |
number of logical records read/written
Definition at line 84 of file blockio.h.
References m_rec_no.
Referenced by casacore::FitsInput::recno().
|
inline |
void casacore::BlockIO::setfptr | ( | fitsfile * | ffp | ) |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
size of record in buffer
Definition at line 126 of file blockio.h.
Referenced by iosize(), and reset_iosize().
|
protected |