Attempt to represent the S^2->S^3 header reorganisation as a series of "hg rename" operations
1 // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
19 #if !defined(__E32BASE_H__)
22 #if !defined(__APADEF_H__)
30 class TApaAppIdentifier;
34 // classes referenced:
41 class TApaAppIdentifier
42 /** The identity of an application.
44 An object of this type contains two pieces of information:
46 The application specific UID
48 The file name and extension of the application DLL
50 All persisted documents associated with this application have a stream containing
55 @see CApaProcess::ReadRootStreamLC()
56 @see CApaProcess::WriteRootStreamL()
57 @see CApaProcess::ReadAppIdentifierL()
58 @see CApaProcess::WriteAppIdentifierL() */
61 IMPORT_C TApaAppIdentifier();
62 IMPORT_C TApaAppIdentifier(TUid aAppUidType,const TFileName& aDllName);
63 IMPORT_C void ExternalizeL(RWriteStream& aStream)const;
64 IMPORT_C void InternalizeL(RReadStream& aStream);
67 /** The application-specific UID. */
69 /** The full path name of the application DLL. */
73 TInt iTApaAppIdentifier_Reserved1;
78 /** An application entry.
80 An object of this type contains two pieces of information:
82 the full path name of the application DLL
84 the UID type (or compound identifier) of the application DLL.
90 IMPORT_C TApaAppEntry();
91 IMPORT_C TApaAppEntry(const TUidType& aAppUidType,const TFileName& aDllName);
92 IMPORT_C void ExternalizeL(RWriteStream& aStream)const;
93 IMPORT_C void InternalizeL(RReadStream& aStream);
95 /** The UID type (or compound identifier) of the application DLL. */
97 /** The full path name of the application DLL. */
100 TInt iTApaAppEntry_Reserved1;
105 /** Application information.
107 An object of this type contains four pieces of information:
109 the application specific UID
111 the full path name of the application DLL
113 the application's caption
115 a short caption; how this is used is up to the UI
121 IMPORT_C TApaAppInfo();
122 IMPORT_C TApaAppInfo(TUid aAppUid,const TFileName& aDllName,const TApaAppCaption& aCaption);
123 IMPORT_C TApaAppInfo(TUid aAppUid,const TFileName& aDllName,const TApaAppCaption& aCaption,const TApaAppCaption& aShortCaption);
124 IMPORT_C void ExternalizeL(RWriteStream& aStream)const;
125 IMPORT_C void InternalizeL(RReadStream& aStream);
127 /** The application specific UID. */
129 /** The full path name of the application DLL. */
131 /** The caption for the application. */
132 TApaAppCaption iCaption;
133 /** The short caption for the application. */
134 TApaAppCaption iShortCaption;
137 TInt iTApaAppInfo_Reserved1;
141 class TApaAppViewInfo
142 /** Contains the basic information about an application view.
144 An object of this type contains two pieces of information:
146 The UID that identifies the view
148 The application's caption.
150 Objects of this type are returned in an array populated by a call to RApaLsSession::GetAppViews().
154 @see CApaAppViewArray
158 IMPORT_C TApaAppViewInfo();
159 IMPORT_C TApaAppViewInfo(TUid aViewUid,const TApaAppCaption& aViewCaption,TInt aScreenMode);
160 IMPORT_C void ExternalizeL(RWriteStream& aStream)const;
161 IMPORT_C void InternalizeL(RReadStream& aStream);
163 /** The UID identifying the view. */
165 /** The application caption. */
166 TApaAppCaption iViewCaption;
169 TInt iTApaAppViewInfo_Reserved1;
173 /** Defines an array of TApaAppViewInfo objects contained within a flat dynamic
176 An array of this type is populated with TApaAppViewInfo objects in a call
177 to RApaLsSession::GetAppViews().
181 typedef CArrayFixFlat<TApaAppViewInfo> CApaAppViewArray;
184 class TApaAppCapability
185 // expandable class - add new members to the end, add them to the end of int/ext also, and increment the version no.
186 // default value for all data members must be 0
187 /** Application capabilities.
193 IMPORT_C static void CopyCapability(TDes8& aDest,const TDesC8& aSource);
194 IMPORT_C void InternalizeL(RReadStream& aStream);
195 IMPORT_C void Internalize7_0L(RReadStream& aStream); // deprecated
196 IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
198 IMPORT_C void Externalize7_0L(RWriteStream& aStream) const; // deprecated
199 void DoInternalizeL(RReadStream& aStream, TBool& aLaunchInBackground, TApaAppGroupName& aGroupName);
202 /** Defines an application's support for embeddability. */
203 enum TEmbeddability {
204 /** An application cannot be embedded. */
206 /** An application can be run embedded or standalone and can read/write embedded document-content. */
208 /** An application can only be run embedded and can read/write embedded document-content. */
210 /** An application can be run embedded or standalone and cannot read/write embedded document-content. */
211 EEmbeddableUiOrStandAlone=5,
212 /** An application can only be run embedded and cannot read/write embedded document-content. */
213 EEmbeddableUiNotStandAlone=6 };
214 /** Defines an application's attributes as a set of bit flags. */
215 enum TCapabilityAttribute
217 /** If set, the application was built as a DLL, otherwise it was built as an EXE. */
218 EBuiltAsDll = 0x00000001,
219 /** If set, the application provides control panel functionality. */
220 EControlPanelItem = 0x00000002,
221 /** If set, the application is not a native executable, and hence the "path" and "extension" (as well as the "name") must be provided in the app_file field of the APP_REGISTRATION_INFO resource. */
222 ENonNative = 0x00000004
225 /** Indicates the extent to which the application can be embedded. */
226 TEmbeddability iEmbeddability;
227 /** Indicates whether the application is document-based and supports being asked
228 to create a new file. */
229 TBool iSupportsNewFile;
230 /** Indicates whether the existence of the application should be advertised to the
231 user. If this is set to ETrue, the application does not appear on the Extras
232 Bar (or equivalent). */
233 TBool iAppIsHidden; // not shown in the Shell etc.
234 /** Allows the application to be launched in the foreground (when set to EFalse)
235 or in the background (when set to ETrue). */
236 TBool iLaunchInBackground; // Series 60 extension to allow apps to be launched in the background
237 /** Stores the application's logical group name. */
238 TApaAppGroupName iGroupName; // Series 60 extension to allow apps to be categorized according a logical group name, e.g. 'games'
239 /** Indicates the application attributes. One or more values from TCapabilityAttribute may be specified. */
244 TInt iTApaAppCapability_Reserved1;
247 /** Packages the TApaAppCapability class.
251 typedef TPckgBuf<TApaAppCapability> TApaAppCapabilityBuf;
254 /** Filter used to define the subset of applications returned by RApaLsSession::GetNextApp()
259 class TApaEmbeddabilityFilter
262 IMPORT_C TApaEmbeddabilityFilter();
263 IMPORT_C void AddEmbeddability(TApaAppCapability::TEmbeddability aEmbeddability);
264 IMPORT_C TBool MatchesEmbeddability(TApaAppCapability::TEmbeddability aEmbeddability) const;
266 TUint iEmbeddabilityFlags;
268 TInt iTApaEmbeddabilityFilter_Reserved1;
272 class CApaAppFinder : public CBase
279 virtual void FindAllAppsL()=0; // sets up a scan for all apps
280 virtual TBool NextL(TApaAppEntry& aEntry)=0; // increments a scan for all apps
281 virtual TFileName FindAppL(const TDesC& aFileName,TUid aFileUid)=0; // searches for a particular app - should support wildcards in aFileName
283 virtual TFileName DefaultAppInfoFileName()const=0; // should return the full name, path and drive of the default icon file
285 IMPORT_C CApaAppFinder();
288 IMPORT_C virtual void CApaAppFinder_Reserved1();
289 IMPORT_C virtual void CApaAppFinder_Reserved2();
293 The uid for the Open service.
298 const TUid KOpenServiceUid = { 0x10208DCA };
300 /** Application service information.
302 Encapsulates a service UID and associated opaque data.
304 An instance of this class provides information about
305 a specific implementation of the service identified by
306 the encapsulated service UID.
311 class TApaAppServiceInfo
314 TApaAppServiceInfo();
315 TApaAppServiceInfo(TUid aUid, CArrayFixFlat<TDataTypeWithPriority>* aDataTypes,
316 HBufC8* aOpaqueData);
317 void ExternalizeL(RWriteStream& aStream) const;
318 void InternalizeL(RReadStream& aStream);
320 CArrayFixFlat<TDataTypeWithPriority>& DataTypes();
321 IMPORT_C TUid Uid() const;
322 IMPORT_C const CArrayFixFlat<TDataTypeWithPriority>& DataTypes() const;
323 IMPORT_C const TDesC8& OpaqueData() const;
326 CArrayFixFlat<TDataTypeWithPriority>* iDataTypes;
328 TInt iTApaAppServiceInfo;
331 /** Application service information array.
333 Owns an array of TApaAppServiceInfo objects.
335 @see TApaAppServiceInfo
339 class CApaAppServiceInfoArray : public CBase
342 CApaAppServiceInfoArray();
344 /** Provides access to the encapsulated array of
345 TApaAppServiceInfo objects.
347 @return A generic array of TApaAppServiceInfo objects. */
348 virtual TArray<TApaAppServiceInfo> Array()=0;
351 IMPORT_C virtual void CApaAppServiceInfoArray_Reserved1();
352 IMPORT_C virtual void CApaAppServiceInfoArray_Reserved2();
355 TInt iCApaAppServiceInfoArray_Reserved1;