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

Symbian

开发平台:

C/C++

  1. /************************************************************************
  2.  * chxavwaitnote.h
  3.  * ---------------
  4.  *
  5.  * Synopsis:
  6.  * Description: 
  7.  *
  8.  * (c) 1995-2003 RealNetworks, Inc. Patents pending. All rights reserved.
  9.  *
  10.  ************************************************************************/
  11. #ifndef _chxavwaitnote_h_
  12. #define _chxavwaitnote_h_
  13. // Symbian includes...
  14. #include <aknprogressdialog.h>
  15. // Includes from this project...
  16. #include "chxavutil.h"
  17. #include "chxavcommand.h"
  18. #include "chxbody.h"
  19. #include "chxavrefptr.h"
  20. #include "chxsmartptr.h"
  21. // foward decl
  22. class CAknWaitDialog;
  23. // class CHXAvWaitNote
  24. class CHXAvWaitNote
  25. : public MProgressDialogCallback
  26. , public CHXBody
  27. {
  28. public:
  29.     // softkey text for cancel command
  30.     enum CancelText
  31.     {
  32.         ctCancel,
  33.         ctExit,
  34.         ctClose
  35.     };
  36. // ctor and dtor
  37.     CHXAvWaitNote();
  38.     virtual ~CHXAvWaitNote();
  39. private:
  40. // disallow assignment and copy
  41.     CHXAvWaitNote(const CHXAvWaitNote& rhs);
  42.     CHXAvWaitNote& operator=(const CHXAvWaitNote& rhs);
  43. public:
  44. // MProgressDialogCallback
  45.     void DialogDismissedL(TInt bid);
  46. // methods
  47.     void SetTextL(const TDesC& text);
  48.     void SetCancelCommandL(const CHXAvCommand& userCancelCmd, TInt idSoftkey = R_AVKON_SOFTKEYS_CANCEL);
  49.     void ClearCancelCommand();
  50.     void StartL(bool bDelayVisibility = false);
  51.     void EndL();
  52.     void StartAndKickL();
  53.     bool IsShowing() const;
  54. private:
  55. // data
  56.     CHXAvCommandPtr m_spUserCancelCmd;
  57.     refptr<HBufC>       m_spText;
  58.     CAknWaitDialog*     m_wpWaitNote;
  59.     TInt                m_idSoftkey;
  60.     bool                m_bDismissPending;
  61. };
  62. typedef CHXSmartPtr<CHXAvWaitNote> CHXAvWaitNotePtr;
  63. inline
  64. bool CHXAvWaitNote::IsShowing() const
  65. {
  66.     return m_bDismissPending;
  67. }
  68. ////////////////////////////////////////
  69. // 
  70. inline
  71. void CHXAvWaitNote::SetTextL(const TDesC& text)
  72. {
  73.     m_spText = text.AllocL();
  74. }
  75. #endif // _chxavwaitnote_h_