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

Symbian

开发平台:

C/C++

  1. /************************************************************************
  2.  * chxavcallback.h
  3.  * ---------------
  4.  *
  5.  * Synopsis:
  6.  * Encapsulates single or periodic timer callback
  7.  *
  8.  *
  9.  * (c) 1995-2003 RealNetworks, Inc. Patents pending. All rights reserved.
  10.  *
  11.  ************************************************************************/
  12. #ifndef _chxavcallback_h_
  13. #define _chxavcallback_h_
  14. // Include from this project...
  15. #include "chxavactivecompletiondispatch.h"
  16. #include "chxavcommand.h"
  17. class CHXAvCallback
  18. {
  19. public:
  20.     enum CallbackType
  21.     {
  22.         ONCE,
  23.         REPEAT
  24.     };
  25.     CHXAvCallback();
  26.     virtual ~CHXAvCallback();
  27.     void ConstructL(const CHXAvCommand& cmd);
  28.     void Set(TUint msTimeout, CallbackType cbType = ONCE);
  29.     void Stop();
  30.     bool IsPending() const;
  31. private:
  32.     void OnTimerEvent(TInt status);
  33.     void OnTimerEventCancel(TInt status);
  34. private:
  35.     CHXAvActiveCmplPtr m_pActiveObject;
  36.     RTimer m_timer;
  37.     CHXAvCommand* m_pAction;
  38.     CallbackType m_cbType;
  39.     TUint m_msTimeout;
  40. };
  41. //////////////////////////////////////////
  42. // return true if callback is pending
  43. inline
  44. bool CHXAvCallback::IsPending() const
  45. {
  46.     return 0 != m_pActiveObject->IsActive();
  47. }
  48. #endif // _chxavcallback_h_