recognizer.h
上传用户:zhongxx05
上传日期:2007-06-06
资源大小:33641k
文件大小:2k
源码类别:

Symbian

开发平台:

C/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.     BOOL    IsSDPFile(IHXBuffer* pBuffer);
  43.     void    DoFileRecognize(void);
  44. private:
  45.     LONG32 m_lRefCount;
  46.     IHXFileRecognizerResponse* m_pResponse;
  47.     IHXFileObject* m_pFile;
  48.     IHXBuffer* m_pBuffer;
  49.     BOOL m_bGetMimeTypeDone;
  50. };
  51. #endif // _RECOGNIZER_H_