--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/wappushfw/tpush/RefTestAgent/RefTestAgent/Reftestagentdata.cpp Mon Jan 18 20:36:02 2010 +0200
@@ -0,0 +1,187 @@
+// 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 "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 "Reftestagentdata.h"
+#include "drmfiles.h"
+
+using namespace ContentAccess;
+
+CRefTestAgentData* CRefTestAgentData::NewL(const TVirtualPathPtr& aVirtualPath, TContentShareMode aShareMode)
+ {
+ CRefTestAgentData* self = NewLC(aVirtualPath, aShareMode);
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+CRefTestAgentData* CRefTestAgentData::NewLC(const TVirtualPathPtr& aVirtualPath, TContentShareMode aShareMode)
+ {
+ CRefTestAgentData* self=new(ELeave) CRefTestAgentData();
+ CleanupStack::PushL(self);
+ self->ConstructL(aVirtualPath, aShareMode);
+ return self;
+ }
+
+CRefTestAgentData* CRefTestAgentData::NewL(RFile& aFile, const TDesC& aUniqueId)
+ {
+ CRefTestAgentData* self = NewLC(aFile, aUniqueId);
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+CRefTestAgentData* CRefTestAgentData::NewLC(RFile& aFile, const TDesC& aUniqueId)
+ {
+ CRefTestAgentData* self=new(ELeave) CRefTestAgentData();
+ CleanupStack::PushL(self);
+ self->ConstructL(aFile, aUniqueId);
+ return self;
+ }
+
+CRefTestAgentData::CRefTestAgentData()
+ {
+ }
+
+CRefTestAgentData::~CRefTestAgentData()
+ {
+ iServer.Close();
+ }
+
+void CRefTestAgentData::ConstructL(const TVirtualPathPtr& aVirtualPath, 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;
+ }
+
+ User::LeaveIfError(iServer.Open(aVirtualPath.URI(), aVirtualPath.UniqueId(), mode));
+ }
+
+
+void CRefTestAgentData::ConstructL(RFile& aFile, const TDesC& aUniqueId)
+ {
+ User::LeaveIfError(iServer.Open(aFile, aUniqueId));
+ }
+
+void CRefTestAgentData::DataSizeL(TInt &aSize)
+ {
+ User::LeaveIfError(iServer.DataSize(aSize));
+ }
+
+TInt CRefTestAgentData::EvaluateIntent(TIntent aIntent)
+ {
+ // Always allow EPeek
+ TInt err = KErrNone;
+ if(aIntent != EPeek)
+ {
+ TRAP(err, iServer.EvaluateIntentL(aIntent));
+ }
+ return err;
+ }
+
+TInt CRefTestAgentData::ExecuteIntent(TIntent aIntent)
+ {
+ // Always allow EPeek
+ TInt err = KErrNone;
+ if(aIntent != EPeek)
+ {
+ TRAP(err, iServer.ExecuteIntentL(aIntent));
+ }
+ return err;
+ }
+
+TInt CRefTestAgentData::Read(TDes8& aDes)
+ {
+ return iServer.Read(aDes, aDes.MaxLength());
+ }
+
+TInt CRefTestAgentData::Read(TDes8& aDes,TInt aLength)
+ {
+ return iServer.Read(aDes, aLength);
+ }
+
+void CRefTestAgentData::Read(TDes8& aDes,TRequestStatus& aStatus)
+ {
+ TInt err = Read(aDes);
+ TRequestStatus* status = &aStatus;
+ User::RequestComplete(status, err);
+ }
+
+void CRefTestAgentData::Read(TDes8& aDes,
+ TInt aLength,
+ TRequestStatus& aStatus)
+ {
+ TInt err = Read(aDes, aLength);
+ TRequestStatus* status = &aStatus;
+ User::RequestComplete(status, err);
+ }
+
+TInt CRefTestAgentData::Seek(TSeek aMode, TInt& aPos)
+ {
+ return iServer.Seek(aMode, aPos);
+ }
+
+TInt CRefTestAgentData::SetProperty(TAgentProperty /*aProperty*/, TInt /*aValue*/)
+ {
+ return KErrCANotSupported;
+ }
+
+TInt CRefTestAgentData::GetAttribute(TInt aAttribute, TInt& aValue)
+ {
+ return iServer.GetAttribute(aAttribute, aValue);
+ }
+
+TInt CRefTestAgentData::GetAttributeSet(RAttributeSet& aAttributeSet)
+ {
+ TInt ret=KErrNone;
+ TRAPD(err,ret=iServer.GetAttributeSetL(aAttributeSet));
+ if(err==KErrNone)
+ return ret;
+ else
+ return err;
+ }
+
+TInt CRefTestAgentData::GetStringAttribute(TInt aAttribute, TDes& aValue)
+ {
+ return iServer.GetStringAttribute(aAttribute, aValue);
+ }
+
+TInt CRefTestAgentData::GetStringAttributeSet(RStringAttributeSet& aStringAttributeSet)
+ {
+ TInt ret=KErrNone;
+ TRAPD(err,ret=iServer.GetStringAttributeSetL(aStringAttributeSet));
+ if(err==KErrNone)
+ return ret;
+ else
+ return err;
+ }
+TInt CRefTestAgentData::Read(TInt aPos, TDes8& aDes, TInt aLength, TRequestStatus& aStatus)
+ {
+ TInt err = iServer.Read(aPos, aDes, aLength);
+ TRequestStatus* status = &aStatus;
+ User::RequestComplete(status, err);
+ return KErrNone;
+ }
+