windows-nt/Source/XPSP1/NT/drivers/wdm/dvd/mini/tecra/clibif.h
2020-09-26 16:20:57 +08:00

117 lines
2.8 KiB
C++
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
クラスライブラリのインタフェース
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;
};