MMSExample.h
上传用户:sempras
上传日期:2007-03-04
资源大小:821k
文件大小:3k
源码类别:

Symbian

开发平台:

C/C++

  1. /*
  2.         MMSExample.H - header file for MMSExample application
  3.         
  4. */
  5. #ifndef __MMSEXAMPLE_H__
  6. #define __MMSEXAMPLE_H__
  7. #if !defined(__AKNVIEW_H__)
  8. #include <aknview.h>                        // for CAknView
  9. #endif
  10. #if !defined(__AKNVIEWAPPUI_H__)
  11. #include <aknviewappui.h>                   // for CAknViewAppUi
  12. #endif
  13. #if !defined(__EIKAPP_H__) 
  14. #include <eikapp.h>                         // for CEikApplication
  15. #endif
  16. #if !defined(__EIKDOC_H__)
  17. #include <eikdoc.h>                         // for CEikDocument
  18. #endif
  19. #if !defined(__MSVAPI_H__)
  20. #include <msvapi.h>                         // for MMsvSessionObserver 
  21. #endif
  22. #if !defined(__MMSCLIENT_H__)
  23. #include <mmsclient.h>                      // for CMmsClientMtm
  24. #endif
  25. // Forward declarations
  26. class CClientMtmRegistry;
  27. class CMsvSession;
  28. //
  29. // Container class to draw text on screen
  30. //
  31. class CMMSExampleContainer : public CCoeControl
  32.     {
  33. public:
  34.     void ConstructL();
  35. private:
  36.     void Draw(const TRect& aRect) const;
  37.     };
  38. //
  39. // Application View class
  40. //
  41. class CMMSExampleAppView : public CAknView
  42.     {
  43. public:
  44.     static CMMSExampleAppView* NewL();
  45.     static CMMSExampleAppView* NewLC(); 
  46.     ~CMMSExampleAppView();
  47. public:
  48.     TUid Id() const;
  49. protected:
  50. private:
  51.     void DoActivateL(const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/);
  52.     void DoDeactivate();
  53. private:
  54.     CMMSExampleAppView();
  55.     void ConstructL();
  56. private:
  57.     CMMSExampleContainer* iContainer;
  58.     };
  59. //
  60. // Application Ui class, this contains all application functionality
  61. //
  62. class CMMSExampleAppUi : public CAknViewAppUi, public MMsvSessionObserver
  63.     {
  64. public:
  65.     void ConstructL();
  66.     ~CMMSExampleAppUi();
  67.     void HandleCommandL(TInt aCommand);
  68. private:
  69.     void CompleteConstructL();
  70.     void CmdSendL();
  71.     void CmdExitL();
  72.     TBool InitializeCommunicationsL();
  73.     void CreateNewMessageL();
  74.     TBool SendMessageL();
  75. private:    // from MMsvSessionObserver
  76.     void HandleSessionEventL(TMsvSessionEvent aEvent, TAny* aArg1, TAny* aArg2, TAny* aArg3);
  77.     
  78. private:
  79.     HBufC* iRecipient;              // recipients address
  80.     CMsvSession* iSession;          // Client session on the message server
  81.     CMmsClientMtm* iMmsMtm;         // Message Type Module (MMS)
  82.     CClientMtmRegistry* iMtmReg;    // Mtm client registry for creating new mtms
  83.     };
  84. //
  85. // Application document class
  86. //
  87. class CMMSExampleDocument : public CEikDocument
  88.     {
  89. public:
  90.     static CMMSExampleDocument* NewL(CEikApplication& aApp);
  91.     CEikAppUi* CreateAppUiL();
  92. protected:
  93. private:
  94.     CMMSExampleDocument(CEikApplication& aApp);
  95.     void ConstructL();
  96.     };
  97. //
  98. // Application class
  99. //
  100. class CMMSExampleApplication : public CEikApplication
  101.     {
  102. public:
  103.     TUid AppDllUid() const;
  104. private:
  105.     CApaDocument* CreateDocumentL();
  106.     };
  107. #endif // __MMSEXAMPLE_H__