Update contrib.
2 * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of the License "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".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
15 * Class declaration for the User Prompt Service policy cache.
33 #include "policylist.h"
34 #include "serviceconfig.h"
36 namespace UserPromptService
42 Maintains an in memory cache of User Prompt Service policies.
43 - Policy files are loaded lazily when MatchL is called..
45 NONSHARABLE_CLASS(CPolicyCache) : public CBase
48 IMPORT_C static CPolicyCache* NewL(RFs& aFs, const TDesC& aPolicyPath);
49 IMPORT_C const CPolicy* MatchL(const CPromptRequest& aRequest);
50 IMPORT_C void ServiceConfigL(const TSecureId& aServerSid, RArray<TServiceConfig>& aConfig);
54 CPolicyCache(RFs& aFs);
55 void ConstructL(const TDesC& aPolicyPath);
56 CPolicyList* ParseListL(const CPolicyList::TId& aId, const TDesC& aPolicyFileName);
57 CPolicyList* LoadPolicyListL(const CPolicyList::TId& aId);
58 void LocatePolicyFileL(TDes& aPolicyFileName, const CPolicyList::TId& aId);
59 TBool FileExistsL(const TDesC& aFileName);
61 const CPolicyList* PolicyList(const CPolicyList::TId& aId) const;
62 void FindServicesL(const TSecureId& aServerSid, RArray<TUint>& aServices);
64 RPointerArray<CPolicyList> iPolicyLists;
67 TChar iSystemDriveChar;
71 #endif // POLICYCACHE_H