00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef TOIASSETMANAGERSERVICE_IDL
00016 #define TOIASSETMANAGERSERVICE_IDL
00017
00018 #include "TToiInvalidArgumentException.idl"
00019 #include "TToiNotEnoughResourcesException.idl"
00020 #include "TToiUnhandledValueException.idl"
00021 #include "ToiApplicationService.idl"
00022 #include "ToiOperationManager.idl"
00023 #include "TToiPermissionDeniedException.idl"
00024 #include "TToiNoDataException.idl"
00025 #include "ToiMultipleResult.idl"
00026 #include "ToiEventTarget.idl"
00027
00028
00029 interface ToiAssetManagerServicePropertyDefinition;
00030
00031 interface ToiAssetManagerServiceProperty;
00032
00033 interface ToiAssetManagerServiceAssetInfo;
00034
00035 interface ToiAssetManagerServiceDirectoryInfo;
00036
00037 interface ToiAssetManagerServiceSortCondition;
00038
00039 interface ToiAssetManagerServiceQueryCondition;
00040
00051
00052
00055 interface ToiAssetManagerService : ToiEventTarget {
00056
00059
00063 const long ON_ASSETS_ADDED = 300;
00064
00068 const long ON_ASSETS_REMOVED = 301;
00069
00073 const long ON_ASSETS_CHANGED = 302;
00074
00078 const long ON_DIRECTORIES_ADDED = 303;
00079
00083 const long ON_DIRECTORIES_REMOVED = 304;
00084
00088 const long ON_DIRECTORIES_CHANGED = 305;
00089
00091
00098
00105 const ToiOperationManager::TToiOperationResult OP_RESULT_ASSET_INFO = 1;
00106
00108
00110
00117 const ToiOperationManager::TToiOperationResult OP_RESULT_LONG = 2;
00118
00120
00126
00127 typedef long TToiConditionOperation;
00130
00136
00137 const TToiConditionOperation EQUALS = 0;
00138
00144
00145 const TToiConditionOperation NOT_EQUAL = 1;
00146
00152
00153 const TToiConditionOperation GREATER = 2;
00154
00160
00161 const TToiConditionOperation LESS = 3;
00162
00168
00169 const TToiConditionOperation GREATER_OR_EQUAL = 4;
00170
00176
00177 const TToiConditionOperation LESS_OR_EQUAL = 5;
00178
00184
00185 const TToiConditionOperation CONTAINS = 6;
00186
00188
00189 typedef long TToiQueryId;
00190
00192 typedef string TToiAssetId;
00193
00195 typedef sequence < TToiAssetId > TToiAssetIdSequence;
00196
00199
00200 typedef long TToiPropertyType;
00203
00209
00210 const TToiPropertyType TYPE_BOOLEAN = 0;
00211
00217
00218 const TToiPropertyType TYPE_STRING = 1;
00219
00225
00226 const TToiPropertyType TYPE_INTEGER = 2;
00227
00233
00234 const TToiPropertyType TYPE_DATE = 3;
00235
00241
00242 const TToiPropertyType TYPE_ASSETLINK = 4;
00243
00245
00246 typedef string TToiPropertyId;
00247
00249 typedef sequence < TToiPropertyId > TToiPropertyIdSequence;
00250
00252 typedef sequence < string > TToiPropertyValueSequence;
00253
00255 typedef sequence < ToiAssetManagerServiceProperty > TToiPropertySequence;
00256
00258 typedef sequence < ToiAssetManagerServiceAssetInfo > TToiAssetInfoSequence;
00259
00261 typedef long TToiDirectoryId;
00262
00264 typedef sequence < TToiDirectoryId > TToiDirectoryIdSequence;
00265
00270 const TToiDirectoryId ROOT_DIRECTORY = -1;
00271
00279
00285 const string PROPERTY_SYSTEM_DURATION = "system.duration";
00286
00288
00290
00296 const string PROPERTY_SYSTEM_FILESIZE = "system.filesize";
00297
00299
00301
00307 const string PROPERTY_SYSTEM_PLAYBACKURI = "system.playbackuri";
00308
00310
00312
00318 const string PROPERTY_SYSTEM_FILENAME = "system.filename";
00319
00321
00323
00330 const string PROPERTY_SYSTEM_TYPE = "system.type";
00331
00333
00335
00342 const string PROPERTY_SYSTEM_INTEGRITY_STATUS = "system.integritystatus";
00343
00345
00347
00352 const string PROPERTY_INFO_TITLE = "info.title";
00353
00355
00357
00362 const string PROPERTY_INFO_DATE = "info.date";
00363
00365
00367
00372 const string PROPERTY_INFO_DESCRIPTION = "info.description";
00373
00375
00377
00382 const string PROPERTY_INFO_LONGDESCRIPTION = "info.longdescription";
00383
00385
00387
00392 const string PROPERTY_INFO_CHANNELNAME = "info.channelname";
00393
00395
00397
00404 const string PROPERTY_INFO_RECORDINGSTATUS = "info.recordingstatus";
00405
00407
00409
00414 const string PROPERTY_INFO_MATURITYRATING = "info.maturityrating";
00415
00417
00419
00426 const string PROPERTY_INFO_SHARED = "info.shared";
00427
00429
00431
00436 const string PROPERTY_INFO_COVER = "info.cover";
00437
00439
00441
00447 const string PROPERTY_INFO_CHILDREN = "info.children";
00448
00450
00452
00460 const string PROPERTY_INFO_LOST_AND_FOUND = "info.lostandfound";
00461
00465
00466 typedef long TToiAssetType;
00469
00475
00476 const TToiAssetType ASSET_PVR = 0;
00477
00483
00484 const TToiAssetType ASSET_IMAGE = 1;
00485
00491
00492 const TToiAssetType ASSET_AUDIO = 2;
00493
00499
00500 const TToiAssetType ASSET_VIDEO = 3;
00501
00503
00505
00506 typedef long TToiAssetIntegrityStatus;
00509
00515
00516 const TToiAssetIntegrityStatus INTEGRITY_UNKNOWN = 0;
00517
00523
00524 const TToiAssetIntegrityStatus INTEGRITY_OK = 1;
00525
00532
00533 const TToiAssetIntegrityStatus INTEGRITY_COULD_NOT_UPGRADE = 2;
00534
00541
00542 const TToiAssetIntegrityStatus INTEGRITY_COULD_NOT_REPAIR = 3;
00543
00545
00547 typedef sequence < ToiAssetManagerServiceSortCondition > TToiSortConditionSequence;
00548
00550 typedef sequence < ToiAssetManagerServiceQueryCondition > TToiQueryConditionSequence;
00551
00556
00557 typedef long TToiImportPolicy;
00560
00566
00567 const TToiImportPolicy IMPORT_POLICY_COPY = 0;
00568
00574
00575 const TToiImportPolicy IMPORT_POLICY_MOVE = 1;
00576
00578
00597
00598
00599
00600
00601 ToiOperationManager getAssetOperationManager();
00602
00622
00623 TToiDirectoryId createDirectory(in TToiDirectoryId parentId,
00624 in string title)
00625 raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException);
00626
00640 void moveDirectory(in TToiDirectoryId dirId,
00641 in TToiDirectoryId newParentId)
00642 raises (TToiInvalidArgumentException);
00643
00656 void setDirectoryProperties(in TToiDirectoryId dirId,
00657 in TToiPropertySequence properties)
00658 raises (TToiInvalidArgumentException);
00659
00672 void removeDirectoryProperties(in TToiDirectoryId dirId,
00673 in TToiPropertyIdSequence properties)
00674 raises (TToiInvalidArgumentException);
00675
00701 void removeDirectory(in TToiDirectoryId dirId,
00702 in boolean recursiveFlag,
00703 in boolean removeAssetsFlag)
00704 raises (TToiInvalidArgumentException, TToiPermissionDeniedException);
00705
00718
00719 ToiAssetManagerServiceDirectoryInfo getDirectoryInfo(in TToiDirectoryId dirId)
00720 raises (TToiInvalidArgumentException);
00721
00734
00735 TToiDirectoryIdSequence getDirectories(in TToiDirectoryId dirId)
00736 raises (TToiInvalidArgumentException);
00737
00750
00751 TToiPropertyIdSequence getDefinedProperties();
00752
00765
00766 ToiAssetManagerServicePropertyDefinition getPropertyDefinition(in TToiPropertyId propertyId)
00767 raises (TToiInvalidArgumentException);
00768
00786 void createPropertyDefinition(in TToiPropertyId propertyId,
00787 in TToiPropertyType type,
00788 in boolean hasMultipleValueSupport)
00789 raises (TToiInvalidArgumentException);
00790
00803 void removePropertyDefinition(in TToiPropertyId propertyId)
00804 raises (TToiInvalidArgumentException);
00805
00824
00825 TToiAssetId createAsset(in TToiAssetType assetType)
00826 raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException);
00827
00856 void importAsset(in ToiOperationManager::TToiOperationId operationId,
00857 in TToiAssetId assetId,
00858 in string uri,
00859 in TToiImportPolicy importPolicy)
00860 raises (TToiInvalidArgumentException, TToiNoDataException);
00861
00883 void removeAsset(in ToiOperationManager::TToiOperationId operationId,
00884 in TToiAssetId assetId)
00885 raises (TToiInvalidArgumentException, TToiNoDataException, TToiPermissionDeniedException);
00886
00913 void copyAsset(in ToiOperationManager::TToiOperationId operationId,
00914 in TToiAssetId sourceAssetId,
00915 in unsigned long startOffset,
00916 in unsigned long duration,
00917 in TToiAssetId destinationAssetId)
00918 raises (TToiInvalidArgumentException, TToiPermissionDeniedException);
00919
00934 void linkAssets(in TToiDirectoryId dirId,
00935 in TToiAssetIdSequence assetIds)
00936 raises (TToiInvalidArgumentException);
00937
00950 void unlinkAssets(in TToiDirectoryId dirId,
00951 in TToiAssetIdSequence assetIds)
00952 raises (TToiInvalidArgumentException);
00953
00983 void runQuery(in ToiOperationManager::TToiOperationId operationId,
00984 in TToiQueryConditionSequence queryConditions,
00985 in TToiPropertyIdSequence requestedProperties,
00986 in TToiSortConditionSequence sortConditions)
00987 raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException);
00988
01021 void runQueryForDirectory(in ToiOperationManager::TToiOperationId operationId,
01022 in TToiDirectoryId directoryId,
01023 in TToiQueryConditionSequence queryConditions,
01024 in TToiPropertyIdSequence requestedProperties,
01025 in TToiSortConditionSequence sortConditions)
01026 raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException);
01027
01051 void runCountQuery(in ToiOperationManager::TToiOperationId operationId,
01052 in TToiQueryConditionSequence queryConditions)
01053 raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException);
01054
01078
01079 ToiMultipleResult getAssetInfoResult(in ToiOperationManager::TToiOperationId operationId,
01080 in unsigned long maxCount)
01081 raises (TToiInvalidArgumentException, TToiNoDataException);
01082
01100
01101 unsigned long getLongResult(in ToiOperationManager::TToiOperationId operationId)
01102 raises (TToiInvalidArgumentException, TToiNoDataException);
01103
01122
01123 TToiPropertySequence getProperties(in TToiAssetId assetId,
01124 in TToiPropertyIdSequence requestedProperties)
01125 raises (TToiInvalidArgumentException, TToiNoDataException, TToiNotEnoughResourcesException);
01126
01143
01144 TToiPropertySequence getAllProperties(in TToiAssetId assetId)
01145 raises (TToiInvalidArgumentException, TToiNoDataException, TToiNotEnoughResourcesException);
01146
01166 void setProperties(in TToiAssetId id,
01167 in TToiPropertySequence properties)
01168 raises (TToiInvalidArgumentException, TToiNoDataException, TToiNotEnoughResourcesException);
01169
01189 void removeProperties(in TToiAssetId id,
01190 in TToiPropertyIdSequence properties)
01191 raises (TToiInvalidArgumentException, TToiNoDataException, TToiNotEnoughResourcesException);
01192
01211 void removeMultiValuedPropertyValue(in TToiAssetId id,
01212 in ToiAssetManagerServiceProperty property)
01213 raises (TToiInvalidArgumentException, TToiNoDataException, TToiNotEnoughResourcesException);
01214
01215 };
01216
01217 #endif