117 lines
2.8 KiB
C++
117 lines
2.8 KiB
C++
/*
|
||
クラスライブラリのインタフェース
|
||
(NP2) Sachiko Yasukawa
|
||
*/
|
||
// Date | Author | Description
|
||
// -----------+--------------+--------------------------------------------
|
||
// 1998.03.27 | Hideki Yagi | Change the specification about
|
||
// | | Get***Property().
|
||
//
|
||
|
||
typedef enum {
|
||
PowerOff,
|
||
Stop,
|
||
Pause,
|
||
Play,
|
||
Slow,
|
||
Scan
|
||
} LIBSTATE;
|
||
|
||
class IMPEGBuffer : public IMBoardListItem
|
||
{
|
||
public:
|
||
virtual DWORD GetPageNum()=0;
|
||
virtual DWORD GetPageSize(DWORD PageNum)=0;
|
||
virtual BOOL GetPagePointer(DWORD PageNum, DWORD *LinearAdd, DWORD *PhyAdd)=0;
|
||
virtual DWORD GetBufferFlag()=0;
|
||
};
|
||
|
||
class IMPEGBoardState
|
||
{
|
||
public:
|
||
virtual BOOL Init()=0;
|
||
};
|
||
|
||
//class IMPEGBoardLibEvent
|
||
//{
|
||
//public:
|
||
// virtual void Advice(PVOID)=0;
|
||
// virtual HALEVENTTYPE GetEventType()=0;
|
||
//};
|
||
|
||
class ITransfer
|
||
{
|
||
public:
|
||
virtual BOOL Init()=0;
|
||
virtual BOOL SetSink(IMPEGBoardEvent *pEvent)=0;
|
||
virtual BOOL UnSetSink(IMPEGBoardEvent *pEvent)=0;
|
||
virtual BOOL SetDMABuffer(DWORD size, BYTE* LinerAdd, BYTE *PhysAdd)=0;
|
||
};
|
||
|
||
class IStateObject;
|
||
|
||
class IBaseStream
|
||
{
|
||
public:
|
||
virtual BOOL Init()=0;
|
||
virtual BOOL Play()=0;
|
||
virtual BOOL Stop()=0;
|
||
virtual BOOL Pause()=0;
|
||
virtual BOOL Slow(DWORD)=0;
|
||
virtual BOOL Scan(DWORD)=0;
|
||
virtual BOOL SingleStep()=0;
|
||
virtual LIBSTATE GetState()=0;
|
||
virtual BOOL SendData(IMPEGBuffer *)=0;
|
||
virtual BOOL SetStateObject(IMPEGBoardState *pState)=0;
|
||
virtual BOOL SetTransferObject(ITransfer *pTransfer)=0;
|
||
virtual BOOL SetTransferMode(HALSTREAMMODE)=0;
|
||
virtual BOOL SetDataDirection( DirectionType type ) = 0;
|
||
virtual BOOL GetDataDirection( DirectionType *ptype ) = 0;
|
||
};
|
||
|
||
class IVideoProperty
|
||
{
|
||
public:
|
||
virtual BOOL GetVideoProperty(VIDEOPROPTYPE PropertyType, PVOID pProperty)=0;
|
||
virtual BOOL SetVideoProperty(VIDEOPROPTYPE PropetyType, PVOID pProperty)=0;
|
||
};
|
||
|
||
class IAudioProperty
|
||
{
|
||
public:
|
||
virtual BOOL GetAudioProperty(AUDIOPROPTYPE PropertyType, PVOID pProperty)=0;
|
||
virtual BOOL SetAudioProperty(AUDIOPROPTYPE PropertyType, PVOID pProperty)=0;
|
||
};
|
||
|
||
class ISubpicProperty
|
||
{
|
||
public:
|
||
virtual BOOL GetSubpicProperty(SUBPICPROPTYPE PropertyType, PVOID pProperty)=0;
|
||
virtual BOOL SetSubpicProperty(SUBPICPROPTYPE PropertyType, PVOID pProperty)=0;
|
||
};
|
||
|
||
class ICopyProtectProperty
|
||
{
|
||
public:
|
||
virtual BOOL CppInit() =0;
|
||
virtual BOOL SetChlgKey(UCHAR *)=0;
|
||
virtual BOOL GetChlgKey(UCHAR *)=0;
|
||
virtual BOOL SetDVDKey1(UCHAR *)=0;
|
||
virtual BOOL GetDVDKey2(UCHAR *)=0;
|
||
virtual BOOL SetTitleKey(UCHAR *)=0;
|
||
virtual BOOL SetDiscKey(UCHAR *)=0;
|
||
};
|
||
|
||
class IMPEGBoard
|
||
{
|
||
public:
|
||
virtual BOOL Init()=NULL;
|
||
virtual BOOL AddStreamObjectInterface(IBaseStream *)=NULL;
|
||
virtual BOOL ReleaseStreamObjectInterface(IBaseStream *)=NULL;
|
||
virtual BOOL PowerOn()=NULL;
|
||
virtual BOOL PowerOff()=NULL;
|
||
virtual BOOL SetSTC(DWORD)=NULL;
|
||
virtual BOOL GetSTC(DWORD *)=NULL;
|
||
virtual BOOL SetHALObjectInterface(IClassLibHAL *)=NULL;
|
||
};
|