#include #include #include "PUBLIB2\CommonInterface.h" #define __USE_MSXML2_NAMESPACE__ #import "msxml3.dll" using namespace MSXML2; inline void TESTHR( HRESULT _hr ) { if FAILED(_hr) throw(_hr); } struct ModelInfo { CHAR ModelName[20]; CHAR ProjectName[16]; WORD DefModelID; WORD CapAudioModelID; CHAR CustomID[16]; BYTE ActivationCode[16]; }; #define FUNCTION_VIDEO 0x01 #define FUNCTION_AUDIO 0x02 #define FUNCTION_OVERAY 0x04 #define FUNCTION_CODEC 0x08 #define FUNCTION_NET 0x10 //ÇÑProject(Category)¿¡ ÃÖ´ë 4°³ÀÇ dllÀÌ ÀÖÀ»¼ö ÀÖ´Ù°í °¡Á¤.. #define MAX_PROJECT_DLL 4 struct CardLoadInfo{ char DefaultCardManger[64]; DWORD dwProjectID; int DllCount; struct{ DWORD dwSupportedFunctions; char DllName[64]; }DLLs[MAX_PROJECT_DLL]; }; class CDeviceLister{ public: virtual ~CDeviceLister(){} std::map m_prjInfo; std::map m_modelInfo; virtual BOOL InitXMLDOMNodes(char * fileName)=0; virtual void EnumerateDevices(int ver)=0; virtual BOOL FindProjectInfo(char* ProjectName,int Apiver,char*CustomID,CardLoadInfo& cardLoadInfo)=0; virtual BOOL FindProjectInfo(char* ProjectName,int Apiver,CardLoadInfo& cardLoadInfo)=0; }; class CSettingStorage:public ISettingStorage{ public: virtual HRESULT STDMETHODCALLTYPE QueryInterface( REFIID riid,void __RPC_FAR *__RPC_FAR *ppvObject); virtual ULONG STDMETHODCALLTYPE AddRef( void); virtual ULONG STDMETHODCALLTYPE Release( void); virtual HRESULT STDMETHODCALLTYPE Read(LPCSTR name,SSVType* pvType,DWORD* len,void* data); virtual HRESULT STDMETHODCALLTYPE Write(LPCSTR name,SSVType vType,DWORD len,void* data); virtual HRESULT STDMETHODCALLTYPE MakeStorage(LPCSTR name,ISettingStorage** pStorage); virtual HRESULT STDMETHODCALLTYPE GetStorage(LPCSTR name,ISettingStorage** pStorage); virtual HRESULT STDMETHODCALLTYPE Reset(); public: BOOL Create(LPCSTR filename);//ÆÄÀÏÀÌ ÀÖÀ¸¸é openÇÏ°í ¾øÀ¸¸é »ý¼ºÇÑ´Ù.. CSettingStorage(); ~CSettingStorage(); private: LONG volatile m_refCount; IXMLDOMElementPtr m_node; CSettingStorage* m_pParent; char* m_fileName; }; CDeviceLister* CreateDeviceLister(); BOOL CreateStorage(LPCSTR fileName,ISettingStorage** ppStorage);