root/src/add-ons/media/plugins/ape_reader/LibMonkeysAudio/PositionBridgeIO.h
#ifndef ___POSITION_BRIDGE_IO_H_
#define ___POSITION_BRIDGE_IO_H_
//------------------------------------------------------------------------------
// BeOS
#include <DataIO.h>
#include <SupportDefs.h>
// C++
// MAC
#include "NoWindows.h"  // before IO.h
#include "IO.h"
//------------------------------------------------------------------------------
//==============================================================================
class   TPositionBridgeIO : public CIO
{
public:
        TPositionBridgeIO();
        virtual ~TPositionBridgeIO();

        virtual int     Open(const char* oName);
        virtual int     Close();

        virtual int     Read(void* oBuf, unsigned int oBytesToRead, unsigned int* oBytesRead);
        virtual int     Write(const void* oBuf, unsigned int oBytesToWrite, unsigned int* oBytesWritten);

        virtual int     Seek(int oDistance, unsigned int oMoveMode);

        virtual int     Create(const char* oName);
        virtual int     Delete();

        virtual int     SetEOF();

        virtual int     GetPosition();
        virtual int     GetSize();
        virtual int     GetName(char* oBuffer);

        status_t        SetPositionIO(BPositionIO* oPositionIO);

private:
        BPositionIO*    mPositionIO;
};
//==============================================================================
#endif  // ___POSITION_BRIDGE_IO_H_