|
1 // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of "Eclipse Public License v1.0" |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // MMSSettingProxyBase.h |
|
15 // Header file for base MMS Settings Proxy |
|
16 // |
|
17 // |
|
18 |
|
19 #ifndef __MMSSETTINGSPROXYBASE_H__ |
|
20 #define __MMSSETTINGSPROXYBASE_H__ |
|
21 |
|
22 #include <e32base.h> |
|
23 #include <ecom/ecom.h> |
|
24 #include <msventry.h> |
|
25 |
|
26 const TUid KMMSSettingsProxyBaseUid = {0x101F9421}; |
|
27 |
|
28 _LIT(KMMSUrl, "MMSUrl"); |
|
29 _LIT(KCommDbRecordId, "CommDbRecordId"); |
|
30 _LIT(KMsvEntry, "CMsvEntry"); |
|
31 const TInt KMMSSettingsProxyVersionSupported = 2; |
|
32 const TUid KMMSSettingsProxyInterfaceUid = {0x101f9420}; |
|
33 |
|
34 class TMMSSettingsPair |
|
35 /** |
|
36 Encapsulates an MMS settings value. |
|
37 |
|
38 A setting is specified as a name-value pair. |
|
39 |
|
40 @see CMMSSettingsProxyBase |
|
41 @publishedPartner |
|
42 @released |
|
43 */ |
|
44 { |
|
45 public: |
|
46 /** Setting name. */ |
|
47 TPtrC iName; |
|
48 /** Setting value. This must be cast to the correct type for the value. */ |
|
49 TAny* iValue; |
|
50 /** Enables the object to form part of a linked list. */ |
|
51 TSglQueLink iLink; |
|
52 }; |
|
53 |
|
54 class CMMSSettingsProxyBase : public CBase |
|
55 /** |
|
56 ECom interface for a plug-in to make MMS settings. |
|
57 |
|
58 The BIO WAP Access Point Parser can receive settings for the MMS over-the-air. If it does so, |
|
59 it attempts to find a plug-in on the phone that implements this interface, and passes the |
|
60 settings to the plug-in. The plug-in should then update the MMS settings in whatever way |
|
61 is suitable for the MMS implementation on the phone. |
|
62 |
|
63 @publishedPartner |
|
64 @released |
|
65 */ |
|
66 { |
|
67 |
|
68 public: |
|
69 // delegates construction to an ECom static method and casts return value to the correct type. |
|
70 /** Constructs the MMS settings plug-in. |
|
71 |
|
72 @param aInterfaceImplUid Plug-in's implementation UID. The BIO WAP Access Point Parser expects the |
|
73 implementation to have the UID KMMSSettingsProxyBaseUid (0x101F9421). |
|
74 @return The MMS settings plug-in |
|
75 */ |
|
76 static CMMSSettingsProxyBase* NewL(TUid aInterfaceImplUid); |
|
77 /** |
|
78 Destructor. |
|
79 */ |
|
80 virtual ~CMMSSettingsProxyBase(); |
|
81 /** Passes the MMS settings to the plug-in. |
|
82 |
|
83 The settings are given as a linked list of name-value pairs. Currently three settings are |
|
84 contained in this list and an implementation may use any or all of them. They are: |
|
85 |
|
86 - MMSUrl - A TPtrC* containing the URL of the MMS centre |
|
87 - CommDbRecordId - A TUint32* containing the CommDb record ID of the WAP ISP. |
|
88 - CMsvServerEntry - A CMsvServerEntry* used to navigate the message store |
|
89 |
|
90 @param aMMSSettingsList Linked list of MMS settings |
|
91 */ |
|
92 virtual void SetMMSValuesL(TSglQue<TMMSSettingsPair>& aMMSSettingsList) = 0; |
|
93 |
|
94 private: |
|
95 TUid iDtor_ID_Key; // required for destruction identification within the ECom framework |
|
96 }; |
|
97 |
|
98 #include <mmssettingsproxybase.inl> |
|
99 |
|
100 #endif //__MMSSETTINGSPROXYBASE_H__ |