プラグイン
IReader.h
Go to the documentation of this file.
1 #pragma once
2 
5 
6 namespace Mix{ namespace Plugin{
7 
10  class IReader
11  {
12  public:
16  {
17  BEGIN = 0,
18  CURRENT = 1,
19  END = 2,
20  };
21 
22  protected:
24  virtual ~IReader( void ) {}
25 
26  public:
29  virtual unsigned long long GetSize( void ) const = 0;
32  virtual unsigned long long GetPosition( void ) const = 0;
37  virtual unsigned int Read( void* pBuffer, unsigned int readSize ) = 0;
42  virtual const void* Read( unsigned int readSize, unsigned int& result ) = 0;
47  virtual unsigned long long Seek( Mix::Plugin::IReader::SEEK_METHOD method, unsigned long long distance ) = 0;
48  };
49 
50 }}
ソースの先頭から終端に向かって移動
Definition: IReader.h:17
virtual unsigned long long GetSize(void) const =0
サイズを取得します
virtual unsigned int Read(void *pBuffer, unsigned int readSize)=0
バッファに指定したサイズだけ読み取ります
virtual ~IReader(void)
デストラクタ
Definition: IReader.h:24
ソースの終端から先頭に向かって移動
Definition: IReader.h:19
SEEK_METHOD
シークメソッド列挙定数
Definition: IReader.h:15
現在の位置から移動
Definition: IReader.h:18
virtual unsigned long long Seek(Mix::Plugin::IReader::SEEK_METHOD method, unsigned long long distance)=0
読み取り位置を移動します
ルート
virtual unsigned long long GetPosition(void) const =0
読み取り位置を取得します
リーダーインターフェース
Definition: IReader.h:10