--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/contentmgmt/referencedrmagent/RefTestAgent/RefTestAgent/Reftestagentcontent.cpp Thu Sep 10 14:01:51 2009 +0300
@@ -0,0 +1,194 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include <caf/caf.h>
+#include "Reftestagentcontent.h"
+#include "rtacontent.h"
+
+using namespace ContentAccess;
+
+CRefTestAgentContent* CRefTestAgentContent::NewL(const TDesC& aURI, TContentShareMode aShareMode)
+ {
+ CRefTestAgentContent* self = NewLC(aURI, aShareMode);
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+CRefTestAgentContent* CRefTestAgentContent::NewLC(const TDesC& aURI, TContentShareMode aShareMode)
+ {
+ CRefTestAgentContent* self=new(ELeave) CRefTestAgentContent();
+ CleanupStack::PushL(self);
+ self->ConstructL(aURI, aShareMode);
+ return self;
+ }
+
+CRefTestAgentContent* CRefTestAgentContent::NewL(RFile& aFile)
+ {
+ CRefTestAgentContent* self = NewLC(aFile);
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+CRefTestAgentContent* CRefTestAgentContent::NewLC(RFile& aFile)
+ {
+ CRefTestAgentContent* self=new(ELeave) CRefTestAgentContent();
+ CleanupStack::PushL(self);
+ self->ConstructL(aFile);
+ return self;
+ }
+
+
+CRefTestAgentContent::CRefTestAgentContent()
+ {
+ }
+
+CRefTestAgentContent::~CRefTestAgentContent()
+ {
+ iContentSession.Close();
+ }
+
+void CRefTestAgentContent::ConstructL(const TDesC& aURI, TContentShareMode aShareMode)
+ {
+ // default share mode of EFileShareReadersOnly
+ TUint mode = EFileStream | EFileRead;
+
+ if(aShareMode == EContentShareReadWrite)
+ {
+ mode |= EFileShareReadersOrWriters;
+ }
+ else if (aShareMode == EContentShareExclusive)
+ {
+ mode |= EFileShareExclusive;
+ }
+ else
+ {
+ mode |= EFileShareReadersOnly;
+ }
+
+ // open server session
+ User::LeaveIfError(iContentSession.Open(aURI, mode));
+ }
+
+void CRefTestAgentContent::ConstructL(RFile& aFile)
+ {
+ RFile file;
+ User::LeaveIfError(file.Duplicate(aFile));
+ CleanupClosePushL(file);
+ // open server session
+ User::LeaveIfError(iContentSession.Open(file));
+
+ // can now close our file handle, server owns it now
+ CleanupStack::PopAndDestroy(&file);
+ }
+
+TInt CRefTestAgentContent::OpenContainer(const TDesC& aUniqueId)
+ {
+ return iContentSession.OpenContainer(aUniqueId);
+ }
+
+TInt CRefTestAgentContent::CloseContainer()
+ {
+ return iContentSession.CloseContainer();
+ }
+
+void CRefTestAgentContent::GetEmbeddedObjectsL(RStreamablePtrArray<CEmbeddedObject>& aArray)
+ {
+ iContentSession.GetEmbeddedObjectsL(aArray);
+ }
+
+void CRefTestAgentContent::GetEmbeddedObjectsL(RStreamablePtrArray<CEmbeddedObject>& aArray, TEmbeddedType aType)
+ {
+ iContentSession.GetEmbeddedObjectsL(aArray, aType);
+ }
+
+TInt CRefTestAgentContent::Search(RStreamablePtrArray<CEmbeddedObject>& aArray, const TDesC8& aMimeType, TBool )
+ {
+ return iContentSession.Search(aArray, aMimeType, ETrue);
+ }
+
+TInt CRefTestAgentContent::GetAttribute(TInt aAttribute, TInt& aValue, const TDesC& aUniqueId)
+ {
+ return iContentSession.GetAttribute(aUniqueId, aAttribute, aValue);
+ }
+
+TInt CRefTestAgentContent::GetAttributeSet(RAttributeSet& aAttributeSet, const TDesC& aUniqueId)
+ {
+ return iContentSession.GetAttributeSet(aUniqueId, aAttributeSet);
+ }
+
+TInt CRefTestAgentContent::GetStringAttribute(TInt aAttribute, TDes& aValue, const TDesC& aUniqueId)
+ {
+ return iContentSession.GetStringAttribute(aUniqueId, aAttribute, aValue);
+ }
+
+TInt CRefTestAgentContent::GetStringAttributeSet(RStringAttributeSet& aStringAttributeSet, const TDesC& aUniqueId)
+ {
+ return iContentSession.GetStringAttributeSet(aUniqueId, aStringAttributeSet);
+ }
+
+TInt CRefTestAgentContent::AgentSpecificCommand(TInt aCommand, const TDesC8& aInputBuffer, TDes8& aOutputBuffer)
+ {
+ return iContentSession.AgentSpecificCommand(aCommand, aInputBuffer, aOutputBuffer);
+ }
+
+void CRefTestAgentContent::AgentSpecificCommand(TInt aCommand, const TDesC8& aInputBuffer, TDes8& aOutputBuffer, TRequestStatus& aStatus)
+ {
+ TInt err = AgentSpecificCommand(aCommand, aInputBuffer, aOutputBuffer);
+ TRequestStatus* status = &aStatus;
+ User::RequestComplete(status, err);
+ }
+
+void CRefTestAgentContent::NotifyStatusChange(TEventMask aEventMask, TRequestStatus& aStatus, const TDesC& aUniqueId)
+ {
+ TRAPD(err, iContentSession.NotifyStatusChangeL(aEventMask, aUniqueId));
+ TRequestStatus* status = &aStatus;
+ User::RequestComplete(status, err);
+ }
+
+TInt CRefTestAgentContent::CancelNotifyStatusChange(TRequestStatus& aStatus, const TDesC& aUniqueId)
+ {
+ TInt err = iContentSession.CancelNotifyStatusChange(aUniqueId);
+ TRequestStatus* status = &aStatus;
+ User::RequestComplete(status, err);
+ return err;
+ }
+
+void CRefTestAgentContent::RequestRights(TRequestStatus& aStatus , const TDesC& aUniqueId)
+ {
+ TRAPD(err, iContentSession.RequestRightsL(aUniqueId));
+ TRequestStatus* status = &aStatus;
+ User::RequestComplete(status, err);
+ }
+
+TInt CRefTestAgentContent::CancelRequestRights(TRequestStatus& aStatus, const TDesC& aUniqueId)
+ {
+ TInt err = iContentSession.CancelRequestRights(aUniqueId);
+ TRequestStatus* status = &aStatus;
+ User::RequestComplete(status, err);
+ return err;
+ }
+
+void CRefTestAgentContent::DisplayInfoL(TDisplayInfo aInfo, const TDesC& aUniqueId)
+ {
+ iContentSession.DisplayInfoL(aInfo, aUniqueId);
+ }
+
+TInt CRefTestAgentContent::SetProperty(TAgentProperty aProperty, TInt aValue)
+ {
+ return iContentSession.SetProperty(aProperty, aValue);
+ }