BDataIO Class Reference

#include <DataIO.h>

Inheritance diagram for BDataIO:

BPositionIO BTransportAddOn BTransportIO BBitmapStream BBufferIO BFile BMallocIO BMemoryIO BMetaPositionIO BResourceItem BStringIO List of all members.

Detailed Description

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.
Neither 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


Constructor & Destructor Documentation

BDataIO  ) 
 

Does nothing.

~BDataIO  )  [virtual]
 

Does nothing.


Member Function Documentation

status_t GetMetaDataInfo const char *  in_name,
int32  in_index,
meta_info out_info,
BString out_name = NULL
const [inline]
 

status_t GetMetaDataInfo const char *  in_name,
meta_info out_info,
BString out_name = NULL
const [inline]
 

status_t GetNextMetaData void **  cookie,
meta_info out_info,
BString out_name = NULL
const [inline]
 

status_t MetaGetInfo const char *  in_name,
int32  in_index,
meta_info out_info,
BString out_name,
void **  inout_cookie
const [virtual]
 

Reimplemented in BMetaPositionIO, and BFile.

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]
 

Reimplemented in BMetaPositionIO, and BFile.

status_t MetaRemove const char *  in_name,
int32  in_index
[virtual]
 

Reimplemented in BMetaPositionIO, and BFile.

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]
 

Reimplemented in BMetaPositionIO, and BFile.

ssize_t Read void *  buffer,
size_t  numBytes
[pure virtual]
 

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.

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 [inline]
 

ssize_t ReadMetaData const char *  in_name,
type_code  in_type,
int32  in_index,
void *  out_buf,
size_t  in_size
const [inline]
 

ssize_t ReadMetaData const char *  in_name,
type_code  in_type,
void *  out_buf,
size_t  in_size
const [inline]
 

status_t RemoveAllMetaData  )  [inline]
 

status_t RemoveMetaData const char *  in_name,
int32  in_index
[inline]
 

status_t RemoveMetaData const char *  in_name  )  [inline]
 

ssize_t Write const void *  buffer,
size_t  numBytes
[pure virtual]
 

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.

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
[inline]
 

ssize_t WriteMetaData const char *  in_name,
type_code  in_type,
int32  in_index,
const void *  in_buf,
size_t  in_size
[inline]
 

ssize_t WriteMetaData const char *  in_name,
type_code  in_type,
const void *  in_buf,
size_t  in_size
[inline]
 


Copyright 2005 by yellowTAB GmbH, Be Inc., Palm Source Inc. and their respective legal successors
All rights reserved.