BPositionIO Class Reference

#include <DataIO.h>

Inheritance diagram for BPositionIO:

BDataIO BBitmapStream BBufferIO BFile BMallocIO BMemoryIO BMetaPositionIO BResourceItem BStringIO List of all members.

Detailed Description

BPositionIO is an abstract class that defines protocols for performing input/output operations. See BDataIO for information about this class.



Public Member Functions

 BPositionIO ()
virtual ~BPositionIO ()
virtual ssize_t Read (void *buffer, size_t size)
virtual ssize_t Write (const void *buffer, size_t size)
virtual ssize_t ReadAt (off_t pos, void *buffer, size_t size)=0
virtual ssize_t WriteAt (off_t pos, const void *buffer, size_t size)=0
virtual off_t Seek (off_t position, uint32 seek_mode)=0
virtual off_t Position () const =0
virtual status_t SetSize (off_t size)


Constructor & Destructor Documentation

BPositionIO  ) 
 

Does nothing. Constructors in derived classes should initialize the object to default values—for example, set the current position to the beginning of the data.

~BPositionIO  )  [virtual]
 

Does nothing.


Member Function Documentation

off_t Position void   )  const [pure virtual]
 

Returns:
the current position

Implemented in BMetaPositionIO, BResourceItem, BFile, BBufferIO, BMallocIO, BMemoryIO, BStringIO, and BBitmapStream.

ssize_t Read void *  buf,
size_t  size
[virtual]
 

Copies size bytes of data from the object to the buf. It returns the number of bytes actually read (which may be 0) or an error code if somethinggoes wrong. Read() is implemented using Seek(), ReadAt(), and Position(), all of which are pure virtual functions.

Implements BDataIO.

Reimplemented in BMetaPositionIO, and BFile.

virtual ssize_t ReadAt off_t  pos,
void *  buffer,
size_t  size
[pure virtual]
 

Implemented in BMetaPositionIO, BResourceItem, BFile, BBufferIO, BMallocIO, BMemoryIO, BStringIO, and BBitmapStream.

virtual off_t Seek off_t  position,
uint32  seek_mode
[pure virtual]
 

Implemented in BMetaPositionIO, BResourceItem, BFile, BBufferIO, BMallocIO, BMemoryIO, BStringIO, and BBitmapStream.

status_t SetSize off_t  size  )  [virtual]
 

Returns B_ERROR to indicate that, in general, BPositionIO objects can't set the amount of memory in the repositories they represent. However, the BMallocIO class in this kit and BFile in the Storage Kit implement SetSize() functions that override this default.

Reimplemented in BMetaPositionIO, BResourceItem, BFile, BBufferIO, BMallocIO, BMemoryIO, BStringIO, and BBitmapStream.

ssize_t Write const void *  buf,
size_t  size
[virtual]
 

Copies size bytes of data from the object into the buf. It returns the number of bytes actually written (which may be 0) or an error code if something goes wrong. Write() is implemented using Seek(), Position(), and WriteAt(), all of which are pure virtual functions.

Implements BDataIO.

Reimplemented in BMetaPositionIO, and BFile.

virtual ssize_t WriteAt off_t  pos,
const void *  buffer,
size_t  size
[pure virtual]
 

Implemented in BMetaPositionIO, BResourceItem, BFile, BBufferIO, BMallocIO, BMemoryIO, BStringIO, and BBitmapStream.


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