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

Symbian

开发平台:

C/C++

  1. /************************************************************************
  2.  * hxsym_hxapi_help.h
  3.  * -------------
  4.  *
  5.  * Synopsis:
  6.  *
  7.  *
  8.  * (c) 1995-2003 RealNetworks, Inc. Patents pending. All rights reserved.
  9.  *
  10.  ************************************************************************/
  11. #ifndef hxsym_hxapi_help_h
  12. #define hxsym_hxapi_help_h
  13. #include "hxcom.h"
  14. #include "hxmon.h" // HXPropType
  15. // forward decl
  16. _INTERFACE IHXRegistry;
  17. _INTERFACE IHXCommonClassFactory;
  18. _INTERFACE IHXBuffer;
  19. _INTERFACE IHXValues;
  20. _INTERFACE IHXPreferences;
  21. class CHXString;
  22. class CHXMapStringToString;
  23. // IHXRegistry helpers
  24. namespace reg
  25. {
  26. bool GetPropName(IHXRegistry* pReg, UINT32 idKey, CHXString& strName);
  27. bool GetString(IHXRegistry* pReg, const char* pszBase, const char* pszKey, CHXString& strValue, bool bIsBuffer);
  28. HX_RESULT AddString(IHXRegistry* pReg, 
  29.                             IHXCommonClassFactory* pFactory,
  30.                             const char* pszBaseKey, 
  31.                             const char* pszKey, 
  32.                             const char* pszVal);
  33. const char* ScanPastKeyPrefix( const char* psz, const char* pszPrefix);
  34. const char* ScanKeyNodes( const char* psz, UINT32 nNodeCount, CHXString& strExtracted );
  35. } // ns reg
  36. // IHXBuffer helpers
  37. namespace buf
  38. {
  39.     HX_RESULT Create(IHXCommonClassFactory* pFactory, const char* psz, IHXBuffer*& pbuffNew);
  40. } // ns buf
  41. // IHXValues helpers
  42. namespace val
  43. {
  44.     enum ValType
  45.     {
  46.         string, buffer
  47.     };
  48.     bool GetBool(IHXValues* pval, const char* pszKey, bool& b);
  49.     bool GetString(IHXValues* pval, const char* pszKey, CHXString& strVal, ValType propType = string);
  50.     bool GetUINT16(IHXValues* pval, const char* pszKey, UINT16& nOut);
  51.     bool GetUINT32(IHXValues* pval, const char* pszKey, UINT32& nOut);
  52.     void GetStringProps(IHXValues* pval, ValType type, CHXMapStringToString& props);
  53. } // ns val
  54. // IHXPreferences helpers
  55. namespace prefs
  56. {
  57.     // return found value, or default if not found
  58.     CHXString GetString(IHXPreferences* pPrefs, const char* pKey, const char* pszDefault = "");
  59.     bool GetBool(IHXPreferences* pPrefs, const char* pKey, bool bDefaultValue = false);
  60.     UINT32 GetUINT32(IHXPreferences* pPrefs, const char* pKey, UINT32 defaultValue = 0);
  61.     INT32 GetINT32(IHXPreferences* pPrefs, const char* pKey, INT32 defaultValue = 0);
  62.     
  63.     // return 'true' if value found (and set)
  64.     bool LookupString(IHXPreferences* pPrefs, const char* pKey, CHXString& strOut);
  65.     bool LookupBool(IHXPreferences* pPrefs, const char* pKey, bool& bValOut);
  66.     bool LookupUINT32(IHXPreferences* pPrefs, const char* pKey, UINT32& valOut);
  67.     bool LookupINT32(IHXPreferences* pPrefs, const char* pKey, INT32& valOut);
  68.     
  69.     void Write(IHXCommonClassFactory* pFactory, IHXPreferences* pPrefs, const char* pKey, const char* pszVal);
  70.     void Write(IHXCommonClassFactory* pFactory, IHXPreferences* pPrefs, const char* pKey, UINT32 val);
  71. } // ns prefs
  72. /*template< class T >
  73. class CHXArray
  74. : public CHXPtrArray
  75. {
  76. };*/
  77. #endif //hxsym_hxapi_help_h