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.
25 #ifndef __F32AGENTCONTENT_H__
26 #define __F32AGENTCONTENT_H__
29 #include <caf/agentinterface.h>
31 namespace ContentAccess
33 class TVirtualPathPtr;
37 F32 agent implementation of the CAgentContent class used to browse
38 plaintext files. The browsing will not return any embedded objects since
39 the F32 agent only enables access to the entire file
44 class CF32AgentContent : public CAgentContent
47 // Two phase constructor used when the file is opened
49 static CF32AgentContent* NewL(const TDesC& aURI, TContentShareMode aShareMode);
51 // Two phase constructor used when the file is opened with
53 static CF32AgentContent* NewL(RFile& aFile);
55 #ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
56 static CF32AgentContent* NewL(const TDesC8& aHeaderData);
57 #endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
59 virtual ~CF32AgentContent();
63 virtual TInt OpenContainer(const TDesC& aUniqueId);
64 virtual TInt CloseContainer();
65 virtual void GetEmbeddedObjectsL(RStreamablePtrArray<CEmbeddedObject>& aArray);
66 virtual void GetEmbeddedObjectsL(RStreamablePtrArray<CEmbeddedObject>& aArray, TEmbeddedType aType);
67 virtual TInt Search(RStreamablePtrArray<CEmbeddedObject>& aArray, const TDesC8& aMimeType, TBool aRecursive);
68 virtual TInt GetAttribute(TInt aAttribute, TInt& aValue, const TDesC& aUniqueId);
69 virtual TInt GetAttributeSet(RAttributeSet& aAttributeSet, const TDesC& aUniqueId);
70 virtual TInt GetStringAttribute(TInt aAttribute, TDes& aValue, const TDesC& aUniqueId);
71 virtual TInt GetStringAttributeSet(RStringAttributeSet& aStringAttributeSet, const TDesC& aUniqueId);
72 virtual TInt AgentSpecificCommand(TInt aCommand, const TDesC8& aInputBuffer, TDes8& aOutputBuffer);
73 virtual void AgentSpecificCommand(TInt aCommand, const TDesC8& aInputBuffer, TDes8& aOutputBuffer, TRequestStatus& aStatus);
74 virtual void NotifyStatusChange(TEventMask aMask, TRequestStatus& aStatus, const TDesC& aUniqueId);
75 virtual TInt CancelNotifyStatusChange(TRequestStatus& aStatus, const TDesC& aUniqueId);
76 virtual void RequestRights(TRequestStatus& aStatus, const TDesC& aUniqueId);
77 virtual TInt CancelRequestRights(TRequestStatus& aStatus, const TDesC& aUniqueId);
78 virtual void DisplayInfoL(TDisplayInfo aInfo, const TDesC& aUniqueId);
79 virtual TInt SetProperty(TAgentProperty aProperty, TInt aValue);
83 void ConstructL(const TDesC& aURI, TContentShareMode aShareMode);
84 void ConstructL(RFile& aFile);
85 #ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
86 void ConstructL(const TDesC8& aHeaderData);
87 #endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
89 CF32AgentUi& AgentUiL();
90 void SearchL(RStreamablePtrArray<CEmbeddedObject>& aArray, const TDesC8& aMimeType, TBool aRecursive);
94 TContentShareMode iShareMode;
96 #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
100 #endif //SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
101 CF32AgentUi* iAgentUi;
102 #ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
104 #endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
106 } // namespace ContentAccess
107 #endif // __F32AgentContent_H__