os/textandloc/fontservices/fontstore/tfs/T_IsolatedFontStore.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 /*
     2 * Copyright (c) 1995-2010 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     8 *
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    11 *
    12 * Contributors:
    13 *
    14 * Description: 
    15 *
    16 */
    17 
    18 
    19 #ifndef TISOLATEDFONTSTORE_H
    20 #define TISOLATEDFONTSTORE_H
    21 
    22 #include <e32std.h>
    23 #include <e32base.h>
    24 #include <fntstore.h>
    25 
    26 /**
    27 Class to create an isolated version of the font store; upon construction
    28 the font store pointer contains a FontStore in its initial state. Functions
    29 are provided to complete the loading of rasterizers and fonts if required.
    30  */
    31 class CTIsolatedFontStore : public CBase
    32 	{
    33 public:
    34 	~CTIsolatedFontStore();
    35 
    36 	static CTIsolatedFontStore* NewL();
    37 	static CTIsolatedFontStore* NewLC();
    38 	
    39 	static CTIsolatedFontStore* NewL(RHeap*);
    40 	static CTIsolatedFontStore* NewLC(RHeap*);
    41 
    42 	void LoadRasterizersL();
    43 	
    44 private:
    45 
    46 	CTIsolatedFontStore();
    47 	CTIsolatedFontStore(RHeap* aHeap);
    48 	void ConstructL();
    49 	void ListImplementationsWithRetry(TUid& aInterfaceUid, RImplInfoPtrArray &aImplementationArray, TBool aRomOnly);
    50 	void SafeInstallOfRasterizerL(TUid aInterfaceImplUid);
    51 	
    52 public:
    53 	CFontStore* iFs;
    54 private:
    55 	RHeap* iHeap;
    56 	
    57 	// Indicate the ownership of iHeap.
    58 	// ETrue means iHeap is allocated in ConstructL() and owned by CTIsolatedFontStore in current process; 
    59     // EFalse means iHeap is a pointer to a heap which is passed in as parameter. Do not take ownership.  
    60 	TBool  iIsHeapOwner; 
    61 	};
    62 
    63 #endif // TISOLATEDFONTSTORE_H