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

Symbian

开发平台:

C/C++

  1. /*
  2.         GDSMS.H - header file for GDSMS application
  3.         
  4. */
  5. #ifndef __GDSMS_H__
  6. #define __GDSMS_H__
  7. #if !defined(__EIKAPP_H__) 
  8. #include <eikapp.h>                         // for CEikApplication
  9. #endif
  10. #if !defined(__EIKDOC_H__)
  11. #include <eikdoc.h>                         // for CEikDocument
  12. #endif
  13. #if !defined(__EIKAPPUI_H__)
  14. #include <eikappui.h>                       // for CEikAppUi
  15. #endif
  16. #if !defined(__EIKDIALG_H__)
  17. #include <eikdialg.h>                       // for CEikDialog, CCoeControl
  18. #endif
  19. #if !defined(__MSVAPI_H__)
  20. #include <msvapi.h>                         // for MMsvSessionObserver 
  21. #endif
  22. // Forward declarations
  23. class CClientMtmRegistry;
  24. class CMsvSession;
  25. class CBaseMtm;
  26. //
  27. // A dialog class for entering a gsm number
  28. //
  29. class CGDSMSTelNumDialog : public CEikDialog
  30.     {
  31. public:
  32.     CGDSMSTelNumDialog(TDesC& aRecipientsTelNum);
  33. private:
  34.     TBool OkToExitL(TInt aButtonId);
  35.     void PreLayoutDynInitL();
  36. private:
  37.     TDesC* iRecipientsTelNum;
  38.     };
  39. //
  40. // Application View class
  41. //
  42. class CGDSMSAppView : public CCoeControl
  43.     {
  44. public:
  45.     static CGDSMSAppView* NewL(const TRect& aRect);
  46.     static CGDSMSAppView* NewLC(const TRect& aRect);
  47. protected:
  48. private:
  49.     CGDSMSAppView();
  50.     void ConstructL(const TRect& aRect);
  51.     void Draw(const TRect& aRect) const;
  52.     };
  53. //
  54. // Application Ui class, this contains all application functionality
  55. //
  56. class CGDSMSAppUi : public CEikAppUi, public MMsvSessionObserver
  57.     {
  58. public:
  59.     void ConstructL();
  60.     ~CGDSMSAppUi();
  61.     TBool MessageReceivedL(TMsvId aEntryId);
  62.     void HandleCommandL(TInt aCommand);
  63. protected:
  64. private:
  65.     void CompleteConstructL();
  66.     void CmdSendL();
  67.     void CmdExitL();
  68.     TBool InitializeCommunicationsL();
  69.     TMsvId CreateNewMessageL();
  70.     TBool SendMessageL();
  71.     void SetEntryL(TMsvId aEntryId);
  72.     TMsvId MoveMessageEntryL(TMsvId aTarget);
  73.     void SetScheduledSendingStateL(CMsvEntrySelection* aSelection);
  74.     TBool DeleteSentEntry(TMsvId aEntryId);
  75.     void DeleteMessagesFromInboxL();
  76. private:    // from MMsvSessionObserver
  77.     void HandleSessionEventL(TMsvSessionEvent aEvent, TAny* aArg1, TAny* aArg2, TAny* aArg3);
  78.     
  79. private:
  80.     CGDSMSAppView* iAppView;
  81.     HBufC* iRecipient;              // recipients gsm number
  82.     TMsvId iMsvId;                  // message server entry id
  83.     CMsvSession* iSession;          // Client session on the message server
  84.     CBaseMtm* iMtm;                 // Message Type Module (sms)
  85.     CClientMtmRegistry* iMtmReg;    // Mtm client registry for creating new mtms
  86.     };
  87. //
  88. // Application document class
  89. //
  90. class CGDSMSDocument : public CEikDocument
  91.     {
  92. public:
  93.     static CGDSMSDocument* NewL(CEikApplication& aApp);
  94.     CEikAppUi* CreateAppUiL();
  95. protected:
  96. private:
  97.     CGDSMSDocument(CEikApplication& aApp);
  98.     void ConstructL();
  99.     };
  100. //
  101. // Application class
  102. //
  103. class CGDSMSApplication : public CEikApplication
  104.     {
  105. public:
  106.     TUid AppDllUid() const;
  107. private:
  108.     CApaDocument* CreateDocumentL();
  109.     };
  110. #endif // __GDSMS_H__