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

Symbian

开发平台:

C/C++

  1. /*****************************************************************************
  2.  * chxavmisc.h
  3.  * -----------
  4.  *
  5.  * Synopsis:
  6.  * Misc helpers for s60 player only
  7.  *
  8.  * XXXLCM clean up!
  9.  *
  10.  *
  11.  *
  12.  * Target:
  13.  * Symbian OS
  14.  *
  15.  *
  16.  * (c) 1995-2003 RealNetworks, Inc. Patents pending. All rights reserved.
  17.  *
  18.  *****************************************************************************/
  19. #ifndef _chxavmisc_h_
  20. #define _chxavmisc_h_
  21. // Symbian includes...
  22. #include <eikenv.h>
  23. #include <e32def.h>
  24. #include <aknenv.h>
  25. #include <aknpopup.h>
  26. #include <aknselectionlist.h>
  27. #include <aknlists.h>
  28. #include <aknnavide.h>
  29. #include <aknvolumecontrol.h>
  30. #include <aknquerydialog.h>
  31. #include <aknconsts.h>
  32. #include <akncontext.h>
  33. #include <aknviewappui.h>
  34. #include <akniconarray.h> 
  35. #include <avkon.hrh>
  36. #include <avkon.rsg>
  37. // Includes from this project...
  38. #include "chxavutil.h"
  39. #include "chxavnamedisplaytrait.h"
  40. #include "chxavmessagedialog.h"
  41. #include "chxavfileutil.h"
  42. class CHXAvPlayer;
  43. class CHXAvInfoList;
  44. class CHXAvURLList;
  45. class CHXAvInfoLIst;
  46. class CAknTabGroup;
  47. #define ARRAY_COUNT(array) (sizeof(array) / sizeof (array[0]))
  48. // make variable name something like "csvar1424"
  49. #define makevar_(var, line) csvar ## line
  50. #define makevar__(line) makevar_(var, line)
  51. // stringify a defined constant
  52. #define makestr_(x) #x
  53. #define makestr(x) makestr_(x)
  54. namespace CHXAvMisc
  55. {   
  56.     struct ImageInfo
  57.     {
  58. TInt idxImg;
  59. TInt idxImgMask;
  60.     };
  61.     enum ListType
  62.     { 
  63. Double, 
  64.     DoubleNoIcon, 
  65.     Single, 
  66.     SingleNoIcon 
  67.     };
  68.     //
  69.     // listbox helpers
  70.     //
  71.     HBufC* AllocGrListItemL(ListType type, TInt idxIcon, const TDesC& mainText, const TDesC& subText = KNullDesC);
  72.     HBufC* AllocGrListItemL(const TDesC& mainText, const TDesC& subText, TInt idxIcon = -1);
  73.     HBufC* AllocGrListItemL(const TDesC& text, TInt idxIcon = -1);
  74.     CDesCArrayFlat* AllocGrPopupListItemsL(CHXAvURLList *list, const CHXAvNameDisplayTrait* pDisplayTrait = 0);
  75.     TPtrC TextChunk(const TDesC& text, TInt idxChunk, TChar chDelimit = 't');
  76.     void UpdateScrollBar(CEikListBox* pListBox);
  77.     CAknIconArray* AllocIconsL(const ImageInfo vec[], TInt imageCount, const TDesC& imageFilePath = KNullDesC);
  78.     void AddIconHelperL(const TDesC& mbmPath, CHXAvMisc::ImageInfo const info[], TInt count, CAknIconArray*& pIcons);
  79.     void FormatTimerText(TUint ms, TDes& des);
  80.     // apps, wgid, process, etc. helpers
  81.     void LaunchAppL(TInt uid, const TDesC& arg);
  82.     TInt LaunchAppL(RFs& fsSession, const TDesC& appPath, const TDesC& doc);
  83.     //void EnsureProcessNotRunningL(const TDesC& name);
  84.     TInt GetThisWgId();
  85.     TUid GetAppUidFromWgId(TInt wgid);
  86.     HBufC8* MakeHXPlayerPrivateMessageL(const TDesC8& name);
  87.     void BroadcastWsEventL(TUint type, const HBufC8* pMsg);
  88.     bool IsAppFileL(const TDesC& file);
  89.     enum ForEachAppInstanceCommand
  90.     {
  91.         KillApp,
  92.         EndApp
  93.     };
  94.     void ForEachAppInstanceL(TUid uid, ForEachAppInstanceCommand command);
  95.     //
  96.     // misc
  97.     //
  98.     HBufC* AllocFileSizeDescL(TUint cbFile);
  99.     HBufC* AllocDisplayFriendlyStringL(const TDesC& text, const TDesC& replaceChars = KStdWhitespaceCtrlChars);
  100.     void MakeDisplayFriendly(TDes& des, const TDesC& replaceChars = KStdWhitespaceCtrlChars);
  101.     void ReplaceCharacters(TDes& text, const TDesC& replaceChars, TChar chWith);
  102.     TInt RunAccessPointSettingPageL(TInt wapApId = 0);
  103.     void AddTabL(CAknTabGroup* pGroup, const TDesC& imageFilePath,  TInt idRes, TInt idxImage, TInt idxMask);
  104.     //TUint GetValidRootCountL(const utVector<avMediaFolderInfoPtr>& mediaFolderInfo);
  105.     HBufC* AllocTimerTextL(TUint ms);
  106.     void InitDebugMenuItemsL(CEikMenuPane* pPane);
  107.     void AddMenuItemL(CEikMenuPane* pPane, TInt idCmd, TInt resIdText);
  108.     
  109.     void InitHelpMenuItem(CEikMenuPane* pPane);
  110.     HBufC* AllocTitleL(CHXAvPlayer* pPlayer);
  111.     inline
  112.     HBufC* AllocGrListItemL(const TDesC& text, TInt idxIcon)
  113.     {
  114.         return AllocGrListItemL(text, KNullDesC, idxIcon);
  115.     }
  116. } // ns CHXAvMisc
  117. using namespace CHXAvMisc;
  118. #endif // _chxavmisc_h_