43 const TMailboxId& aMailboxId ); |
43 const TMailboxId& aMailboxId ); |
44 |
44 |
45 ~CEmailMailbox(); |
45 ~CEmailMailbox(); |
46 |
46 |
47 public: // from MEmailInterface |
47 public: // from MEmailInterface |
48 virtual TEmailTypeId InterfaceId() const; |
48 TEmailTypeId InterfaceId() const; |
49 |
49 |
50 virtual void Release(); |
50 void Release(); |
51 |
51 |
52 public: // from MEmailMailbox |
52 public: // from MEmailMailbox |
53 /**@see MEmailMailbox */ |
53 /**@see MEmailMailbox */ |
54 virtual TMailboxId MailboxId() const; |
54 TMailboxId MailboxId() const; |
55 |
55 |
56 /**@see MEmailMailbox */ |
56 /**@see MEmailMailbox */ |
57 virtual MEmailAddress* AddressL() const; |
57 MEmailAddress* AddressL() const; |
58 |
58 |
59 /**@see MEmailMailbox */ |
59 /**@see MEmailMailbox */ |
60 virtual TPtrC MailboxName() const; |
60 TPtrC MailboxName() const; |
61 |
61 |
62 /**@see MEmailMailbox */ |
62 /**@see MEmailMailbox */ |
63 virtual TInt GetFoldersL( RFolderArray& aFolders ) const; |
63 TInt GetFoldersL( RFolderArray& aFolders ) const; |
64 |
64 |
65 /**@see MEmailMailbox */ |
65 /**@see MEmailMailbox */ |
66 virtual MEmailFolder* FolderL( const TFolderId& aFolderId ) const; |
66 MEmailFolder* FolderL( const TFolderId& aFolderId ) const; |
67 |
67 |
68 /**@see MEmailMailbox */ |
68 /**@see MEmailMailbox */ |
69 virtual MEmailFolder* FolderByTypeL( |
69 MEmailFolder* FolderByTypeL( |
70 const TFolderType aFolderType ) const; |
70 const TFolderType aFolderType ) const; |
71 |
71 |
72 /**@see MEmailMailbox */ |
72 /**@see MEmailMailbox */ |
73 virtual MEmailMessage* MessageL( const TMessageId& aMessageId ); |
73 MEmailMessage* MessageL( const TMessageId& aMessageId ); |
74 |
74 |
75 /**@see MEmailMailbox */ |
75 /**@see MEmailMailbox */ |
76 virtual MEmailMessage* CreateDraftMessageL() const; |
76 MEmailMessage* CreateDraftMessageL() const; |
77 |
77 |
78 /**@see MEmailMailbox */ |
78 /**@see MEmailMailbox */ |
79 virtual MEmailMessage* CreateReplyMessageL( const TMessageId& aMessageId, const TBool aReplyToAll = ETrue ) const; |
79 MEmailMessage* CreateReplyMessageL( const TMessageId& aMessageId, const TBool aReplyToAll = ETrue ) const; |
80 |
80 |
81 /**@see MEmailMailbox */ |
81 /**@see MEmailMailbox */ |
82 virtual MEmailMessage* CreateForwardMessageL( const TMessageId& aMessageId ) const; |
82 MEmailMessage* CreateForwardMessageL( const TMessageId& aMessageId ) const; |
83 |
83 |
84 /**@see MEmailMailbox */ |
84 /**@see MEmailMailbox */ |
85 virtual void SynchroniseL( MMailboxSyncObserver& aObserver ); |
85 void SynchroniseL( MMailboxSyncObserver& aObserver ); |
86 |
86 |
87 /**@see MEmailMailbox */ |
87 /**@see MEmailMailbox */ |
88 virtual void CancelSynchronise(); |
88 void CancelSynchronise(); |
89 |
89 |
90 /**@see MEmailMailbox */ |
90 /**@see MEmailMailbox */ |
91 virtual void RegisterObserverL( MMailboxContentObserver& aObserver ); |
91 void RegisterObserverL( MMailboxContentObserver& aObserver ); |
92 |
92 |
93 /**@see MEmailMailbox */ |
93 /**@see MEmailMailbox */ |
94 virtual void UnregisterObserver( MMailboxContentObserver& aObserver ); |
94 void UnregisterObserver( MMailboxContentObserver& aObserver ); |
95 |
95 |
96 /**@see MEmailMailbox */ |
96 /**@see MEmailMailbox */ |
97 virtual MEmailMessageSearchAsync* MessageSearchL(); |
97 MEmailMessageSearchAsync* MessageSearchL(); |
98 |
98 |
99 /**@see MEmailMailbox */ |
99 /**@see MEmailMailbox */ |
100 virtual void ShowInboxL(); |
100 void ShowInboxL(); |
101 |
101 |
102 /**@see MEmailMailbox */ |
102 /**@see MEmailMailbox */ |
103 virtual void EditNewMessageL(); |
103 void EditNewMessageL(); |
104 |
104 |
105 |
105 |
106 public: // new methods |
106 public: // new methods |
107 |
107 |
108 private: |
108 private: |
120 TObserverEventMapper( CFSMailPlugin* aPlugin, TUid aPluginUid, const TMailboxId& aMailboxId ); |
120 TObserverEventMapper( CFSMailPlugin* aPlugin, TUid aPluginUid, const TMailboxId& aMailboxId ); |
121 ~TObserverEventMapper(); |
121 ~TObserverEventMapper(); |
122 void AddObserverL( MMailboxContentObserver& aObserver ); |
122 void AddObserverL( MMailboxContentObserver& aObserver ); |
123 void RemoveObserver( MMailboxContentObserver& aObserver ); |
123 void RemoveObserver( MMailboxContentObserver& aObserver ); |
124 public: // from MFSMailEventObserver |
124 public: // from MFSMailEventObserver |
125 virtual void EventL(TFSMailEvent aEvent, TFSMailMsgId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
125 virtual void EventL( TFSMailEvent aEvent, TFSMailMsgId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
126 typedef void (CEmailMailbox::TObserverEventMapper::*TEventMapFunc)( TMailboxId, TAny*, TAny*, TAny* ); |
126 typedef void ( CEmailMailbox::TObserverEventMapper::*TEventMapFunc)( TMailboxId, TAny*, TAny*, TAny* ); |
127 private: // mappers, so say we all! |
127 private: // mappers, so say we all! |
128 void ConvertParamsL( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, REmailMessageIdArray& aMessageIds, TFolderId& aFolderId ); |
128 void ConvertParamsL( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, REmailMessageIdArray& aMessageIds, TFolderId& aFolderId ); |
129 void IgnoreEventL( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
129 void IgnoreEventL( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
130 void NewMessageL( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
130 void NewMessageL( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
131 void MessageChangedL( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
131 void MessageChangedL( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
132 void MessageDeletedL( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
132 void MessageDeletedL( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
133 void MessageMoved( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
133 void MessageMoved( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
134 void MessageCopiedL( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
134 void MessageCopiedL( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
135 void NewFolderL( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
135 void NewFolderL( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
136 void FolderChangeL( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
136 void FolderChangeL( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
137 void FoldersDeletedL( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
137 void FoldersDeletedL( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
138 void FoldersMovedL( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
138 void FoldersMovedL( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
139 void ExceptionL( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
139 void ExceptionL( TMailboxId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3 ); |
140 |
140 |
141 private: |
141 private: |
142 static TBool Equals( const MMailboxContentObserver& a1, const MMailboxContentObserver& a2 ); |
142 static TBool Equals( const MMailboxContentObserver& a1, const MMailboxContentObserver& a2 ); |
143 private: |
143 private: |
144 CFSMailPlugin* iPlugin; |
144 CFSMailPlugin* iPlugin; |
145 //const TUid iUid; |
|
146 TFSMailMsgId iFsMailboxId; |
145 TFSMailMsgId iFsMailboxId; |
147 RPointerArray<MMailboxContentObserver> iClientObservers; |
146 RPointerArray<MMailboxContentObserver> iClientObservers; |
148 }; |
147 }; |
149 class CEmailRequestObserver: public CBase, |
148 class CEmailRequestObserver: public CBase, |
150 public MFSMailRequestObserver |
149 public MFSMailRequestObserver |
151 { |
150 { |
152 public: |
151 public: |
153 CEmailRequestObserver(); |
152 CEmailRequestObserver(); |
154 |
153 |
155 virtual void RequestResponseL( TFSProgress aEvent, TInt aRequestId ); |
154 void RequestResponseL( TFSProgress aEvent, TInt aRequestId ); |
156 void SetObserverL( MMailboxSyncObserver* aObserver ); |
155 void SetObserverL( MMailboxSyncObserver* aObserver ); |
157 private: |
156 private: |
158 MMailboxSyncObserver* iObserver; |
157 MMailboxSyncObserver* iObserver; |
159 }; |
158 }; |
160 |
159 |