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 |