author | MattD <mattd@symbian.org> |
Thu, 01 Apr 2010 14:50:19 +0100 | |
changeset 48 | 0d4ac38889fc |
parent 21 | 11157e26c4a7 |
permissions | -rw-r--r-- |
21
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
1 |
/* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
2 |
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
3 |
* All rights reserved. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
4 |
* This component and the accompanying materials are made available |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
5 |
* under the terms of "Eclipse Public License v1.0" |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
6 |
* which accompanies this distribution, and is available |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
7 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html". |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
8 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
9 |
* Initial Contributors: |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
10 |
* Nokia Corporation - initial contribution. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
11 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
12 |
* Contributors: |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
13 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
14 |
* Description: |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
15 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
16 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
17 |
#if !defined(CDLENGINE_H) |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
18 |
#define CDLENGINE_H |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
19 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
20 |
#include <e32base.h> |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
21 |
#include <CdlEngDef.h> |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
22 |
#include <badesca.h> |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
23 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
24 |
class CCdlEngine; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
25 |
class CCdlEngineBase; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
26 |
class CCdlRefs; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
27 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
28 |
typedef void (TCdlEngineFunc)(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
29 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
30 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
31 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
32 |
* This class is the base for all classes which need to maintain a reference to the |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
33 |
* CDL engine or an object it owns. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
34 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
35 |
* When created, this object adds a reference to the CDL engine. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
36 |
* When deleted, this object removes any remaining reference to the CDL engine. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
37 |
* References may added or removed during the object's lifetime, but there must be 0 or 1 |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
38 |
* reference when this object is deleted. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
39 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
40 |
* This class is not instantiable or derivable outside of the CDL engine. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
41 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
42 |
NONSHARABLE_CLASS(CCdlEngineRef) : public CBase |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
43 |
{ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
44 |
public: |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
45 |
CCdlEngineRef(CCdlEngineBase* aEngine); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
46 |
IMPORT_C ~CCdlEngineRef(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
47 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
48 |
void AddRef(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
49 |
void ReleaseRef(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
50 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
51 |
CCdlEngineBase* Engine() const; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
52 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
53 |
private: |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
54 |
TInt iRefCount; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
55 |
CCdlEngineBase* iEngine; // ownership is shared among all instances |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
56 |
}; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
57 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
58 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
59 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
60 |
* This is the abstract base class for all collections of TCdlRef objects. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
61 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
62 |
class CCdlRefCollection : public CBase |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
63 |
{ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
64 |
public: |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
65 |
virtual TInt CountRefs() const = 0; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
66 |
virtual TCdlRef Ref(TInt aIndex) const = 0; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
67 |
}; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
68 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
69 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
70 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
71 |
* The abstract base class for all customisation instance objects. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
72 |
* Only the CDL engine can create objects derived from this class. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
73 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
74 |
NONSHARABLE_CLASS(CCdlInstance) : public CCdlEngineRef |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
75 |
{ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
76 |
public: // General public API |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
77 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
78 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
79 |
* Gets the CDL instance reference for this instance |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
80 |
* @return the CDL reference for this instance |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
81 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
82 |
IMPORT_C const TCdlRef& Ref() const; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
83 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
84 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
85 |
* Gets the instance that forms the sub-layer for this instance. Any API not implemented |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
86 |
* by this instance will be implemented in a sub-layer. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
87 |
* @return the sub-layer for this instance, may be NULL. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
88 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
89 |
IMPORT_C const CCdlInstance* SubLayer() const; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
90 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
91 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
92 |
* The CDL instance reference for the instance that actually implemented the last |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
93 |
* accessed API. If this instance implemented the API, then this instance's reference |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
94 |
* will be returned. Otherwise it will be the reference of one of this instance's |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
95 |
* sub-layers. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
96 |
* @return the CDL reference of the instance that implemented the last accessed API. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
97 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
98 |
IMPORT_C const TCdlRef& LastAccessedRef() const; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
99 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
100 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
101 |
* Adjusts a filename to be relative to the file containing the CDL instance that |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
102 |
* implemented the last accessed API. The filename will be made relative to this instances |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
103 |
* file, or the file of one of this instances sub-layers. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
104 |
* @param aFileName the filename to be adjusted. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
105 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
106 |
IMPORT_C void FileNameRelativeToLastAccessedInstance(TFileName& aFileName) const; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
107 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
108 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
109 |
* Test whether this instance is the same as another. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
110 |
* @param aOther the instance you want to compare with this one. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
111 |
* @return true if they are the same instance. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
112 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
113 |
IMPORT_C TBool operator==(const CCdlInstance& aOther) const; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
114 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
115 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
116 |
* Does this instance implement all of it's API? Instances that don't implement their |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
117 |
* entire API need a sub-layer that does implement the entire API. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
118 |
* @return true if the entire API is implemented |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
119 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
120 |
virtual TBool IsComplete() const = 0; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
121 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
122 |
public: // API used by CDL compiler generated header files |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
123 |
IMPORT_C static CCdlInstance* NewL( const TCdlRef& aRef, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
124 |
const SCdlInterface* aInterfaceParams, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
125 |
const CCdlInstance* aSubLayer = NULL, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
126 |
CCdlEngine* aEngine = NULL, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
127 |
TInt* aLastApi = NULL); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
128 |
IMPORT_C static CCdlInstance* NewLC(const TCdlRef& aRef, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
129 |
const SCdlInterface* aInterfaceParams, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
130 |
const CCdlInstance* aSubLayer = NULL, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
131 |
CCdlEngine* aEngine = NULL, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
132 |
TInt* aLastApi = NULL); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
133 |
IMPORT_C TAny* GetData(TInt aCdlApiId) const; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
134 |
IMPORT_C TCdlEngineFunc* GetFunction(TInt aCdlApiId) const; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
135 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
136 |
public: // CDL System API |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
137 |
const CCdlInstance* Implementor(TInt aCdlApiId) const; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
138 |
virtual TAny* Implementation(TInt aCdlApiId) const = 0; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
139 |
virtual const SCdlInterface& Interface() const = 0; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
140 |
virtual TAny* Extension(TInt aId) const; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
141 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
142 |
protected: |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
143 |
CCdlInstance(CCdlEngine* aEngine, TInt* aLastApi); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
144 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
145 |
protected: |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
146 |
friend class CdlEngine; // for optimised GetFunction() |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
147 |
TCdlRef iRef; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
148 |
const CCdlInstance* iSubLayer; // not owned |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
149 |
TInt& iLastApi; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
150 |
}; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
151 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
152 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
153 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
154 |
* A collection of UIDs. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
155 |
* Used within the CDL engine to represent collections of CDL interface UIDs. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
156 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
157 |
class CCdlUids : public CArrayFixFlat<TUid> |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
158 |
{ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
159 |
public: |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
160 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
161 |
* Two-phased constructor. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
162 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
163 |
IMPORT_C static CCdlUids* NewLC(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
164 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
165 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
166 |
* C++ default constructor. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
167 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
168 |
IMPORT_C CCdlUids(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
169 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
170 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
171 |
* Adds a UID to the collection, if it is not already present |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
172 |
* @param aUid the UID to add |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
173 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
174 |
IMPORT_C void AddL(TUid aUid); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
175 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
176 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
177 |
* Removes a UID from the collection |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
178 |
* @param aUid the UID to remove |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
179 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
180 |
IMPORT_C void Remove(TUid aUid); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
181 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
182 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
183 |
* Adds a collection of UIDs to this collection. UIDs are only added if they are not |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
184 |
* already present. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
185 |
* @param aArray the collection of UIDs to add |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
186 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
187 |
IMPORT_C void AddL(const CCdlUids& aArray); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
188 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
189 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
190 |
* Removes a collection of UIDs from this collection |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
191 |
* @param aParam the collection of UIDs to remove |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
192 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
193 |
IMPORT_C void Remove(const CCdlUids& aArray); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
194 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
195 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
196 |
* Finds the array index of a UID in this collection |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
197 |
* @param aUid the UID to search for |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
198 |
* @return The index of the UID if found. KErrNotFound otherwise. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
199 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
200 |
IMPORT_C TInt FindIndex(TUid aUid) const; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
201 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
202 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
203 |
* Creates a new collection containing the UIDs which are common to this and the passed |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
204 |
* in collection. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
205 |
* @param aArray the other collection |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
206 |
* @return a new collection of UID containing the intersection of the two inputs. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
207 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
208 |
IMPORT_C CCdlUids* IntersectionLC(const CCdlUids& aArray) const; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
209 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
210 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
211 |
* Populates a UID collection from a descriptor containing an exported UID collection. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
212 |
* @param aDes a descriptor containing a UID collection created by the Export() function. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
213 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
214 |
IMPORT_C void ImportL(const TDesC8& aDes); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
215 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
216 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
217 |
* Creates a descriptor containing the exported UID collection. Used for externalising |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
218 |
* UID collections and transmitting them across processes. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
219 |
* @return a descriptor containing the exported contents of this collection. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
220 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
221 |
IMPORT_C TPtrC8 Export() const; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
222 |
}; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
223 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
224 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
225 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
226 |
* A collection of names stored as HBufC*. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
227 |
* This collection contains one instance of each name. CdlEngine::CompareNames() is used |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
228 |
* to check whether two names are the same. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
229 |
* This collection type is used as a string pool for the CCdlRefs class, where there are |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
230 |
* many TCdlRefs that share the same name. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
231 |
* This class is used instead of CDesCArray because the descriptors returned by CDesCArray |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
232 |
* are not referenceable. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
233 |
* The HBufCs in the array are owned by this class. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
234 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
235 |
class CCdlNames : public CArrayPtrFlat<HBufC> |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
236 |
{ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
237 |
public: |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
238 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
239 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
240 |
* Two-phased constructor. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
241 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
242 |
IMPORT_C static CCdlNames* NewLC(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
243 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
244 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
245 |
* C++ default constructor. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
246 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
247 |
IMPORT_C CCdlNames(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
248 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
249 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
250 |
* Destructor. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
251 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
252 |
IMPORT_C ~CCdlNames(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
253 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
254 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
255 |
* Finds the array index of a name in this collection. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
256 |
* @param aName the name to look for. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
257 |
* @return the array index of the name, if found. KErrNotFound otherwise. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
258 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
259 |
IMPORT_C TInt FindIndex(const TDesC& aName) const; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
260 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
261 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
262 |
* Adds a name to the collection. If the name is already present in the collection is |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
263 |
* not added again. In any case, the names HBufC* in the collection is returned. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
264 |
* @param aName the name to add to the collection. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
265 |
* @return The HBufC* in the collection that contains the name. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
266 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
267 |
IMPORT_C HBufC* AddL(const TDesC& aName); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
268 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
269 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
270 |
* Populates the collection from a descriptor containing an exported collection of names. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
271 |
* @param aDes a descriptor containing a collection of names, which has been exported |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
272 |
* by ExportL or ExportLC. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
273 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
274 |
IMPORT_C void ImportL(const TDesC8& aDes); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
275 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
276 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
277 |
* Creates a descriptor containing the exported collection of names |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
278 |
* @return a new HBufC |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
279 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
280 |
IMPORT_C HBufC8* ExportL() const; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
281 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
282 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
283 |
* Creates a descriptor containing the exported collection of names |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
284 |
* @return a new HBufC on the cleanup stack |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
285 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
286 |
IMPORT_C HBufC8* ExportLC() const; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
287 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
288 |
private: |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
289 |
static void CleanupImport(TAny* aThis); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
290 |
void DoCleanupImport(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
291 |
}; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
292 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
293 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
294 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
295 |
* Mixin class for observing changes in the CDL customisation world. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
296 |
* This class has concrete implementations of all its virtual functions. These are NULL |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
297 |
* implementations, except for the destructor which deregisters the observer. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
298 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
299 |
class MCdlChangeObserver |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
300 |
{ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
301 |
public: |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
302 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
303 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
304 |
* a virtual destructor that de-registers this observer with the CDL engine |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
305 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
306 |
IMPORT_C virtual ~MCdlChangeObserver(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
307 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
308 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
309 |
* This event handler function is called when the current customisation of one or more |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
310 |
* interfaces has changed. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
311 |
* @param aUids the collection of interface UIDs which have changed |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
312 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
313 |
IMPORT_C virtual void HandleCustomisationChangeL(const CCdlUids& aUids); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
314 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
315 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
316 |
* This event handler function is called when the set of available customisations changes |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
317 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
318 |
IMPORT_C virtual void HandleAvailableRefsChangeL(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
319 |
}; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
320 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
321 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
322 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
323 |
* CdlEngine is a static fascade interface to the singleton CDL engine object. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
324 |
* There is at most one CDL engine per thread. This static interface ensures that this |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
325 |
* fact can not be changed. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
326 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
327 |
class CdlEngine |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
328 |
{ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
329 |
public: |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
330 |
// General public API |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
331 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
332 |
* Tests for the existence of the CDL engine. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
333 |
* Useful for cases where the client code can work without the CDL engine, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
334 |
* and does not want to create and hold a CCdlEngineRef to ensure the existence |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
335 |
* of the CDL engine. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
336 |
* @return ETrue if the CDL engine exists, EFalse otherwise. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
337 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
338 |
IMPORT_C static TBool IsCdlEngineCreated(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
339 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
340 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
341 |
* Creates a reference to the CDL engine singleton, and creates the CDL engine if it |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
342 |
* does not already exist. If your client code is unsure if the CDL exists in this thread, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
343 |
* it should use this function to ensure that it does. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
344 |
* @return a reference to the CDL engine. The CDL engine is guaranteed to exist as long |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
345 |
* as this reference does. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
346 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
347 |
IMPORT_C static CCdlEngineRef* CreateCdlEngineL(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
348 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
349 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
350 |
* Starts the global customisation of CDL interfaces that are configured for global |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
351 |
* customisation. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
352 |
* CDL interfaces can be customised either locally or globally. Local customisation |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
353 |
* means that changes to the customisation only affect the local thread. Global customisation |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
354 |
* means that customisation settings are stored in the CDL server and affect all threads. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
355 |
* that subscribe to customisation of that interface. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
356 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
357 |
IMPORT_C static void StartGlobalCustomisationL(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
358 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
359 |
// API used by CDL compiler generated header files |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
360 |
IMPORT_C static TAny* GetData(TUid aCdlUid, TInt aApiId); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
361 |
IMPORT_C static TCdlEngineFunc* GetFunction(TUid aCdlUid, TInt aApiId); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
362 |
IMPORT_C static const CCdlInstance* Implementor(TUid aCdlUid, TInt aApiId); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
363 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
364 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
365 |
* Is customisation for this CDL interface loaded? |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
366 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
367 |
* This function is normally used through a CDL compiler generated header |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
368 |
* specific to a particular CDL interface. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
369 |
* @param aInterfaceParams the interface in question |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
370 |
* @return ETrue if the interface is available and a customisation is loaded. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
371 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
372 |
IMPORT_C static TBool IsCustomisationStarted(const SCdlInterface* aInterfaceParams); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
373 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
374 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
375 |
* Set a requirement for customisations of this interface that they have |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
376 |
* to implement at least the version of the interface that the client specifies. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
377 |
* If customisations are already loaded that do not satisfy this interface, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
378 |
* this function will leave with KErrNotSupported. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
379 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
380 |
* This function is normally used through a CDL compiler generated header |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
381 |
* specific to a particular CDL interface. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
382 |
* @param aInterfaceParams the interface in question |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
383 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
384 |
IMPORT_C static void RequireCustomisationL(const SCdlInterface* aInterfaceParams); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
385 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
386 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
387 |
* Load a customisation from this reference. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
388 |
* If no customisation has already been loaded for this interface, this |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
389 |
* customisation instance must meet any requirements already specified by |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
390 |
* the clients of the interface. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
391 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
392 |
* This function is normally used through a CDL compiler generated header |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
393 |
* specific to a particular CDL interface. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
394 |
* @param aRef a CDL instance reference defining the customisation. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
395 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
396 |
IMPORT_C static void LoadCustomisationL(const TCdlRef& aRef); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
397 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
398 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
399 |
* Get a CDL instance that represents the current customisation. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
400 |
* This instance will automatically be updated to reflect changes in |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
401 |
* customisation. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
402 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
403 |
* This function is normally used through a CDL compiler generated header |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
404 |
* specific to a particular CDL interface. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
405 |
* @param aCdlUid the UID of the CDL interface that you want customisation for |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
406 |
* @return a reference to a customisation instance |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
407 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
408 |
IMPORT_C static const CCdlInstance& CustomisationInstance(TUid aCdlUid); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
409 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
410 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
411 |
* Sets a customisation change observer object for a particular interface. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
412 |
* Using this function, client code can be informed when the current |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
413 |
* customisation for a particular interface changes. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
414 |
* A single observer can observe changes in many interfaces. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
415 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
416 |
* This function is normally used through a CDL compiler generated header |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
417 |
* specific to a particular CDL interface. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
418 |
* @param aObserver a pointer to an object implementing the MCdlChangeObserver interface. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
419 |
* @param aCdlUid the UID of the CDL interface that you want to observe. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
420 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
421 |
IMPORT_C static void SetCustomisationChangeObserverL(MCdlChangeObserver* aObserver, TUid aCdlUid); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
422 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
423 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
424 |
* Get a reference for the last customisation instance which was accessed |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
425 |
* to implement a particular interface. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
426 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
427 |
* This function is normally used through a CDL compiler generated header |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
428 |
* specific to a particular CDL interface. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
429 |
* @param aCdlUid the UID of the CDL interface |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
430 |
* @return a reference for the instance that was last accessed to implement |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
431 |
* the asked for interface. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
432 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
433 |
IMPORT_C static const TCdlRef& LastAccessedRef(TUid aCdlUid); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
434 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
435 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
436 |
* Modify a filename to be relative to the file containing the customisation |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
437 |
* instance that was last accessed to implement a particular CDL interface. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
438 |
* For instance, if an interface was accessed to get a bitmap file name, a |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
439 |
* full path for that bitmap file can be generated by using this function |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
440 |
* immediately afterwards. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
441 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
442 |
* This function is normally used through a CDL compiler generated header |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
443 |
* specific to a particular CDL interface. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
444 |
* @param aCdlUid the UID of the CDL interface |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
445 |
* @param aFileName the filename to be modified |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
446 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
447 |
IMPORT_C static void FileNameRelativeToLastAccessedInstance(TUid aCdlUid, TFileName& aFileName); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
448 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
449 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
450 |
* Get the latest API id accessed by a CDL client. If used from inside a customisation |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
451 |
* instance, this will be the API id of the current implementation. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
452 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
453 |
* @return the latest API id that was accessed by a CDL client. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
454 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
455 |
IMPORT_C static TInt LastApiId(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
456 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
457 |
// API for controlling customisation settings |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
458 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
459 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
460 |
* Create a collection of CDL references that implement a particular interface. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
461 |
* @param aCdlUid the UID of the interface in question |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
462 |
* @return a new collection of the CDL instance references that implement that interface. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
463 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
464 |
IMPORT_C static CCdlRefs* FindInstancesLC(TUid aCdlUid); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
465 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
466 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
467 |
* Create a collection of references for the CDL instancesthat are implemented |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
468 |
* in a named file. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
469 |
* @param aFileName the name of the file that contains CDL instances |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
470 |
* @return a new collection of CDL instance references. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
471 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
472 |
IMPORT_C static CCdlRefCollection* FileContentsLC(const TDesC& aFileName); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
473 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
474 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
475 |
* Create a collection of file names of files that contain CDL customisation instances. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
476 |
* @return a new collection of file names. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
477 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
478 |
IMPORT_C static CCdlNames* FindCustomisationFilesLC(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
479 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
480 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
481 |
* Create a collection of references to all known CDL customisation instances. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
482 |
* @return a collection of references to all known instances. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
483 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
484 |
IMPORT_C static CCdlRefs* AllAvailableRefsLC(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
485 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
486 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
487 |
* Set an observer for changes in the set of available customisations. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
488 |
* @param aObserver a implementor of the MCdlChangeObserver interface that is interested |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
489 |
* in knowing about changes to the set of all available references. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
490 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
491 |
IMPORT_C static void SetAvailableRefsChangeObserverL(MCdlChangeObserver* aObserver); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
492 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
493 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
494 |
* Sets the current local customisation as described by a collection of CDL instance references. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
495 |
* For each reference, the instance referenced will be used to customise it's interface. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
496 |
* If more than one instance in the collection customise the same interface, the earlier |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
497 |
* reference in the collection will be a sub-layer for the later one. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
498 |
* This only affects customisation in this thread. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
499 |
* @param aState the collection of CDL instance references that will be used for customisation. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
500 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
501 |
IMPORT_C static void SetLocalStateL(const CCdlRefs& aState); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
502 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
503 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
504 |
* Sets the global customisation as described by a collection of CDL instance references. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
505 |
* For each reference, the instance referenced will be used to customise it's interface. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
506 |
* If more than one instance in the collection customise the same interface, the earlier |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
507 |
* reference in the collection will be a sub-layer for the later one. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
508 |
* This sets the global customisation. It will only affect the local customisation state |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
509 |
* if global customisation of the relevant interfaces is enabled in this thread. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
510 |
* @param aState the collection of CDL instance references that will be used for customisation. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
511 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
512 |
IMPORT_C static void SetGlobalStateL(const CCdlRefs& aState); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
513 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
514 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
515 |
* Creates a collection of CDL instance references that describe the local customisation |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
516 |
* of a set of interfaces. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
517 |
* @param aCdlUids the set of interface UIDs of interest. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
518 |
* @return a collection of references that describe the customisation state. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
519 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
520 |
IMPORT_C static CCdlRefs* LocalStateLC(const CCdlUids& aCdlUids); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
521 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
522 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
523 |
* Creates a collection of CDL instance references that describe the global customisation |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
524 |
* of a set of interfaces. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
525 |
* @param aCdlUids the set of interface UIDs of interest. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
526 |
* @return a collection of references that describe the customisation state. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
527 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
528 |
IMPORT_C static CCdlRefs* GlobalStateLC(const CCdlUids& aCdlUids); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
529 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
530 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
531 |
* Enable or disable global customisation for a collection of interfaces. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
532 |
* @param aCdlUids the interface UIDs for which global customisation is to be enabled or disabled |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
533 |
* @param aEnabled are they to be enabled or disabled? |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
534 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
535 |
IMPORT_C static void EnableGlobalCustomisationL(const CCdlUids& aCdlUids, TBool aEnabled); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
536 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
537 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
538 |
* Compares two names. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
539 |
* @param aLeft a name to compare. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
540 |
* @param aRight a name to compare. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
541 |
* @return as for TDesC::CompareF: 0 if the names are the same. Non-zero otherwise. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
542 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
543 |
IMPORT_C static TInt CompareNames(const TDesC& aLeft, const TDesC& aRight); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
544 |
}; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
545 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
546 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
547 |
#endif |