1 /* |
1 /* |
2 * Copyright (c) 2003-2008 Nokia Corporation and/or its subsidiary(-ies). |
2 * Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). |
3 * All rights reserved. |
3 * All rights reserved. |
4 * This component and the accompanying materials are made available |
4 * This component and the accompanying materials are made available |
5 * under the terms of the License "Eclipse Public License v1.0" |
5 * under the terms of the License "Eclipse Public License v1.0" |
6 * which accompanies this distribution, and is available |
6 * which accompanies this distribution, and is available |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
69 @leave ... One of the other CAF error codes defined in \c caferr.h or one of the |
67 @leave ... One of the other CAF error codes defined in \c caferr.h or one of the |
70 system-wide error codes for any other errors. |
68 system-wide error codes for any other errors. |
71 @capability DRM Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted |
69 @capability DRM Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted |
72 */ |
70 */ |
73 virtual void DataSizeL(TInt &aSize) = 0; |
71 virtual void DataSizeL(TInt &aSize) = 0; |
|
72 |
|
73 #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API |
|
74 /** |
|
75 This is the 64bit version of DataSizeL. Implementing this function should take advantage of 64bit |
|
76 file system and use RFile::Size64(TInt64 &). If this function is not implemented, fallback to 32bit |
|
77 DataSizeL will be provided by CAF automatically. |
|
78 |
|
79 @see DataSizeL(TInt &aSize) |
|
80 */ |
|
81 virtual void DataSize64L(TInt64 &aSize); |
|
82 #endif //SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API |
74 |
83 |
75 /** |
84 /** |
76 Allows a client to verify that the intent is supported by the |
85 Allows a client to verify that the intent is supported by the |
77 current rights for the data object. |
86 current rights for the data object. |
78 |
87 |
246 of the other system-wide error codes. |
255 of the other system-wide error codes. |
247 @capability DRM Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted |
256 @capability DRM Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted |
248 */ |
257 */ |
249 virtual TInt Seek(TSeek aMode, TInt& aPos) = 0; |
258 virtual TInt Seek(TSeek aMode, TInt& aPos) = 0; |
250 |
259 |
|
260 #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API |
|
261 /** |
|
262 This is the 64bit version of Seek. Implementing this function should take advantage of 64bit |
|
263 file system and use RFile::Seek64(TSeek, TInt64 &). If this function is not implemented, fallback to 32bit |
|
264 Seek will be provided by CAF automatically. |
|
265 |
|
266 @see Seek(TSeek aMode, TInt& aPos) |
|
267 */ |
|
268 virtual TInt Seek64(TSeek aMode, TInt64& aPos); |
|
269 #endif //SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API |
|
270 |
251 /** |
271 /** |
252 Allows an application to request the modification of a property |
272 Allows an application to request the modification of a property |
253 within the agent handling this content. The agent may or may not |
273 within the agent handling this content. The agent may or may not |
254 permit the property to be changed |
274 permit the property to be changed |
255 |
275 |
283 @param aAttributeSet The set of attributes to query and update. |
303 @param aAttributeSet The set of attributes to query and update. |
284 @return Whether the attribute set was updated. |
304 @return Whether the attribute set was updated. |
285 @return KErrNone if the attributes were retrieved successfully. |
305 @return KErrNone if the attributes were retrieved successfully. |
286 @return KErrPermissionDenied if the access to the protected content is not permitted by the CAF Agent. |
306 @return KErrPermissionDenied if the access to the protected content is not permitted by the CAF Agent. |
287 @return Otherwise one of the CAF error codes defined in \c caferr.h or one of the |
307 @return Otherwise one of the CAF error codes defined in \c caferr.h or one of the |
288 other system-wide error codes for any other errors. |
308 other system-wide error codes for any other errors. |
|
309 @capability DRM Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted |
289 */ |
310 */ |
290 virtual TInt GetAttributeSet(RAttributeSet& aAttributeSet) = 0; |
311 virtual TInt GetAttributeSet(RAttributeSet& aAttributeSet) = 0; |
291 |
312 |
292 /** Get text string attributes or meta-data for this content object |
313 /** Get text string attributes or meta-data for this content object |
293 |
314 |
341 @return KErrNone if the async read request was successfully submitted. |
362 @return KErrNone if the async read request was successfully submitted. |
342 @return KErrCANotSupported if the agent does not support this operation. |
363 @return KErrCANotSupported if the agent does not support this operation. |
343 @capability DRM Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted |
364 @capability DRM Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted |
344 */ |
365 */ |
345 virtual TInt Read(TInt aPos, TDes8& aDes, TInt aLength, TRequestStatus& aStatus); |
366 virtual TInt Read(TInt aPos, TDes8& aDes, TInt aLength, TRequestStatus& aStatus); |
|
367 |
|
368 #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API |
|
369 /** |
|
370 This is the 64bit version of CAgentData::Read(TInt aPos, TDes8& aDes, TInt aLength, TRequestStatus& aStatus) |
|
371 Implementing this function should take advantage of 64bit file system and use RFile::Seek64(TSeek, TInt64 &) to get to |
|
372 the position in file specified by aPos. If this function is not implemented, fallback to 32bit |
|
373 Read will be provided by CAF automatically. |
|
374 |
|
375 @see Read(TInt aPos, TDes8& aDes, TInt aLength, TRequestStatus& aStatus) |
|
376 */ |
|
377 virtual TInt Read64(TInt64 aPos, TDes8& aDes, TInt aLength, TRequestStatus& aStatus); |
|
378 #endif //SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API |
346 }; |
379 }; |
347 |
380 |
348 /** Defines the agent interface allowing clients to browse the objects |
381 /** Defines the agent interface allowing clients to browse the objects |
349 within a file |
382 within a file |
350 |
383 |
639 @return KErrNone if the data was written successfully. |
672 @return KErrNone if the data was written successfully. |
640 @return KErrCANewFileHandleRequired if the agent requires the client to provide a new file handle before proceeding. The agent must save its state and continue processing when the new handle is supplied by ContinueWithNewOutputFile(). |
673 @return KErrCANewFileHandleRequired if the agent requires the client to provide a new file handle before proceeding. The agent must save its state and continue processing when the new handle is supplied by ContinueWithNewOutputFile(). |
641 @return KErrNotReady if the agent was not expecting WriteData() to be called at this point. |
674 @return KErrNotReady if the agent was not expecting WriteData() to be called at this point. |
642 @return Otherwise one of the other CAF error codes defined in \c caferr.h or one of the |
675 @return Otherwise one of the other CAF error codes defined in \c caferr.h or one of the |
643 other system-wide error codes for any other errors. |
676 other system-wide error codes for any other errors. |
644 @capability DRM Importing DRM protected content is not permitted for processes without DRM capability. |
|
645 */ |
677 */ |
646 virtual TInt WriteData(const TDesC8& aData)=0; |
678 virtual TInt WriteData(const TDesC8& aData)=0; |
647 |
679 |
648 /** Signals to the agent that the entire file has now been transferred to the agent. |
680 /** Signals to the agent that the entire file has now been transferred to the agent. |
649 |
681 |
651 @return KErrNone if the data was written successfully. |
683 @return KErrNone if the data was written successfully. |
652 @return KErrCANewFileHandleRequired if the agent requires the client to provide a new file handle before proceeding. The agent must save its state and continue processing when the new handle is supplied by ContinueWithNewOutputFile(). |
684 @return KErrCANewFileHandleRequired if the agent requires the client to provide a new file handle before proceeding. The agent must save its state and continue processing when the new handle is supplied by ContinueWithNewOutputFile(). |
653 @return KErrNotReady if the agent was not expecting WriteDataComplete() to be called at this point. |
685 @return KErrNotReady if the agent was not expecting WriteDataComplete() to be called at this point. |
654 @return Otherwise one of the other CAF error codes defined in \c caferr.h or one of the |
686 @return Otherwise one of the other CAF error codes defined in \c caferr.h or one of the |
655 other system-wide error codes for any other errors. |
687 other system-wide error codes for any other errors. |
656 @capability DRM Importing DRM protected content is not permitted for processes without DRM capability. |
|
657 */ |
688 */ |
658 virtual TInt WriteDataComplete()=0; |
689 virtual TInt WriteDataComplete()=0; |
659 |
690 |
660 /** Asynchronously writes a block of data from a file the agent |
691 /** Asynchronously writes a block of data from a file the agent |
661 |
692 |
670 is supplied by ContinueWithNewOutputFile(). |
701 is supplied by ContinueWithNewOutputFile(). |
671 KErrNotReady if the agent was not expecting WriteDataComplete() |
702 KErrNotReady if the agent was not expecting WriteDataComplete() |
672 to be called at this point. Otherwise one of the other CAF error codes |
703 to be called at this point. Otherwise one of the other CAF error codes |
673 defined in \c caferr.h or one of the other standard system-wide |
704 defined in \c caferr.h or one of the other standard system-wide |
674 error codes for any other errors. |
705 error codes for any other errors. |
675 @capability DRM Importing DRM protected content is not permitted for processes without DRM capability. |
|
676 */ |
706 */ |
677 virtual void WriteData(const TDesC8& aData, TRequestStatus& aStatus)=0; |
707 virtual void WriteData(const TDesC8& aData, TRequestStatus& aStatus)=0; |
678 |
708 |
679 /** Signals to the agent that the entire file has now been transferred to the agent |
709 /** Signals to the agent that the entire file has now been transferred to the agent |
680 |
710 |
688 is supplied by ContinueWithNewOutputFile(). |
718 is supplied by ContinueWithNewOutputFile(). |
689 KErrNotReady if the agent was not expecting WriteDataComplete() |
719 KErrNotReady if the agent was not expecting WriteDataComplete() |
690 to be called at this point. Otherwise one of the other CAF error codes |
720 to be called at this point. Otherwise one of the other CAF error codes |
691 defined in \c caferr.h or one of the other standard system-wide |
721 defined in \c caferr.h or one of the other standard system-wide |
692 error codes for any other errors. |
722 error codes for any other errors. |
693 @capability DRM Importing DRM protected content is not permitted for processes without DRM capability. |
|
694 */ |
723 */ |
695 virtual void WriteDataComplete(TRequestStatus& aStatus)=0; |
724 virtual void WriteDataComplete(TRequestStatus& aStatus)=0; |
696 |
725 |
697 /** Gets the number of output files produced so far. |
726 /** Gets the number of output files produced so far. |
698 @return The number of output files. |
727 @return The number of output files. |
712 The output files may only appear in this array after the WriteDataComplete() |
741 The output files may only appear in this array after the WriteDataComplete() |
713 function has been called. |
742 function has been called. |
714 |
743 |
715 @param aIndex The zero-based index of the file (must be less than the value returned by OutputFileCountL(). |
744 @param aIndex The zero-based index of the file (must be less than the value returned by OutputFileCountL(). |
716 @return The CSupplierOutputFile for this object. |
745 @return The CSupplierOutputFile for this object. |
717 @capability DRM Importing DRM protected content is not permitted for processes without DRM capability. |
|
718 */ |
746 */ |
719 virtual CSupplierOutputFile& OutputFileL(TInt aIndex) = 0; |
747 virtual CSupplierOutputFile& OutputFileL(TInt aIndex) = 0; |
720 |
748 |
721 /** Retrieve the import status |
749 /** Retrieve the import status |
722 |
750 |
724 Provides feedback to the client in case any problems are encountered. |
752 Provides feedback to the client in case any problems are encountered. |
725 |
753 |
726 The client can then decide whether or not to continue the import. |
754 The client can then decide whether or not to continue the import. |
727 |
755 |
728 @return The state of the import operation. |
756 @return The state of the import operation. |
729 @capability DRM Importing DRM protected content is not permitted for processes without DRM capability. |
|
730 */ |
757 */ |
731 virtual TImportStatus GetImportStatus() const = 0; |
758 virtual TImportStatus GetImportStatus() const = 0; |
732 |
759 |
733 |
760 |
734 /** Get the agents suggestion for the file extension of the output file required by the agent |
761 /** Get the agents suggestion for the file extension of the output file required by the agent |
1054 other system-wide error codes for any other errors. |
1081 other system-wide error codes for any other errors. |
1055 @capability DRM Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted. |
1082 @capability DRM Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted. |
1056 */ |
1083 */ |
1057 virtual TInt GetAttribute(TInt aAttribute, TInt& aValue, const TVirtualPathPtr& aVirtualPath) = 0; |
1084 virtual TInt GetAttribute(TInt aAttribute, TInt& aValue, const TVirtualPathPtr& aVirtualPath) = 0; |
1058 |
1085 |
|
1086 /** Get a content's attribute from a file specified by file handle. Can be used when the source file is in the client's private directory. |
|
1087 |
|
1088 @param aAttribute The attribute to retrieve, from ContentAccess::TAttribute. |
|
1089 @param aValue Used to return the value of the attribute. |
|
1090 @param aFile The file handle for the file containing the content object. |
|
1091 @param aUniqueId The unique id of the content object. |
|
1092 @return Whether the attribute value was updated. |
|
1093 @return KErrNone if the attribute value was updated. |
|
1094 @return KErrNotFound if the URI or the object with the given UniqueId inside the file was not found. |
|
1095 @return KErrCANotSupported if the feature or the requested attribute is not supported for this content object. |
|
1096 @return Otherwise one of the other CAF error codes defined in \c caferr.h or one of the |
|
1097 other system-wide error codes for any other errors. |
|
1098 @capability DRM Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted. |
|
1099 */ |
|
1100 IMPORT_C virtual TInt GetAttribute(TInt aAttribute, TInt& aValue, RFile& aFile, const TDesC& aUniqueId); |
|
1101 |
1059 /** Get a set of attributes from a content object |
1102 /** Get a set of attributes from a content object |
1060 |
1103 |
1061 @param aAttributeSet The set of attributes to query and update. |
1104 @param aAttributeSet The set of attributes to query and update. |
1062 @param aVirtualPath The content object to retrieve attributes from. |
1105 @param aVirtualPath The content object to retrieve attributes from. |
1063 @return Whether the attribute set was updated. |
1106 @return Whether the attribute set was updated. |
1067 other system-wide error codes for any other errors. |
1110 other system-wide error codes for any other errors. |
1068 @capability DRM Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted. |
1111 @capability DRM Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted. |
1069 */ |
1112 */ |
1070 virtual TInt GetAttributeSet(RAttributeSet& aAttributeSet, const TVirtualPathPtr& aVirtualPath) = 0; |
1113 virtual TInt GetAttributeSet(RAttributeSet& aAttributeSet, const TVirtualPathPtr& aVirtualPath) = 0; |
1071 |
1114 |
|
1115 /** Get a content's set of attributes from a file specified by file handle. Can be used when the source file is in the client's private directory. |
|
1116 |
|
1117 @param aAttributeSet The set of attributes to query and update. |
|
1118 @param aFile The file handle for the file containing the content object. |
|
1119 @param aUniqueId The unique id of the content object. |
|
1120 @return Whether the attribute set was updated. |
|
1121 @return KErrNone if the attribute set was updated successfully. |
|
1122 @return KErrNotFound if the content object was not found. |
|
1123 @return KErrCANotSupported if the feature not supported. |
|
1124 @return Otherwise one of the other CAF error codes defined in \c caferr.h or one of the |
|
1125 other system-wide error codes for any other errors. |
|
1126 @capability DRM Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted. |
|
1127 */ |
|
1128 IMPORT_C virtual TInt GetAttributeSet(RAttributeSet& aAttributeSet, RFile& aFile, const TDesC& aUniqueId); |
|
1129 |
1072 /** Get text string attributes or meta-data from the file |
1130 /** Get text string attributes or meta-data from the file |
1073 |
1131 |
1074 @param aAttribute The attribute to retrieve, from ContentAccess::TStringAttribute. |
1132 @param aAttribute The attribute to retrieve, from ContentAccess::TStringAttribute. |
1075 @param aValue Used to return the value of the attribute. |
1133 @param aValue Used to return the value of the attribute. |
1076 @param aVirtualPath The content object whose attributes are to be retrieved. |
1134 @param aVirtualPath The content object whose attributes are to be retrieved. |
1083 other system-wide error codes for any other errors. |
1141 other system-wide error codes for any other errors. |
1084 @capability DRM Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted. |
1142 @capability DRM Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted. |
1085 */ |
1143 */ |
1086 virtual TInt GetStringAttribute(TInt aAttribute, TDes& aValue, const TVirtualPathPtr& aVirtualPath) = 0; |
1144 virtual TInt GetStringAttribute(TInt aAttribute, TDes& aValue, const TVirtualPathPtr& aVirtualPath) = 0; |
1087 |
1145 |
|
1146 /** Get a content's text string attribute from a file specified by file handle. Can be used when the source file is in the client's private directory. |
|
1147 |
|
1148 @param aAttribute The attribute to retrieve, from ContentAccess::TAttribute. |
|
1149 @param aValue Used to return the value of the attribute. |
|
1150 @param aFile The file handle for the file containing the content object. |
|
1151 @param aUniqueId The unique id of the content object whose attributes are to be retrieved. |
|
1152 @return Whether the attribute value was updated. |
|
1153 @return KErrNone if the attribute value was updated. |
|
1154 @return KErrNotFound if the content object does not exist. |
|
1155 @return KErrCANotSupported if the feature or the requested attribute is not supported for this content object. |
|
1156 @return KErrOverflow if the buffer was not large enough to return the result. |
|
1157 @return Otherwise one of the other CAF error codes defined in \c caferr.h or one of the |
|
1158 other system-wide error codes for any other errors. |
|
1159 @capability DRM Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted. |
|
1160 */ |
|
1161 IMPORT_C virtual TInt GetStringAttribute(TInt aAttribute, TDes& aValue, RFile& aFile, const TDesC& aUniqueId); |
|
1162 |
1088 /** Used to obtain a set of string attributes |
1163 /** Used to obtain a set of string attributes |
1089 |
1164 |
1090 @param aStringAttributeSet The set of attributes to query and update. |
1165 @param aStringAttributeSet The set of attributes to query and update. |
1091 @param aVirtualPath The content object whose attributes are to be retrieved. |
1166 @param aVirtualPath The content object whose attributes are to be retrieved. |
1092 @return Whether the string attribute set was updated. |
1167 @return Whether the string attribute set was updated. |
1096 other system-wide error codes for any other errors. |
1171 other system-wide error codes for any other errors. |
1097 @capability DRM Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted. |
1172 @capability DRM Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted. |
1098 */ |
1173 */ |
1099 virtual TInt GetStringAttributeSet(RStringAttributeSet& aStringAttributeSet, const TVirtualPathPtr& aVirtualPath) = 0; |
1174 virtual TInt GetStringAttributeSet(RStringAttributeSet& aStringAttributeSet, const TVirtualPathPtr& aVirtualPath) = 0; |
1100 |
1175 |
|
1176 /** Get a content's set of string attributes from a file specified by file handle. Can be used when the source file is in the client's private directory. |
|
1177 |
|
1178 @param aStringAttributeSet The set of attributes to query and update. |
|
1179 @param aFile The file handle for the file containing the content object. |
|
1180 @param aUniqueId The unique id of the content object whose attributes are to be retrieved |
|
1181 @return Whether the string attribute set was updated. |
|
1182 @return KErrNone if the attribute set was updated successfully. |
|
1183 @return KErrNotFound if the object with the given virtual path was not found. |
|
1184 @return KErrCANotSupported if the feature not supported. |
|
1185 @return Otherwise one of the other CAF error codes defined in \c caferr.h or one of the |
|
1186 other system-wide error codes for any other errors. |
|
1187 @capability DRM Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted. |
|
1188 */ |
|
1189 IMPORT_C virtual TInt GetStringAttributeSet(RStringAttributeSet& aStringAttributeSet, RFile& aFile, const TDesC& aUniqueId); |
|
1190 |
1101 /** Notify the caller when the status of a DRM protected content object changes. |
1191 /** Notify the caller when the status of a DRM protected content object changes. |
1102 NB: No assumption should be made about the scope of the descriptor |
1192 NB: No assumption should be made about the scope of the descriptor |
1103 passed to aURI for asynchronous IPC. |
1193 passed to aURI for asynchronous IPC. |
1104 |
1194 |
1105 @param aURI The location of the file. |
1195 @param aURI The location of the file. |
1147 for any other errors. |
1237 for any other errors. |
1148 @capability DRM Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted. |
1238 @capability DRM Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted. |
1149 */ |
1239 */ |
1150 virtual void DisplayInfoL(TDisplayInfo aInfo, const TVirtualPathPtr& aVirtualPath) = 0; |
1240 virtual void DisplayInfoL(TDisplayInfo aInfo, const TVirtualPathPtr& aVirtualPath) = 0; |
1151 |
1241 |
|
1242 /** View information associated with a single content object in a file specified by file handle. Can be used when the source file is in the client's private directory. |
|
1243 |
|
1244 This call blocks execution and only returns once the display is dismissed |
|
1245 by the user. |
|
1246 |
|
1247 @param aInfo The information to display. |
|
1248 @param aFile The file handle for the file containing the content object. |
|
1249 @param aUniqueId The unique id of the content object. |
|
1250 @leave KErrCANotSupported if the feature not supported or if agent cannot display the requested information. |
|
1251 @leave ... One of the other CAF error codes defined in \c caferr.h |
|
1252 or one of the system-wide error codes |
|
1253 for any other errors. |
|
1254 @capability DRM Access to DRM protected content is not permitted for processes without DRM capability. Access to unprotected content is unrestricted. |
|
1255 */ |
|
1256 IMPORT_C virtual void DisplayInfoL(TDisplayInfo aInfo, RFile& aFile, const TDesC& aUniqueId); |
|
1257 |
1152 /** |
1258 /** |
1153 Identifies whether or not the file at the given URI is to be handled by |
1259 Identifies whether or not the file at the given URI is to be handled by |
1154 this agent. |
1260 this agent. |
1155 |
1261 |
1156 The agent should perform the mimimum possible processing to make the recognition |
1262 The agent should perform the mimimum possible processing to make the recognition |
1359 for any other errors. |
1465 for any other errors. |
1360 @capability DRM Access to DRM rights is not permitted for processes without DRM capability. |
1466 @capability DRM Access to DRM rights is not permitted for processes without DRM capability. |
1361 */ |
1467 */ |
1362 virtual void ListRightsL(RStreamablePtrArray<CRightsInfo>& aArray, TVirtualPathPtr& aVirtualPath) const = 0; |
1468 virtual void ListRightsL(RStreamablePtrArray<CRightsInfo>& aArray, TVirtualPathPtr& aVirtualPath) const = 0; |
1363 |
1469 |
|
1470 /** List all rights associated with a particular content object in a file specified by file handle. Can be used when the source file is in the client's private directory. |
|
1471 |
|
1472 @param aArray The client supplied array used to store the CRightsInfo objects. The agent will add CRightsInfo objects to the supplied array. |
|
1473 @param aFile The file handle for the file containing the content object. |
|
1474 @param aUniqueId The unique id of the content object. |
|
1475 @leave KErrCANotSupported if the feature not supported. |
|
1476 @leave KErrPermissionDenied If the agent does not permit the client to access rights information. |
|
1477 @leave ... One of the CAF error codes defined in \c caferr.h |
|
1478 or one of the other system-wide error codes |
|
1479 for any other errors. |
|
1480 @capability DRM Access to DRM rights is not permitted for processes without DRM capability. |
|
1481 */ |
|
1482 IMPORT_C virtual void ListRightsL(RStreamablePtrArray<CRightsInfo>& aArray, RFile& aFile, const TDesC& aUniqueId) const; |
|
1483 |
1364 /** List all content associated with a particular rights object |
1484 /** List all content associated with a particular rights object |
1365 @param aArray The client supplied array used to store the list of content objects. The agent will add CVirtualPath objects to the supplied array. |
1485 @param aArray The client supplied array used to store the list of content objects. The agent will add CVirtualPath objects to the supplied array. |
1366 @param aRightsInfo The rights object. |
1486 @param aRightsInfo The rights object. |
1367 @leave KErrPermissionDenied If the agent does not permit the client to access rights information. |
1487 @leave KErrPermissionDenied If the agent does not permit the client to access rights information. |
1368 @leave ... One of the CAF error codes defined in \c caferr.h |
1488 @leave ... One of the CAF error codes defined in \c caferr.h |
1396 @return KErrNotFound if the rights object does not exist. |
1516 @return KErrNotFound if the rights object does not exist. |
1397 @return KErrPermissionDenied if the agent does not permit the client to access rights information. |
1517 @return KErrPermissionDenied if the agent does not permit the client to access rights information. |
1398 @capability DRM Access to DRM rights is not permitted for processes without DRM capability. |
1518 @capability DRM Access to DRM rights is not permitted for processes without DRM capability. |
1399 */ |
1519 */ |
1400 virtual TInt DeleteRightsObject(const CRightsInfo& aRightsInfo) = 0; |
1520 virtual TInt DeleteRightsObject(const CRightsInfo& aRightsInfo) = 0; |
1401 |
1521 |
1402 /** Deletes all rights associated with a particular content object |
1522 /** Deletes all rights associated with a particular content object |
1403 |
1523 |
1404 The agent may display a dialog asking the user to confirm the delete. Execution |
1524 The agent may display a dialog asking the user to confirm the delete. Execution |
1405 will be blocked until the dialog is complete. Applications can request |
1525 will be blocked until the dialog is complete. Applications can request |
1406 to disable the agents user interface using the SetProperty() command |
1526 to disable the agents user interface using the SetProperty() command |
1413 @return KErrPermissionDenied if the agent does not permit the client to access rights information. |
1533 @return KErrPermissionDenied if the agent does not permit the client to access rights information. |
1414 @capability DRM Access to DRM rights is not permitted for processes without DRM capability. |
1534 @capability DRM Access to DRM rights is not permitted for processes without DRM capability. |
1415 */ |
1535 */ |
1416 virtual TInt DeleteAllRightsObjects(const TVirtualPathPtr& aVirtualPath) = 0; |
1536 virtual TInt DeleteAllRightsObjects(const TVirtualPathPtr& aVirtualPath) = 0; |
1417 |
1537 |
|
1538 /** Deletes all rights associated with a particular content object in a file specified by file handle. Can be used when the source file is in the client's private directory. |
|
1539 |
|
1540 The agent may display a dialog asking the user to confirm the delete. Execution |
|
1541 will be blocked until the dialog is complete. Applications can request |
|
1542 to disable the agents user interface using the SetProperty() command. |
|
1543 |
|
1544 @param aFile The file handle for the file containing the content object. |
|
1545 @param aUniqueId The unique id of the content object. |
|
1546 @return The outcome of the delete operation. |
|
1547 @return KErrNone if the rights were deleted. |
|
1548 @return KErrNotFound if no rights objects exist for the specified content object. |
|
1549 @return KErrCancel if the user cancels an agent supplied confirmation dialog. |
|
1550 @return KErrPermissionDenied if the agent does not permit the client to access rights information. |
|
1551 @return KErrCANotSupported if the feature not supported. |
|
1552 @capability DRM Access to DRM rights is not permitted for processes without DRM capability. |
|
1553 */ |
|
1554 IMPORT_C virtual TInt DeleteAllRightsObjects (RFile& aFile, const TDesC& aUniqueId); |
|
1555 |
1418 /** |
1556 /** |
1419 Allows an application to request the modification of a property |
1557 Allows an application to request the modification of a property |
1420 within the agent. The agent may or may not permit the property to be changed |
1558 within the agent. The agent may or may not permit the property to be changed |
1421 |
1559 |
1422 @param aProperty The property to set. |
1560 @param aProperty The property to set. |