First public contribution.
2 * Copyright (c) 2004-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.
19 #include <caf/rightsmanager.h>
20 #include <caf/agentfactory.h>
21 #include "agentinfo.h"
22 #include <caf/agentinterface.h>
24 using namespace ContentAccess;
26 CRightsManager* CRightsManager::NewL(TUid aUid)
28 CRightsManager *self = new (ELeave) CRightsManager;
29 CleanupStack::PushL(self);
30 self->ConstructL(aUid);
31 CleanupStack::Pop(self);
35 CRightsManager::CRightsManager()
40 CRightsManager::~CRightsManager()
42 delete iAgentRightsManager;
44 REComSession::FinalClose();
47 void CRightsManager::ConstructL(TUid aUid)
49 // create our own agent factory (de-facto session handle for ECOM)
50 iAgentFactory = CAgentFactory::NewL(aUid);
52 // Create an instance of the Agent's CAgentData
53 iAgentRightsManager = iAgentFactory->CreateRightsManagerL();
56 EXPORT_C void CRightsManager::ListAllRightsL(RStreamablePtrArray<CRightsInfo>& aArray) const
58 iAgentRightsManager->ListAllRightsL(aArray);
61 EXPORT_C void CRightsManager::ListRightsL(RStreamablePtrArray<CRightsInfo>& aArray, const TDesC& aUri) const
63 iAgentRightsManager->ListRightsL(aArray, aUri);
66 EXPORT_C void CRightsManager::ListRightsL(RStreamablePtrArray<CRightsInfo>& aArray, TVirtualPathPtr& aVirtualPath) const
68 iAgentRightsManager->ListRightsL(aArray, aVirtualPath);
71 EXPORT_C void CRightsManager::ListRightsL(RStreamablePtrArray<CRightsInfo>& aArray, RFile& aFile, const TDesC& aUniqueId) const
73 iAgentRightsManager->ListRightsL(aArray, aFile, aUniqueId);
76 EXPORT_C void CRightsManager::ListContentL(RStreamablePtrArray<CVirtualPath>& aArray, CRightsInfo& aRightsInfo) const
78 iAgentRightsManager->ListContentL(aArray, aRightsInfo);
81 EXPORT_C MAgentRightsBase* CRightsManager::GetRightsDataL(const CRightsInfo& aRightsInfo) const
83 return iAgentRightsManager->GetRightsDataL(aRightsInfo);
86 EXPORT_C TInt CRightsManager::DeleteRightsObject(const CRightsInfo& aRightsInfo)
88 return iAgentRightsManager->DeleteRightsObject(aRightsInfo);
91 EXPORT_C TInt CRightsManager::DeleteAllRightsObjects(const TVirtualPathPtr& aVirtualPathPtr)
93 return iAgentRightsManager->DeleteAllRightsObjects(aVirtualPathPtr);
96 EXPORT_C TInt CRightsManager::DeleteAllRightsObjects (RFile& aFile, const TDesC& aUniqueId)
98 return iAgentRightsManager->DeleteAllRightsObjects(aFile, aUniqueId);
101 EXPORT_C TInt CRightsManager::SetProperty(TAgentProperty aProperty, TInt aValue)
103 return iAgentRightsManager->SetProperty(aProperty, aValue);