williamr@2: // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@2: // 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 williamr@2: // which accompanies this distribution, and is available williamr@2: // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // williamr@2: williamr@2: #ifndef __EIKAPP_H__ williamr@2: #define __EIKAPP_H__ williamr@2: williamr@2: #include // class CApaApplication williamr@2: #include williamr@2: williamr@2: class CCoeEnv; williamr@2: williamr@2: /** The base of all Uikon applications. williamr@2: williamr@2: CEikApplication builds on CApaApplication, providing a basis for applications williamr@2: working within the framework provided by Uikon. It also contains an interface williamr@2: to the resource file and the document object belonging to the application. williamr@2: williamr@2: Each Uikon application class is derived from CEikApplication. Application williamr@2: writers must provide at least an implementation of the pure virtual function williamr@2: CreateDocumentL(). williamr@2: williamr@2: The application's resource file can be changed from the default by overriding williamr@2: ResourceFileName(). williamr@2: williamr@2: @publishedAll williamr@2: @released williamr@2: @see CEikDocument */ williamr@2: class CEikApplication : public CApaApplication williamr@2: { williamr@2: public: williamr@2: IMPORT_C ~CEikApplication(); williamr@2: inline TInt ResourceFileOffset() const; williamr@2: inline CApaProcess* Process() const; williamr@2: inline const TApaAppCaption& AppCaption() const; williamr@2: IMPORT_C virtual void GetDefaultDocumentFileName(TFileName& aDocumentName) const; williamr@2: IMPORT_C virtual TFileName BitmapStoreName() const; williamr@2: public: // from CApaApplication williamr@2: IMPORT_C CDictionaryStore* OpenIniFileLC(RFs& aFs) const; williamr@2: IMPORT_C void Capability(TDes8& aInfo) const; williamr@2: IMPORT_C void SetToIniFileNameL(TParse& aParser) const; williamr@2: protected: // from CApaApplication williamr@2: IMPORT_C void PreDocConstructL(); williamr@2: IMPORT_C CApaDocument* CreateDocumentL(CApaProcess* aProcess); williamr@2: IMPORT_C void NewAppServerL(CApaAppServer*& aAppServer); williamr@2: protected: williamr@2: IMPORT_C CEikApplication(); williamr@2: IMPORT_C void EnsureCaptionIsLocalisedL(const TDesC& aLocalisableResourceFile); williamr@2: public: williamr@2: IMPORT_C virtual TFileName ResourceFileName() const; williamr@2: private: williamr@2: IMPORT_C virtual void CEikApplication_Reserved1(); williamr@2: IMPORT_C virtual void CEikApplication_Reserved2(); williamr@2: private: williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: virtual CApaDocument* CreateDocumentL()=0; williamr@2: private: // internal use williamr@2: void InitAppNameParserWithPathAndExt(TParse& aParser, const TDesC& aPath, const TDesC& aExt) const; williamr@2: protected: williamr@2: CCoeEnv* iCoeEnv; williamr@2: TInt iResourceFileOffset; williamr@2: private: williamr@2: enum williamr@2: { williamr@2: EFlagCaptionCorrectlyLocalised = 0x00000001 williamr@2: }; williamr@2: private: williamr@2: CApaProcess* iProcess; williamr@2: TApaAppCaption iCaption; williamr@2: TApaAppCapabilityBuf* iCapabilityBuf; williamr@2: TUint iAppFlags; williamr@2: TInt iSpare; williamr@2: }; williamr@2: williamr@2: /** Gets the offset value defined for this application's default resource file. williamr@2: williamr@2: As the resource file offset can also be accessed through iResourceFileOffset, williamr@2: this function should not be needed by any apps. williamr@2: williamr@2: @return Offset of a resource file. */ williamr@2: inline TInt CEikApplication::ResourceFileOffset() const williamr@2: { return iResourceFileOffset; } williamr@2: williamr@2: williamr@2: /** Gets the managing process. williamr@2: williamr@2: @return A pointer to the process object managing this application's documents. */ williamr@2: inline CApaProcess* CEikApplication::Process() const williamr@2: { return iProcess; } williamr@2: williamr@2: williamr@2: /** Gets the caption for this application. williamr@2: williamr@2: Captions are displayed in the task list. williamr@2: williamr@2: @return Application caption. */ williamr@2: inline const TApaAppCaption& CEikApplication::AppCaption() const williamr@2: { return iCaption; } williamr@2: williamr@2: #endif // __EIKAPP_H__