1 /* |
1 /* |
2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
2 * Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies). |
3 * All rights reserved. |
3 * All rights reserved. |
4 * This component and the accompanying materials are made available |
4 * This component and the accompanying materials are made available |
5 * under the terms of "Eclipse Public License v1.0" |
5 * under the terms of "Eclipse Public License v1.0" |
6 * which accompanies this distribution, and is available |
6 * which accompanies this distribution, and is available |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
9 * Initial Contributors: |
9 * Initial Contributors: |
10 * Nokia Corporation - initial contribution. |
10 * Nokia Corporation - initial contribution. |
11 * |
11 * |
12 * Contributors: |
12 * Contributors: |
13 * |
13 * |
14 * Description: Message extension interface |
14 * Description: Mailbox state extension for notifying email protocol plugins |
|
15 * about application state changes. |
15 * |
16 * |
16 */ |
17 */ |
17 |
18 |
18 #ifndef CMAILBOXSTATEEXT_H |
19 #ifndef CMAILBOXSTATEEXT_H |
19 #define CMAILBOXSTATEEXT_H |
20 #define CMAILBOXSTATEEXT_H |
28 * Data providider interface. |
29 * Data providider interface. |
29 */ |
30 */ |
30 class MEmailMailboxState |
31 class MEmailMailboxState |
31 { |
32 { |
32 public: |
33 public: |
|
34 // <qmail> |
33 /** |
35 /** |
34 * Returns currently active folder and related mailbox that |
36 * Returns currently active folder and related mailbox that |
35 * is currently being used. |
37 * is currently being used. |
36 * @param aActiveMailboxId id of currently active mailbox |
38 * @param aActiveMailboxId id of currently active mailbox |
|
39 * |
37 * @param aActiveFolderId id of currently active mail folder |
40 * @param aActiveFolderId id of currently active mail folder |
|
41 * If aActiveFolderId.IsNullId() returns true there is no active |
|
42 * folder. This happens if e.g. email applications is closed. |
38 * @return Symbian OS error code |
43 * @return Symbian OS error code |
39 */ |
44 */ |
40 virtual TInt GetActiveFolderId( |
45 virtual TInt GetActiveFolderId( |
41 TFSMailMsgId& aActiveMailboxId, |
46 TFSMailMsgId& aActiveMailboxId, |
42 TFSMailMsgId& aActiveFolderId ) const = 0; |
47 TFSMailMsgId& aActiveFolderId ) const = 0; |
|
48 // </qmail> |
43 }; |
49 }; |
44 |
50 |
45 /** |
51 /** |
46 * Extension interface for passing UI context data to protocol plugins. |
52 * Extension interface for passing UI context data to protocol plugins. |
47 */ |
53 */ |
48 class CMailboxStateExtension : public CEmailExtension |
54 class CMailboxStateExtension : public CEmailExtension |
49 { |
55 { |
50 public: |
56 public: |
51 |
57 |
52 /** |
58 /** |
53 * Sets data provider interface |
59 * Sets data provider interface. |
54 * @param aDataProvider data provider |
60 * @param aDataProvider data provider. |
55 */ |
61 */ |
56 virtual void SetStateDataProvider( MEmailMailboxState* aDataProvider ) = 0; |
62 virtual void SetStateDataProvider( MEmailMailboxState* aDataProvider ) = 0; |
|
63 // <qmail> |
|
64 /** |
|
65 * Notification that folder has changed in email application. |
|
66 * @param aActiveMailboxId id of the mailbox container the folder |
|
67 * @param aActiveFolderId currently active folder id or null id if |
|
68 * there's currently no active folder (e.g. application is closed) |
|
69 */ |
|
70 virtual void NotifyActiveFolderChanged( |
|
71 const TFSMailMsgId& aActiveMailboxId, |
|
72 const TFSMailMsgId& aActiveFolderId) = 0; |
|
73 // </qmail> |
57 |
74 |
58 protected: |
75 protected: |
59 inline CMailboxStateExtension(); |
76 inline CMailboxStateExtension(); |
60 |
77 |
61 protected: |
78 protected: |