williamr@2: /* williamr@2: * Copyright (c) 2002-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: williamr@2: williamr@2: williamr@2: #ifndef TULSTRINGRESOURCEREADER_H williamr@2: #define TULSTRINGRESOURCEREADER_H williamr@2: williamr@2: #include // RResourceReader williamr@2: williamr@2: /** williamr@2: CTulStringResourceReader reads strings from resource without CCoeEnv. williamr@2: If resource file given to the constructor is not found, the constructor leaves. williamr@2: This module is mainly for server usage, where there is the need to read resources, williamr@2: but no CCoeEnv instance is present. williamr@2: williamr@2: Usage: williamr@2: williamr@2: @code williamr@2: #include williamr@2: #include // Resource to be read header williamr@2: williamr@2: TFileName myFileName( _L("z:\\resource\\errorres.rsc") ); williamr@2: CTulStringResourceReader* test = CTulStringResourceReader::NewL( myFileName ); williamr@2: williamr@2: TPtrC buf; williamr@2: buf.Set(test-> ReadResourceString(R_ERROR_RES_GENERAL)); williamr@2: williamr@2: // Note that buf will only be valid as long as CTulStringResourceReader williamr@2: // instance is alive and no new string is read by the same instance. williamr@2: // If you need to read multiple strings, make copies. williamr@2: williamr@2: delete test; williamr@2: @endcode williamr@2: williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CTulStringResourceReader : public CBase williamr@2: { williamr@2: public: // Constructors and destructor williamr@2: IMPORT_C static CTulStringResourceReader* NewL(TFileName& aResFile); williamr@2: IMPORT_C static CTulStringResourceReader* NewLC(TFileName& aResFile); williamr@2: IMPORT_C static CTulStringResourceReader* NewL(TFileName& aResFile, RFs& aFs); williamr@2: IMPORT_C static CTulStringResourceReader* NewLC(TFileName& aResFile, RFs& aFs); williamr@2: ~CTulStringResourceReader(); williamr@2: public: williamr@2: IMPORT_C const TDesC& ReadResourceString( TInt aResourceId ); williamr@2: private: williamr@2: CTulStringResourceReader(); williamr@2: void ConstructL(TFileName& aResFile); williamr@2: void ConstructL(TFileName& aResFile, RFs& aFs); williamr@2: private: williamr@2: RResourceFile iResourceFile; williamr@2: HBufC* iResourceBuffer; williamr@2: RFs iFsSession; williamr@2: TPtrC iTruncatedTextPointer; williamr@2: TBool iFsConnected; // ETrue if connected to the file server, else EFalse williamr@2: }; williamr@2: williamr@2: #endif // TULSTRINGRESOURCEREADER_H williamr@2: