qtmobility/src/messaging/qmtmengine_symbian_p.h
changeset 14 6fbed849b4f4
parent 11 06b8e2af4411
child 15 1f895d8a5b2b
equal deleted inserted replaced
11:06b8e2af4411 14:6fbed849b4f4
    73 QTM_BEGIN_NAMESPACE
    73 QTM_BEGIN_NAMESPACE
    74 
    74 
    75 class CMessagesFindOperation;
    75 class CMessagesFindOperation;
    76 class QMessageId;
    76 class QMessageId;
    77 class QMessageAccount;
    77 class QMessageAccount;
       
    78 class CAsynchronousMTMOperation;
    78 
    79 
    79 struct MessageEvent
    80 struct MessageEvent
    80 {
    81 {
    81     QMessageStorePrivate::NotificationType notificationType;
    82     QMessageStorePrivate::NotificationType notificationType;
    82     TMsvId messageId;
    83     TMsvId messageId;
   143     bool sendMMS(QMessage &message);
   144     bool sendMMS(QMessage &message);
   144     bool storeEmail(QMessage &message);
   145     bool storeEmail(QMessage &message);
   145     bool sendEmail(QMessage &message);
   146     bool sendEmail(QMessage &message);
   146     bool storeSMS(QMessage &message);
   147     bool storeSMS(QMessage &message);
   147     bool sendSMS(QMessage &message);
   148     bool sendSMS(QMessage &message);
   148     bool retrieve(const QMessageId &messageId, const QMessageContentContainerId& id);
   149     bool retrieve(QMessageServicePrivate& privateService, const QMessageId &messageId, const QMessageContentContainerId& id);
   149     bool retrieveBody(const QMessageId& id);
   150     bool retrieveBody(QMessageServicePrivate& privateService, const QMessageId& id);
   150     bool retrieveHeader(const QMessageId& id);
   151     bool retrieveHeader(QMessageServicePrivate& privateService, const QMessageId& id);
   151     bool exportUpdates(const QMessageAccountId &id);
   152     bool exportUpdates(QMessageServicePrivate& privateService, const QMessageAccountId &id);
   152     
   153     
   153     QByteArray attachmentContent(long int messageId, unsigned int attachmentId);
   154     QByteArray attachmentContent(long int messageId, unsigned int attachmentId);
   154     QString attachmentTextContent(long int messageId, unsigned int attachmentId, const QByteArray &charset);
   155     QString attachmentTextContent(long int messageId, unsigned int attachmentId, const QByteArray &charset);
   155     
   156     
   156     QMessageManager::NotificationFilterId registerNotificationFilter(QMessageStorePrivate& aPrivateStore,
   157     QMessageManager::NotificationFilterId registerNotificationFilter(QMessageStorePrivate& aPrivateStore,
   226     void storeEmailL(QMessage &message);
   227     void storeEmailL(QMessage &message);
   227     void sendEmailL(QMessage &message);
   228     void sendEmailL(QMessage &message);
   228     void storeSMSL(QMessage &message);
   229     void storeSMSL(QMessage &message);
   229     bool validateSMS();
   230     bool validateSMS();
   230     void sendSMSL(QMessage &message);
   231     void sendSMSL(QMessage &message);
   231     void retrieveL(const QMessageId &messageId, const QMessageContentContainerId& id);
   232     void retrieveL(QMessageServicePrivate& privateService, const QMessageId &messageId, const QMessageContentContainerId& id);
   232     void retrieveBodyL(const QMessageId& id) const;
   233     void retrieveBodyL(QMessageServicePrivate& privateService, const QMessageId& id);
   233     void retrieveHeaderL(const QMessageId& id) const;
   234     void retrieveHeaderL(QMessageServicePrivate& privateService, const QMessageId& id);
   234     void exportUpdatesL(const QMessageAccountId &id) const;
   235     void exportUpdatesL(QMessageServicePrivate& privateService, const QMessageAccountId &id);
   235     void appendAttachmentToMessage(QMessage& message, QMessageContentContainer& attachment) const;
   236     void appendAttachmentToMessage(QMessage& message, QMessageContentContainer& attachment) const;
   236     QByteArray attachmentContentL(long int messageId, unsigned int attachmentId);
   237     QByteArray attachmentContentL(long int messageId, unsigned int attachmentId);
   237     
   238     
   238     QString privateFolderPath();
   239     QString privateFolderPath();
   239     
   240     
   241     TTime qDateTimeToSymbianTTime(const QDateTime& date) const;
   242     TTime qDateTimeToSymbianTTime(const QDateTime& date) const;
   242     
   243     
   243     static void cmsvEntryCleanup(TAny* aCMsvEntry);    
   244     static void cmsvEntryCleanup(TAny* aCMsvEntry);    
   244     CMsvEntry* retrieveCMsvEntryAndPushToCleanupStack(TMsvId id = 0) const;
   245     CMsvEntry* retrieveCMsvEntryAndPushToCleanupStack(TMsvId id = 0) const;
   245     void releaseCMsvEntryAndPopFromCleanupStack(CMsvEntry* pEntry) const;
   246     void releaseCMsvEntryAndPopFromCleanupStack(CMsvEntry* pEntry) const;
       
   247     
       
   248     CAsynchronousMTMOperation* createAsynchronousMTMOperation(QMessageServicePrivate& privateService,
       
   249                                                               CBaseMtm* mtm,
       
   250                                                               TMsvId serviceId);
       
   251     void deleteAsynchronousMTMOperation(CAsynchronousMTMOperation *apOperation);
   246 
   252 
   247 private: // from CActive
   253 private: // from CActive
   248     void RunL();
   254     void RunL();
   249     void DoCancel();
   255     void DoCancel();
   250 
   256 
   300     mutable QMessageFolderSortOrder iCurrentFolderOrdering;
   306     mutable QMessageFolderSortOrder iCurrentFolderOrdering;
   301     mutable QMessageSortOrder iCurrentMessageOrdering;
   307     mutable QMessageSortOrder iCurrentMessageOrdering;
   302     
   308     
   303     friend class QMessageService;
   309     friend class QMessageService;
   304     friend class CMessagesFindOperation;
   310     friend class CMessagesFindOperation;
       
   311     friend class CAsynchronousMTMOperation;
   305 };
   312 };
   306 
   313 
   307 class CMessagesFindOperation : public CActive
   314 class CMessagesFindOperation : public CActive
   308 {
   315 {
   309 public:
   316 public:
   344     CMsvFindOperation* ipMsvFindOperation;
   351     CMsvFindOperation* ipMsvFindOperation;
   345     
   352     
   346     mutable RTimer iTimer;
   353     mutable RTimer iTimer;
   347 };
   354 };
   348 
   355 
       
   356 class QMTMWait : public CActive
       
   357 {
       
   358 public:
       
   359     QMTMWait(TInt aPriority = EPriorityStandard);
       
   360     ~QMTMWait();
       
   361 
       
   362     void start();
       
   363 
       
   364 protected: // From CActive
       
   365     void RunL();
       
   366     void DoCancel();
       
   367     
       
   368 private: // Data
       
   369     QEventLoop m_eventLoop;
       
   370 };
       
   371 
       
   372 class CAsynchronousMTMOperation : public CActive
       
   373 {
       
   374 public:
       
   375     enum MTMOperation
       
   376     {
       
   377         MTMOperationRetrieveMessageHeader,
       
   378         MTMOperationRetrieveMessageBody,
       
   379         MTMOperationRetrieveMessageAttachments,
       
   380         MTMOperationFullSync,
       
   381     };    
       
   382 
       
   383     enum MTMOperationStep
       
   384     {
       
   385         MTMOperationStepConnect,
       
   386         MTMOperationStepDoOperation,
       
   387         MTMOperationStepDisconnect,
       
   388         MTMOperationStepFinished
       
   389     };    
       
   390     
       
   391     CAsynchronousMTMOperation(CMTMEngine& aParent,
       
   392                               QMessageServicePrivate& privateService,
       
   393                               CBaseMtm* mtm,
       
   394                               TMsvId serviceId,
       
   395                               TInt aOperationId);
       
   396     ~CAsynchronousMTMOperation();
       
   397 
       
   398     bool retrieveMessageHeader(TMsvId aMessageId);
       
   399     bool retrieveMessageBody(TMsvId aMessageId);
       
   400     bool retrieveMessageAttachments(TMsvId aMessageId);
       
   401     bool doFullSync();
       
   402 
       
   403 protected: // From CActive
       
   404     void RunL();
       
   405     void DoCancel();
       
   406     
       
   407 private: // Data
       
   408     CMTMEngine* ipParent;
       
   409 
       
   410     TInt iOperationId;
       
   411     TMsvId iServiceId;
       
   412     TMsvId iMessageId;
       
   413     QMessageServicePrivate* ipPrivateService;
       
   414     
       
   415     CBaseMtm*           ipMTM;
       
   416     MTMOperation        iOperation;
       
   417     MTMOperationStep    iOperationStep;
       
   418     
       
   419     CMsvEntrySelection* ipMsvEntrySelection;
       
   420     CMsvOperation*      ipMsvOperation;
       
   421     
       
   422     bool                isActive;
       
   423 };
   349 
   424 
   350 QTM_END_NAMESPACE
   425 QTM_END_NAMESPACE
   351 #endif // QMTMENGINE_SYMBIAN_H
   426 #endif // QMTMENGINE_SYMBIAN_H