contentmgmt/contentaccessfwfordrm/source/f32agent/f32agentmanager.h
changeset 0 2c201484c85f
child 8 35751d3474b7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/contentmgmt/contentaccessfwfordrm/source/f32agent/f32agentmanager.h	Wed Jul 08 11:25:26 2009 +0100
@@ -0,0 +1,110 @@
+/*
+* Copyright (c) 2003-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: 
+*
+*/
+
+
+
+
+/**
+ @file
+ @internalComponent
+ @released
+*/
+
+#ifndef __F32AGENTMANAGER_H__
+#define __F32AGENTMANAGER_H__
+
+#include <caf/agentinterface.h>
+
+namespace ContentAccess
+	{
+	class CF32AgentUi;
+
+	/** 	
+	* CF32AgentManager is an Ecom implementation of interface CAgentManager, 
+	* and provides  a fall-back agent for content which is not restricted 
+	* (i.e. backward compatibility for clients switching to 
+	* Content-Access-Framework APIs).
+	* 
+	* Essentially, if the CA framework does not identify a piece of
+	* content as restricted (or rights managed) then this agent
+	* implementation is created to handle access to the content. As such the
+	* content will be treated as a plaintext file.
+	*
+	* @internalComponent 
+	* @released 
+	*/
+	class CF32AgentManager : public CAgentManager
+		{
+	public:
+		/** 
+		* 	Standard C-Class NewL() constructor 
+		*/
+		static CF32AgentManager* NewL();
+		
+		~CF32AgentManager(void);
+
+
+	public:
+		virtual TInt DeleteFile(const TDesC &aFileName);
+		virtual TInt CopyFile(const TDesC& aSource, const TDesC& aDestination);
+		virtual TInt CopyFile(RFile& aSource, const TDesC& aDestination);
+		virtual TInt RenameFile(const TDesC& aSource, const TDesC& aDestination);
+		virtual TInt MkDir(const TDesC& aPath);
+		virtual TInt MkDirAll(const TDesC& aPath);
+		virtual TInt RmDir(const TDesC& aPath);
+		virtual TInt GetDir(const TDesC& aName,TUint aEntryAttMask,TUint aEntrySortKey, CDir*& aEntryList) const;
+		virtual TInt GetDir(const TDesC& aName,TUint aEntryAttMask,TUint aEntrySortKey, CDir*& aEntryList,CDir*& aDirList) const;
+		virtual TInt GetDir(const TDesC& aName,const TUidType& aEntryUid,TUint aEntrySortKey, CDir*& aFileList) const;
+		virtual TInt GetAttribute(TInt aAttribute, TInt& aValue, const TVirtualPathPtr& aVirtualPath);
+		virtual TInt GetAttributeSet(RAttributeSet& aAttributeSet, const TVirtualPathPtr& aVirtualPath);
+		virtual TInt GetStringAttributeSet(RStringAttributeSet& aAttributeSet, const TVirtualPathPtr& aVirtualPath);
+		virtual TInt GetStringAttribute(TInt aAttribute, TDes& aValue, const TVirtualPathPtr& aVirtualPath);
+		virtual void NotifyStatusChange(const TDesC& aURI, TEventMask aMask, TRequestStatus& aStatus);
+		virtual TInt CancelNotifyStatusChange(const TDesC& aURI, TRequestStatus& aStatus);
+		virtual TInt SetProperty(TAgentProperty aProperty, TInt aValue);	
+		virtual void DisplayInfoL(TDisplayInfo aInfo, const TVirtualPathPtr& aVirtualPath);
+		virtual TBool IsRecognizedL(const TDesC& aURI, TContentShareMode aShareMode) const;
+		virtual TBool IsRecognizedL(RFile& aFile) const;
+		virtual TBool RecognizeFileL(const TDesC& aFileName, const TDesC8& aBuffer, TDes8& aFileMimeType, TDes8& aContentMimeType) const;
+		virtual TInt AgentSpecificCommand(TInt aCommand, const TDesC8& aInputBuffer, TDes8& aOutputBuffer);
+		virtual void AgentSpecificCommand(TInt aCommand, const TDesC8& aInputBuffer, TDes8& aOutputBuffer, TRequestStatus& aStatus);
+		virtual void DisplayManagementInfoL();
+		virtual void PrepareHTTPRequestHeaders(RStringPool& aStringPool, RHTTPHeaders& aRequestHeaders) const;
+		virtual TInt RenameDir(const TDesC& aOldName, const TDesC& aNewName);
+
+	protected:
+		CF32AgentManager();
+
+	private:
+		/** 
+		* 	Second stage in two-phase create. Parameters may also be
+		* 	passed to a new Agent implementation.
+		*
+		*  	@param aParams	A parameter structure containing
+		* 					any necessary agent parameters.
+		*/
+		void ConstructL();
+		
+		CF32AgentUi& AgentUiL();
+
+	private:
+		RFs iFs;
+		CFileMan *iFileMan;
+		CF32AgentUi *iAgentUi;
+		};
+} // namespace ContentAccess
+#endif // __F32AGENTMANAGER_H__