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

Symbian

开发平台:

C/C++

  1. /************************************************************************
  2.  * chxavsettingsdata.h
  3.  * -------------------
  4.  *
  5.  * Synopsis:
  6.  * Data values associated with settings lists.
  7.  *
  8.  * Target:
  9.  * Symbian OS
  10.  *
  11.  *
  12.  * (c) 1995-2003 RealNetworks, Inc. Patents pending. All rights reserved.
  13.  *
  14.  ************************************************************************/
  15. #ifndef _chxavsettingsdata_h_
  16. #define _chxavsettingsdata_h_
  17. // Symbian includes...
  18. #include <aknsettingitemlist.h>
  19. // Helix includes...
  20. #include "hxccf.h"
  21. #include "hxprefs.h"
  22. // Includes from this project...
  23. #include "chxavrefptr.h"
  24. #include "chxbody.h"
  25. #include "chxsmartptr.h"
  26. #include "comptr.h"
  27. #include "chxavaccesspointdb.h"
  28. struct SETTINGS_VIDEO_DATA
  29. {
  30.     SETTINGS_VIDEO_DATA()
  31.     : m_bAutoScaleVideo(0)
  32.     , m_bPostFilterOn(0) 
  33.     {}
  34.     TInt    m_bAutoScaleVideo;
  35.     TInt    m_bPostFilterOn;
  36. };
  37. struct SETTINGS_PLAYBACK_DATA
  38. {
  39.     SETTINGS_PLAYBACK_DATA()
  40.     : m_bLoopMode(0)
  41.     , m_bShuffleMode(0)
  42.     , m_idxClipIntro(0)
  43.     {}
  44.     TInt    m_bLoopMode;
  45.     TInt    m_bShuffleMode;
  46.     TInt    m_idxClipIntro;
  47. };
  48. struct SETTINGS_NETWORK_DATA
  49. {
  50.     SETTINGS_NETWORK_DATA()
  51.     : m_idxNetworkBW(0)
  52.     , m_connectTimeOut(0)
  53.     , m_serverTimeOut(0)
  54.     , m_idAccessPoint(0)
  55.     , m_minUdpPort(0)
  56.     , m_maxUdpPort(0)
  57.     // m_bUseManualBW(0)
  58.     {}
  59. //    TInt    m_bUseManualBW;
  60.     TInt    m_idxNetworkBW;
  61.     TInt    m_connectTimeOut;
  62.     TInt    m_serverTimeOut;
  63.     TUint32 m_idAccessPoint;
  64.     TInt    m_minUdpPort;
  65.     TInt    m_maxUdpPort;
  66. };
  67. struct SETTINGS_PROXY_DATA
  68. {
  69.     SETTINGS_PROXY_DATA()
  70.     : m_proxyPort(0)
  71.     , m_bUseProxy(0)
  72.     {}
  73.     refptr<TFileName> m_spProxy;
  74.     TInt         m_proxyPort;
  75.     TInt         m_bUseProxy;
  76. };
  77. struct SETTINGS_DEBUG_DATA
  78. {
  79.     SETTINGS_DEBUG_DATA()
  80.     : m_debugMask(0)
  81.     {}
  82.     TUint               m_debugMask;
  83.     refptr<TFileName> m_spLogSink;
  84. };
  85. class CHXAvSettingsData 
  86. : public CHXBody
  87. {
  88. public:
  89.     CHXAvSettingsData(IHXCommonClassFactory* pFactory, IHXPreferences *prefs);
  90.     virtual ~CHXAvSettingsData() {};
  91.     
  92.     virtual CAknSettingItem* CreateSettingItemL(TInt id) = 0;
  93.     virtual void InitValuesFromPreferencesL() = 0;
  94.     virtual void UpdatePreferencesL() = 0; 
  95.     virtual void EditItemL(CAknSettingItem* /*pItem*/) {}
  96. protected:
  97.     void SetTextValue(const CHXString& id, TDes& buffer);
  98.     bool UpdatePrefString(const CHXString& id, const TDes& newVal);
  99.     bool UpdatePrefString(const CHXString& id, const CHXString& strNew);
  100.     bool UpdatePrefInt(const CHXString& id, TInt newVal);
  101.     CHXAvSettingsData& operator=(const CHXAvSettingsData& other);
  102.     CHXAvSettingsData(const CHXAvSettingsData& other);
  103.     comptr<IHXPreferences> m_prefs;
  104.     comptr<IHXCommonClassFactory> m_factory;
  105. };
  106. typedef CHXSmartPtr<CHXAvSettingsData> CHXAvSettingsDataPtr;
  107. /////////////////////////////////////////////
  108. // class CHXAvSettingsDataVideo
  109. class CHXAvSettingsDataVideo 
  110. : public CHXAvSettingsData
  111. , public SETTINGS_VIDEO_DATA
  112. {
  113. public:
  114.     CHXAvSettingsDataVideo(IHXCommonClassFactory* pFactory, IHXPreferences* pPrefs) : CHXAvSettingsData(pFactory, pPrefs) {}
  115.     virtual CAknSettingItem* CreateSettingItemL(TInt id);
  116.     virtual void InitValuesFromPreferencesL();
  117.     virtual void UpdatePreferencesL();
  118. };
  119. /////////////////////////////////////////////
  120. // class CHXAvSettingsDataPlayback
  121. class CHXAvSettingsDataPlayback
  122. : public CHXAvSettingsData
  123. , public SETTINGS_PLAYBACK_DATA
  124. {
  125. public:
  126.     CHXAvSettingsDataPlayback(IHXCommonClassFactory* pFactory, IHXPreferences* pPrefs) : CHXAvSettingsData(pFactory, pPrefs) {}
  127.     virtual CAknSettingItem* CreateSettingItemL(TInt id);
  128.     virtual void InitValuesFromPreferencesL();
  129.     virtual void UpdatePreferencesL();
  130. };
  131. /////////////////////////////////////////////
  132. // class CHXAvSettingsDataNetwork
  133. class CHXAvSettingsDataNetwork
  134. : public CHXAvSettingsData
  135. , public SETTINGS_NETWORK_DATA
  136. {
  137. public:
  138.     CHXAvSettingsDataNetwork(IHXCommonClassFactory* pFactory, IHXPreferences* pPrefs) : CHXAvSettingsData(pFactory, pPrefs) {}
  139.     virtual CAknSettingItem* CreateSettingItemL(TInt id);
  140.     virtual void InitValuesFromPreferencesL();
  141.     virtual void UpdatePreferencesL();
  142.     virtual void EditItemL(CAknSettingItem* pItem);
  143. private:
  144.     bool m_bMaxDelivBWEdited;
  145. };
  146. /////////////////////////////////////////////
  147. // class CHXAvSettingsDataProxy
  148. class CHXAvSettingsDataProxy 
  149. : public CHXAvSettingsData
  150. , public SETTINGS_PROXY_DATA
  151. {
  152. public:
  153.     CHXAvSettingsDataProxy(IHXCommonClassFactory* pFactory, IHXPreferences* pPrefs) : CHXAvSettingsData(pFactory, pPrefs) {}
  154.     virtual CAknSettingItem* CreateSettingItemL(TInt id);
  155.     virtual void InitValuesFromPreferencesL();
  156.     virtual void UpdatePreferencesL();
  157. };
  158. #if defined(HELIX_FEATURE_DPRINTF)
  159. /////////////////////////////////////////////
  160. // class CHXAvSettingsDataDebug
  161. class CHXAvSettingsDataDebug
  162. : public CHXAvSettingsData
  163. , public SETTINGS_DEBUG_DATA
  164. {
  165. public:
  166.     CHXAvSettingsDataDebug(IHXCommonClassFactory* pFactory, IHXPreferences* pPrefs) : CHXAvSettingsData(pFactory, pPrefs) {}
  167.     virtual CAknSettingItem* CreateSettingItemL(TInt id);
  168.     virtual void InitValuesFromPreferencesL();
  169.     virtual void UpdatePreferencesL();
  170. };
  171. #endif
  172. #endif // _chxavsettingsdata_h_