recognizer.h
上传用户:dangjiwu
上传日期:2013-07-19
资源大小:42019k
文件大小:2k
源码类别:

Symbian

开发平台:

Visual C++

  1. #ifndef _RECOGNIZER_H_
  2. #define _RECOGNIZER_H_
  3. #include "hxcom.h"
  4. #include "hxfiles.h"
  5. #include "hxfilerecognizer.h"
  6. class CHXFileRecognizer : public IHXFileRecognizer
  7. , public IHXFileResponse 
  8. {
  9. public:
  10.     CHXFileRecognizer();
  11.     virtual ~CHXFileRecognizer();
  12.     /*
  13.      * IUnknown methods
  14.      */
  15.     STDMETHOD(QueryInterface) (THIS_
  16. REFIID riid,
  17.  void** ppvObj);
  18.     STDMETHOD_(ULONG32,AddRef) (THIS);
  19.     STDMETHOD_(ULONG32,Release) (THIS);
  20.     /*
  21.      * IHXFileRecognizer methods
  22.      */
  23.     /************************************************************************
  24.      * Method:
  25.      *     IHXFileRecognizer::GetMimeType
  26.      * Purpose:
  27.      */
  28.     STDMETHOD(GetMimeType) (THIS_
  29.     IHXFileObject* /*IN*/ pFile, 
  30.     IHXFileRecognizerResponse* /*IN*/ pFileRecognizerResponse
  31. );
  32.     // IHXFileResponse methods
  33.     STDMETHOD(InitDone)  (THIS_ HX_RESULT status);
  34.     STDMETHOD(SeekDone)  (THIS_ HX_RESULT status);
  35.     STDMETHOD(ReadDone)  (THIS_ HX_RESULT status, IHXBuffer *pBuffer);
  36.     STDMETHOD(WriteDone) (THIS_ HX_RESULT status);
  37.     STDMETHOD(CloseDone) (THIS_ HX_RESULT status);
  38. private:
  39.     STDMETHOD(GetMimeType) (THIS_ const char* /* IN */pFileName,
  40.     IHXBuffer* /* IN */ pBuffer,
  41.     REF(IHXBuffer*) /* OUT*/ pMimeType);
  42. #if defined(_UNIX) && !defined(_MAC_UNIX)
  43.     HX_RESULT GetMimeTypeFromMagic(IHXBuffer* pBuffer,
  44.    REF(const char*) pMimeType);
  45.     HX_RESULT TestMP3File(IHXBuffer* pBuffer,
  46.   const char* pFileName,
  47.   REF(const char*) pMimeType);
  48.     HX_RESULT TestSMILFile(IHXBuffer* pBuffer,
  49.    const char* pFileName,
  50.    REF(const char*) pMimeType);
  51.     HX_RESULT TestRAMFile(IHXBuffer* pBuffer,
  52.   const char* pFileName,
  53.   REF(const char*) pMimeType);
  54. #else // #if defined(_UNIX) && !defined(_MAC_UNIX)
  55.     BOOL      IsSDPFile(IHXBuffer* pBuffer);
  56. #endif // #if defined(_UNIX) && !defined(_MAC_UNIX)
  57.     void      DoFileRecognize(void);
  58. private:
  59.     LONG32 m_lRefCount;
  60.     IHXFileRecognizerResponse* m_pResponse;
  61.     IHXFileObject* m_pFile;
  62.     IHXBuffer* m_pBuffer;
  63.     BOOL m_bGetMimeTypeDone;
  64. };
  65. #endif // _RECOGNIZER_H_