#include <DataIO.h>
Inheritance diagram for BDataIO:

BDataIO is an abstract class that defines protocols for objects that can Read() and Write() data.
BPositionIO, BDataIO's main subclass, declares an additional set of functions (ReadAt(), WriteAt(), Seek(), and Position()) for objects that can keep track of the current position in the I/O buffer; it implements Read() and Write() in terms of these other functions.BDataIO nor BPositionIO declares any data members, nor do they implement the functions in the protocols they declare. It's up to derived classes to implement them based on the properties of the particular kinds of data sources/repositories they represent.
Public Member Functions | |
| BDataIO () | |
| virtual | ~BDataIO () |
| virtual ssize_t | Read (void *buffer, size_t size)=0 |
| virtual ssize_t | Write (const void *buffer, size_t size)=0 |
| ssize_t | WriteMetaData (const char *in_name, type_code in_type, const void *in_buf, size_t in_size) |
| ssize_t | WriteMetaData (const char *in_name, type_code in_type, int32 in_index, const void *in_buf, size_t in_size) |
| ssize_t | WriteMetaData (const char *in_name, type_code in_type, int32 in_index, off_t in_offset, const void *in_buf, size_t in_size) |
| ssize_t | ReadMetaData (const char *in_name, type_code in_type, void *out_buf, size_t in_size) const |
| ssize_t | ReadMetaData (const char *in_name, type_code in_type, int32 in_index, void *out_buf, size_t in_size) const |
| ssize_t | ReadMetaData (const char *in_name, type_code in_type, int32 in_index, off_t in_offset, void *out_buf, size_t in_size) const |
| status_t | RemoveMetaData (const char *in_name) |
| status_t | RemoveMetaData (const char *in_name, int32 in_index) |
| status_t | RemoveAllMetaData () |
| status_t | GetMetaDataInfo (const char *in_name, meta_info *out_info, BString *out_name=NULL) const |
| status_t | GetMetaDataInfo (const char *in_name, int32 in_index, meta_info *out_info, BString *out_name=NULL) const |
| status_t | GetNextMetaData (void **cookie, meta_info *out_info, BString *out_name=NULL) const |
| virtual ssize_t | MetaWrite (const char *in_name, type_code in_type, int32 in_index, off_t in_offset, const void *in_buf, size_t in_size) |
| virtual ssize_t | MetaRead (const char *in_name, type_code in_type, int32 in_index, off_t in_offset, void *out_buf, size_t in_size) const |
| virtual status_t | MetaRemove (const char *in_name, int32 in_index) |
| virtual status_t | MetaGetInfo (const char *in_name, int32 in_index, meta_info *out_info, BString *out_name, void **inout_cookie) const |
|
|
Does nothing. |
|
|
Does nothing. |
|
||||||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||||||||||||||
|
Reimplemented in BMetaPositionIO, and BFile. |
|
||||||||||||||||||||||||||||
|
Reimplemented in BMetaPositionIO, and BFile. |
|
||||||||||||
|
Reimplemented in BMetaPositionIO, and BFile. |
|
||||||||||||||||||||||||||||
|
Reimplemented in BMetaPositionIO, and BFile. |
|
||||||||||||
|
Is implemented by derived classes to copy numBytes bytes of data from the object to the buffer. It should return the number of bytes actually read, which may be 0, or an error code if something goes wrong. Implemented in BMetaPositionIO, BTransportAddOn, BTransportIO, BFile, and BPositionIO. |
|
||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
||||||||||||
|
Is implemented by derived classes to copy numBytes bytes of data from the buffer to the object. It should return the number of bytes actually written, which may be 0, or an error code if the operation fails. Implemented in BMetaPositionIO, BTransportAddOn, BTransportIO, BFile, and BPositionIO. |
|
||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||
|
|
|
||||||||||||||||||||
|
|