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

Symbian

开发平台:

C/C++

  1. /************************************************************************
  2.  * chxavfileviewpageinfo.h
  3.  * -----------------------
  4.  *
  5.  * Synopsis:
  6.  * Class used to maintain info on the page for the file view.  There are
  7.  * two pages, the regular disk and MMc page.
  8.  *
  9.  * Target:
  10.  * Symbian OS
  11.  *
  12.  *
  13.  * (c) 1995-2003 RealNetworks, Inc. Patents pending. All rights reserved.
  14.  *
  15.  ************************************************************************/
  16. #ifndef _chxavfileviewpageinfo_h_
  17. #define _chxavfileviewpageinfo_h_
  18. // Helix includes...
  19. #include "unkimp.h"
  20. #include "ihxpckts.h"
  21. #include "hxstring.h"
  22. #include "hxurl.h"
  23. #include "hxwintyp.h"
  24. #include "hxcom.h"
  25. #include "hxcomm.h"
  26. #include "hxmon.h"
  27. #include "hxfiles.h"
  28. #include "hxengin.h"
  29. #include "hxstack.h"
  30. #include "hxcore.h"
  31. #include "hxclsnk.h"
  32. #include "hxerror.h"
  33. #include "hxauth.h"
  34. #include "hxwin.h"
  35. #include "hxprefs.h"
  36. #include "hxtbuf.h" 
  37. #include "dllacces.h"
  38. #include "dllpath.h"
  39. #include "hxlist.h"
  40. #include "hxstrutl.h"
  41. // Includes from this project...
  42. #include "chxavmisc.h"
  43. #include "chxavutil.h"
  44. #include "chxavmediafolderinfo.h"
  45. #include "chxavrefptr.h"
  46. #include "chxbody.h"
  47. #include "chxsmartptr.h"
  48. #include "chxavvector.h"
  49. // class CHXAvFileViewPageInfo
  50. class CHXAvFileViewPageInfo : public CHXBody
  51. {
  52. public:
  53.     // ctor and dtor
  54.     CHXAvFileViewPageInfo();
  55.     virtual ~CHXAvFileViewPageInfo();
  56.     void ConstructL(const TDesC& rootPath, bool bIsAutoCreateRoot, TInt idxTabImage, TInt idxTabMask);
  57. private:
  58.     // disallow assignment and copy
  59.     CHXAvFileViewPageInfo(const CHXAvFileViewPageInfo& rhs);
  60.     CHXAvFileViewPageInfo& operator=(const CHXAvFileViewPageInfo& rhs);
  61. public:
  62. // methods
  63.     void SetCurrentIndex(TInt idx);
  64.     TInt GetSelectedItemIndex() const;
  65.     CHXAvMisc::ImageInfo GetTabInfo() const;
  66.     const TDesC& GetTabImageFilePath() const;
  67.     bool IsAutoCreateRoot() const;
  68.     CHXStack& Indexes();
  69.     CHXAvMediaFolderInfo* FolderInfo();
  70. private:
  71. // implementation
  72. private:
  73. // data
  74.     TInt                m_idxSelectedItem;
  75.     refptr<HBufC>       m_spTabImageFilePath;
  76.     CHXAvMisc::ImageInfo m_tabImageInfo;
  77.     CHXStack m_indexes;
  78.     bool                m_bIsAutoCreateRoot;
  79.     refptr<CHXAvMediaFolderInfo> m_spFolderInfo;
  80.     
  81. };
  82. typedef CHXSmartPtr<CHXAvFileViewPageInfo> CHXAvFileViewPageInfoPtr; 
  83. typedef CHXAvVector<CHXAvFileViewPageInfoPtr> CHXAvFileViewPageInfoVector;
  84. ///////////////////////////////////
  85. //
  86. inline CHXStack& 
  87. CHXAvFileViewPageInfo::Indexes()
  88. {
  89.     return m_indexes;
  90. }
  91. ///////////////////////////////////
  92. //
  93. inline 
  94. CHXAvMediaFolderInfo* CHXAvFileViewPageInfo::FolderInfo()
  95. {
  96.     return m_spFolderInfo.Ptr();
  97. }
  98. ///////////////////////////////////
  99. //
  100. inline
  101. void CHXAvFileViewPageInfo::SetCurrentIndex(TInt idx)
  102. {
  103.     m_idxSelectedItem = idx;
  104. }
  105. inline
  106. TInt CHXAvFileViewPageInfo::GetSelectedItemIndex() const
  107. {
  108.     return m_idxSelectedItem;
  109. }
  110. inline
  111. CHXAvMisc::ImageInfo CHXAvFileViewPageInfo::GetTabInfo() const
  112. {
  113.     return m_tabImageInfo;
  114. }
  115. inline
  116. const TDesC& CHXAvFileViewPageInfo::GetTabImageFilePath() const
  117. {
  118.     return *m_spTabImageFilePath;
  119. }
  120. ///////////////////////////////////
  121. // automatically create root if doesn't exist?
  122. inline
  123. bool CHXAvFileViewPageInfo::IsAutoCreateRoot() const
  124. {
  125.     return m_bIsAutoCreateRoot;
  126. }
  127. #endif // _chxavfileviewpageinfo_h_