omadrm/drmengine/agentv2/inc/Oma2AgentContent.h
changeset 23 493788a4a8a4
parent 0 95b198f216e5
equal deleted inserted replaced
5:79d62d1d7957 23:493788a4a8a4
    20 #define OMA2AGENTCONTENT_H
    20 #define OMA2AGENTCONTENT_H
    21 
    21 
    22 //  INCLUDES
    22 //  INCLUDES
    23 #include <f32file.h>
    23 #include <f32file.h>
    24 #include <caf/caf.h>
    24 #include <caf/caf.h>
       
    25 #include <caf/cafplatform.h>
    25 #include <caf/agentinterface.h>
    26 #include <caf/agentinterface.h>
    26 #include <dcfcommon.h>
    27 #include <DcfCommon.h>
    27 #include <drmnotifier.h>
    28 #include <DRMNotifier.h>
    28 #include <drmrightsclient.h>
    29 #include <DRMRightsClient.h>
    29 
    30 
    30 // FORWARD DECLARATIONS
    31 // FORWARD DECLARATIONS
    31 class CAESDecryptor;
    32 class CAESDecryptor;
    32 
    33 
    33 // CLASS DECLARATION
    34 // CLASS DECLARATION
    41 *  @since Series 60 3.0
    42 *  @since Series 60 3.0
    42 */
    43 */
    43 class COma2AgentContent : public CAgentContent, public MDRMEventObserver
    44 class COma2AgentContent : public CAgentContent, public MDRMEventObserver
    44 {
    45 {
    45 public:
    46 public:
    46 	static COma2AgentContent* NewL(
    47     static COma2AgentContent* NewL(
    47 	    const TDesC& aUri, 
    48         const TDesC& aUri,
    48 	    TContentShareMode aShareMode);
    49         TContentShareMode aShareMode);
    49 	    
    50 
    50 	static COma2AgentContent* NewLC(
    51     static COma2AgentContent* NewLC(
    51 	    const TDesC& aUri, 
    52         const TDesC& aUri,
    52 	    TContentShareMode aShareMode);
    53         TContentShareMode aShareMode);
    53 		
    54 
    54 	static COma2AgentContent* NewL(
    55     static COma2AgentContent* NewL(
    55 	    RFile& aFile);
    56         RFile& aFile);
    56 	
    57 
    57 	static COma2AgentContent* NewLC(
    58     static COma2AgentContent* NewLC(
    58 	    RFile& aFile);
    59         RFile& aFile);
    59 
    60 
    60     void EmbedDomainRoL();
    61     void EmbedDomainRoL();
    61     
       
    62 	virtual ~COma2AgentContent();
       
    63 
    62 
    64 public: 
    63     virtual ~COma2AgentContent();
    65 	// From CAgentContent
    64 
    66 	virtual TInt OpenContainer(
    65 public:
    67 	    const TDesC& aUniqueId);
    66     // From CAgentContent
    68 	    
    67     virtual TInt OpenContainer(
    69 	virtual TInt CloseContainer();
    68         const TDesC& aUniqueId);
    70 	
    69 
    71 	virtual void GetEmbeddedObjectsL(
    70     virtual TInt CloseContainer();
    72 	    RStreamablePtrArray<CEmbeddedObject>& aArray);
    71 
    73 	    
    72     virtual void GetEmbeddedObjectsL(
    74 	virtual void GetEmbeddedObjectsL(
    73         RStreamablePtrArray<CEmbeddedObject>& aArray);
    75 	    RStreamablePtrArray<CEmbeddedObject>& aArray,
    74 
    76 	    TEmbeddedType aType);
    75     virtual void GetEmbeddedObjectsL(
    77 	    
    76         RStreamablePtrArray<CEmbeddedObject>& aArray,
    78 	virtual TInt Search(
    77         TEmbeddedType aType);
    79 	    RStreamablePtrArray<CEmbeddedObject>& aArray,
    78 
    80 	    const TDesC8& aMimeType,
    79     virtual TInt Search(
    81 	    TBool aRecursive);
    80         RStreamablePtrArray<CEmbeddedObject>& aArray,
    82 	    
    81         const TDesC8& aMimeType,
    83 	virtual TInt GetAttribute(
    82         TBool aRecursive);
    84 	    TInt aAttribute, 
    83 
    85 	    TInt& aValue, 
    84     virtual TInt GetAttribute(
    86 	    const TDesC& aUniqueId);
    85         TInt aAttribute,
    87 	    
    86         TInt& aValue,
    88 	virtual TInt GetAttributeSet(
    87         const TDesC& aUniqueId);
    89 	    RAttributeSet& aAttributeSet, 
    88 
    90 	    const TDesC& aUniqueId);
    89     virtual TInt GetAttributeSet(
    91 	    
    90         RAttributeSet& aAttributeSet,
    92 	virtual TInt GetStringAttribute(
    91         const TDesC& aUniqueId);
    93 	    TInt aAttribute, 
    92 
    94 	    TDes& aValue, 
    93     virtual TInt GetStringAttribute(
    95 	    const TDesC& aUniqueId);
    94         TInt aAttribute,
    96 	    
    95         TDes& aValue,
    97 	virtual TInt GetStringAttributeSet(
    96         const TDesC& aUniqueId);
    98 	    RStringAttributeSet& aStringAttributeSet, 
    97 
    99 	    const TDesC& aUniqueId);
    98     virtual TInt GetStringAttributeSet(
   100 	    
    99         RStringAttributeSet& aStringAttributeSet,
   101 	virtual TInt AgentSpecificCommand(
   100         const TDesC& aUniqueId);
   102 	    TInt aCommand, 
   101 
   103 	    const TDesC8& aInputBuffer, 
   102     virtual TInt AgentSpecificCommand(
   104 	    TDes8& aOutputBuffer);
   103         TInt aCommand,
   105 	    
   104         const TDesC8& aInputBuffer,
   106 	virtual void AgentSpecificCommand(
   105         TDes8& aOutputBuffer);
   107 	    TInt aCommand, 
   106 
   108 	    const TDesC8& aInputBuffer, 
   107     virtual void AgentSpecificCommand(
   109 	    TDes8& aOutputBuffer, 
   108         TInt aCommand,
   110 	    TRequestStatus& aStatus);
   109         const TDesC8& aInputBuffer,
   111 	    
   110         TDes8& aOutputBuffer,
   112 	virtual void NotifyStatusChange(
   111         TRequestStatus& aStatus);
   113 	    TEventMask aMask, 
   112 
   114 	    TRequestStatus& aStatus, 
   113     virtual void NotifyStatusChange(
   115 	    const TDesC& aUniqueId);
   114         TEventMask aMask,
   116 	    
   115         TRequestStatus& aStatus,
   117 	virtual TInt CancelNotifyStatusChange(
   116         const TDesC& aUniqueId);
   118 	    TRequestStatus& aStatus, 
   117 
   119 	    const TDesC& aUniqueId);
   118     virtual TInt CancelNotifyStatusChange(
   120 	    
   119         TRequestStatus& aStatus,
   121 	virtual void RequestRights(
   120         const TDesC& aUniqueId);
   122 	    TRequestStatus& aStatus, 
   121 
   123 	    const TDesC& aUniqueId);
   122     virtual void RequestRights(
   124 	    
   123         TRequestStatus& aStatus,
   125 	virtual TInt CancelRequestRights(
   124         const TDesC& aUniqueId);
   126 	    TRequestStatus& aStatus, 
   125 
   127 	    const TDesC& aUniqueId);
   126     virtual TInt CancelRequestRights(
   128 	    
   127         TRequestStatus& aStatus,
   129 	virtual void DisplayInfoL(
   128         const TDesC& aUniqueId);
   130 	    TDisplayInfo aInfo, 
   129 
   131 	    const TDesC& aUniqueId);
   130     virtual void DisplayInfoL(
   132 	    
   131         TDisplayInfo aInfo,
   133 	virtual TInt SetProperty(
   132         const TDesC& aUniqueId);
   134 	    TAgentProperty aProperty, 
   133 
   135 	    TInt aValue);
   134     virtual TInt SetProperty(
       
   135         TAgentProperty aProperty,
       
   136         TInt aValue);
   136 
   137 
   137 public: // From MDRMEventObserver
   138 public: // From MDRMEventObserver
   138     virtual void HandleEventL(
   139     virtual void HandleEventL(
   139         MDRMEvent* aEvent);
   140         MDRMEvent* aEvent);
   140    
   141 
   141 private:
   142 private:
   142 	COma2AgentContent();
   143     COma2AgentContent();
   143 
   144 
   144 	void NotifyStatusChangeL(
   145     void NotifyStatusChangeL(
   145 	    TEventMask aMask, 
   146         TEventMask aMask,
   146 	    TRequestStatus& aStatus, 
   147         TRequestStatus& aStatus,
   147 	    const TDesC& aUniqueId);
   148         const TDesC& aUniqueId);
   148 
   149 
   149 	
   150 
   150 	void ConstructL(
   151     void ConstructL(
   151 	    const TDesC& aUri, 
   152         const TDesC& aUri,
   152 	    TContentShareMode aShareMode);
   153         TContentShareMode aShareMode);
   153 	    
   154 
   154 	void ConstructL(
   155     void ConstructL(
   155 	    RFile& aFile);
   156         RFile& aFile);
   156 		
   157 
   157     protected:  // Data
   158     protected:  // Data
   158         CDcfCommon* iDcf;
   159         CDcfCommon* iDcf;
   159         RFs iFs;
   160         RFs iFs;
   160         RFile iFile;
   161         RFile iFile;
   161         TInt iFilePosition;
   162         TInt iFilePosition;
   162         TInt iDataPosition;
   163         TInt iDataPosition;
   163         HBufC* iUri;
   164         HBufC* iUri;
   164         
   165 
   165         // Content ID of the currently open container,
   166         // Content ID of the currently open container,
   166         // NULL for the outermost file
   167         // NULL for the outermost file
   167         HBufC* iCurrentContainer;
   168         HBufC* iCurrentContainer;
   168         
   169 
   169         // Request status for change notifications
   170         // Request status for change notifications
   170         TRequestStatus* iStatus;
   171         TRequestStatus* iStatus;
   171         
   172 
   172         // Notifier for change notifications
   173         // Notifier for change notifications
   173         CDRMNotifier* iNotifier;
   174         CDRMNotifier* iNotifier;
   174         
   175 
   175         // Watched events
   176         // Watched events
   176         TEventMask iWatchedEvents;
   177         TEventMask iWatchedEvents;
   177         
   178 
   178         // Watched content ID
   179         // Watched content ID
   179         HBufC8* iWatchedId;
   180         HBufC8* iWatchedId;
   180         
   181 
   181         // Rights client
   182         // Rights client
   182         RDRMRightsClient iRdb;
   183         RDRMRightsClient iRdb;
   183     };
   184     };
   184 
   185 
   185 }
   186 }
   186 
   187 
   187 #endif      // OMA2AGENTCONTENT_H   
   188 #endif      // OMA2AGENTCONTENT_H
   188             
   189 
   189 // End of File
   190 // End of File