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 "TToiOperationNotSupportedException.idl"
00026 #include "ToiMultipleResult.idl"
00027 #include "ToiEventTarget.idl"
00028
00029
00030 interface ToiAssetManagerServicePropertyDefinition;
00031
00032 interface ToiAssetManagerServiceProperty;
00033
00034 interface ToiAssetManagerServiceAssetInfo;
00035
00036 interface ToiAssetManagerServiceDirectoryInfo;
00037
00038 interface ToiAssetManagerServiceSortCondition;
00039
00040 interface ToiAssetManagerServiceQueryCondition;
00041
00042 interface ToiAssetManagerServiceAssetStorageInfo;
00043
00054
00055
00058 interface ToiAssetManagerService : ToiEventTarget {
00059
00062
00066 const long ON_ASSETS_ADDED = 300;
00067
00071 const long ON_ASSETS_REMOVED = 301;
00072
00076 const long ON_ASSETS_CHANGED = 302;
00077
00081 const long ON_DIRECTORIES_ADDED = 303;
00082
00086 const long ON_DIRECTORIES_REMOVED = 304;
00087
00091 const long ON_DIRECTORIES_CHANGED = 305;
00092
00096 const long ON_ASSET_STORAGE_ADDED = 306;
00097
00101 const long ON_ASSET_STORAGE_REMOVED = 307;
00102
00104
00111
00118 const ToiOperationManager::TToiOperationResult OP_RESULT_ASSET_INFO = 1;
00119
00121
00123
00130 const ToiOperationManager::TToiOperationResult OP_RESULT_LONG = 2;
00131
00133
00139
00140 typedef long TToiConditionOperation;
00143
00149
00150 const TToiConditionOperation EQUALS = 0;
00151
00157
00158 const TToiConditionOperation NOT_EQUAL = 1;
00159
00165
00166 const TToiConditionOperation GREATER = 2;
00167
00173
00174 const TToiConditionOperation LESS = 3;
00175
00181
00182 const TToiConditionOperation GREATER_OR_EQUAL = 4;
00183
00189
00190 const TToiConditionOperation LESS_OR_EQUAL = 5;
00191
00197
00198 const TToiConditionOperation CONTAINS = 6;
00199
00201
00202 typedef long TToiQueryId;
00203
00205 typedef string TToiAssetId;
00206
00208 typedef sequence < TToiAssetId > TToiAssetIdSequence;
00209
00212
00213 typedef long TToiPropertyType;
00216
00222
00223 const TToiPropertyType TYPE_BOOLEAN = 0;
00224
00230
00231 const TToiPropertyType TYPE_STRING = 1;
00232
00238
00239 const TToiPropertyType TYPE_INTEGER = 2;
00240
00246
00247 const TToiPropertyType TYPE_DATE = 3;
00248
00254
00255 const TToiPropertyType TYPE_ASSETLINK = 4;
00256
00258
00259 typedef string TToiPropertyId;
00260
00262 typedef sequence < TToiPropertyId > TToiPropertyIdSequence;
00263
00265 typedef sequence < string > TToiPropertyValueSequence;
00266
00268 typedef sequence < ToiAssetManagerServiceProperty > TToiPropertySequence;
00269
00271 typedef sequence < ToiAssetManagerServiceAssetInfo > TToiAssetInfoSequence;
00272
00274 typedef long TToiDirectoryId;
00275
00277 typedef sequence < TToiDirectoryId > TToiDirectoryIdSequence;
00278
00283 const TToiDirectoryId ROOT_DIRECTORY = -1;
00284
00292
00298 const string PROPERTY_SYSTEM_DURATION = "system.duration";
00299
00301
00303
00309 const string PROPERTY_SYSTEM_FILESIZE = "system.filesize";
00310
00312
00314
00320 const string PROPERTY_SYSTEM_PLAYBACKURI = "system.playbackuri";
00321
00323
00325
00331 const string PROPERTY_SYSTEM_FILENAME = "system.filename";
00332
00334
00336
00343 const string PROPERTY_SYSTEM_TYPE = "system.type";
00344
00346
00348
00355 const string PROPERTY_SYSTEM_INTEGRITY_STATUS = "system.integritystatus";
00356
00358
00360
00367 const string PROPERTY_SYSTEM_RECORDINGMODE = "system.recordingmode";
00368
00370
00372
00379 const string PROPERTY_SYSTEM_BUFFERLENGTH = "system.bufferlength";
00380
00382
00384
00391 const string PROPERTY_SYSTEM_ASSETSTORAGE = "system.assetstorage";
00392
00394
00396
00401 const string PROPERTY_INFO_TITLE = "info.title";
00402
00404
00406
00411 const string PROPERTY_INFO_DATE = "info.date";
00412
00414
00416
00421 const string PROPERTY_INFO_DESCRIPTION = "info.description";
00422
00424
00426
00431 const string PROPERTY_INFO_LONGDESCRIPTION = "info.longdescription";
00432
00434
00436
00441 const string PROPERTY_INFO_CHANNELNAME = "info.channelname";
00442
00444
00446
00453 const string PROPERTY_INFO_RECORDINGSTATUS = "info.recordingstatus";
00454
00456
00458
00463 const string PROPERTY_INFO_MATURITYRATING = "info.maturityrating";
00464
00466
00468
00475 const string PROPERTY_INFO_SHARED = "info.shared";
00476
00478
00480
00485 const string PROPERTY_INFO_COVER = "info.cover";
00486
00488
00490
00496 const string PROPERTY_INFO_CHILDREN = "info.children";
00497
00499
00501
00509 const string PROPERTY_INFO_LOST_AND_FOUND = "info.lostandfound";
00510
00514
00515 typedef long TToiAssetType;
00518
00524
00525 const TToiAssetType ASSET_PVR = 0;
00526
00532
00533 const TToiAssetType ASSET_IMAGE = 1;
00534
00540
00541 const TToiAssetType ASSET_AUDIO = 2;
00542
00548
00549 const TToiAssetType ASSET_VIDEO = 3;
00550
00552
00555
00556 typedef long TToiAssetRecordingMode;
00559
00565
00566 const TToiAssetRecordingMode RECORDING_MODE_LINEAR = 0;
00567
00573
00574 const TToiAssetRecordingMode RECORDING_MODE_CIRCULAR = 1;
00575
00577
00579
00580 typedef long TToiAssetIntegrityStatus;
00583
00589
00590 const TToiAssetIntegrityStatus INTEGRITY_UNKNOWN = 0;
00591
00597
00598 const TToiAssetIntegrityStatus INTEGRITY_OK = 1;
00599
00606
00607 const TToiAssetIntegrityStatus INTEGRITY_COULD_NOT_UPGRADE = 2;
00608
00615
00616 const TToiAssetIntegrityStatus INTEGRITY_COULD_NOT_REPAIR = 3;
00617
00619
00621 typedef sequence < ToiAssetManagerServiceSortCondition > TToiSortConditionSequence;
00622
00624 typedef sequence < ToiAssetManagerServiceQueryCondition > TToiQueryConditionSequence;
00625
00630
00631 typedef long TToiImportPolicy;
00634
00640
00641 const TToiImportPolicy IMPORT_POLICY_COPY = 0;
00642
00648
00649 const TToiImportPolicy IMPORT_POLICY_MOVE = 1;
00650
00652
00654 typedef sequence < ToiAssetManagerServiceAssetStorageInfo > TToiAssetStorageInfoSequence;
00655
00675
00676
00677
00678
00679 ToiOperationManager getAssetOperationManager();
00680
00700
00701 TToiDirectoryId createDirectory(in TToiDirectoryId parentId,
00702 in string title)
00703 raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException);
00704
00718 void moveDirectory(in TToiDirectoryId dirId,
00719 in TToiDirectoryId newParentId)
00720 raises (TToiInvalidArgumentException);
00721
00734 void setDirectoryProperties(in TToiDirectoryId dirId,
00735 in TToiPropertySequence properties)
00736 raises (TToiInvalidArgumentException);
00737
00750 void removeDirectoryProperties(in TToiDirectoryId dirId,
00751 in TToiPropertyIdSequence properties)
00752 raises (TToiInvalidArgumentException);
00753
00779 void removeDirectory(in TToiDirectoryId dirId,
00780 in boolean recursiveFlag,
00781 in boolean removeAssetsFlag)
00782 raises (TToiInvalidArgumentException, TToiPermissionDeniedException);
00783
00796
00797 ToiAssetManagerServiceDirectoryInfo getDirectoryInfo(in TToiDirectoryId dirId)
00798 raises (TToiInvalidArgumentException);
00799
00812
00813 TToiDirectoryIdSequence getDirectories(in TToiDirectoryId dirId)
00814 raises (TToiInvalidArgumentException);
00815
00828
00829 TToiPropertyIdSequence getDefinedProperties();
00830
00843
00844 ToiAssetManagerServicePropertyDefinition getPropertyDefinition(in TToiPropertyId propertyId)
00845 raises (TToiInvalidArgumentException);
00846
00864 void createPropertyDefinition(in TToiPropertyId propertyId,
00865 in TToiPropertyType type,
00866 in boolean hasMultipleValueSupport)
00867 raises (TToiInvalidArgumentException);
00868
00881 void removePropertyDefinition(in TToiPropertyId propertyId)
00882 raises (TToiInvalidArgumentException);
00883
00902
00903 TToiAssetId createAsset(in TToiAssetType assetType)
00904 raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException);
00905
00928
00929 TToiAssetId createAssetFromProperties(in TToiPropertySequence properties)
00930 raises (TToiOperationNotSupportedException, TToiInvalidArgumentException, TToiNotEnoughResourcesException);
00931
00955 void convertAsset(in TToiAssetId assetId,
00956 in TToiAssetRecordingMode newMode,
00957 in unsigned long startOffset)
00958 raises (TToiOperationNotSupportedException, TToiPermissionDeniedException, TToiUnhandledValueException);
00959
00988 void importAsset(in ToiOperationManager::TToiOperationId operationId,
00989 in TToiAssetId assetId,
00990 in string uri,
00991 in TToiImportPolicy importPolicy)
00992 raises (TToiInvalidArgumentException, TToiNoDataException);
00993
01015 void removeAsset(in ToiOperationManager::TToiOperationId operationId,
01016 in TToiAssetId assetId)
01017 raises (TToiInvalidArgumentException, TToiNoDataException, TToiPermissionDeniedException);
01018
01045 void copyAsset(in ToiOperationManager::TToiOperationId operationId,
01046 in TToiAssetId sourceAssetId,
01047 in unsigned long startOffset,
01048 in unsigned long duration,
01049 in TToiAssetId destinationAssetId)
01050 raises (TToiInvalidArgumentException, TToiPermissionDeniedException);
01051
01066 void linkAssets(in TToiDirectoryId dirId,
01067 in TToiAssetIdSequence assetIds)
01068 raises (TToiInvalidArgumentException);
01069
01082 void unlinkAssets(in TToiDirectoryId dirId,
01083 in TToiAssetIdSequence assetIds)
01084 raises (TToiInvalidArgumentException);
01085
01115 void runQuery(in ToiOperationManager::TToiOperationId operationId,
01116 in TToiQueryConditionSequence queryConditions,
01117 in TToiPropertyIdSequence requestedProperties,
01118 in TToiSortConditionSequence sortConditions)
01119 raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException);
01120
01153 void runQueryForDirectory(in ToiOperationManager::TToiOperationId operationId,
01154 in TToiDirectoryId directoryId,
01155 in TToiQueryConditionSequence queryConditions,
01156 in TToiPropertyIdSequence requestedProperties,
01157 in TToiSortConditionSequence sortConditions)
01158 raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException);
01159
01183 void runCountQuery(in ToiOperationManager::TToiOperationId operationId,
01184 in TToiQueryConditionSequence queryConditions)
01185 raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException);
01186
01210
01211 ToiMultipleResult getAssetInfoResult(in ToiOperationManager::TToiOperationId operationId,
01212 in unsigned long maxCount)
01213 raises (TToiInvalidArgumentException, TToiNoDataException);
01214
01232
01233 unsigned long getLongResult(in ToiOperationManager::TToiOperationId operationId)
01234 raises (TToiInvalidArgumentException, TToiNoDataException);
01235
01254
01255 TToiPropertySequence getProperties(in TToiAssetId assetId,
01256 in TToiPropertyIdSequence requestedProperties)
01257 raises (TToiInvalidArgumentException, TToiNoDataException, TToiNotEnoughResourcesException);
01258
01275
01276 TToiPropertySequence getAllProperties(in TToiAssetId assetId)
01277 raises (TToiInvalidArgumentException, TToiNoDataException, TToiNotEnoughResourcesException);
01278
01290
01291 TToiAssetStorageInfoSequence getAssetStorages();
01292
01312 void setProperties(in TToiAssetId id,
01313 in TToiPropertySequence properties)
01314 raises (TToiInvalidArgumentException, TToiNoDataException, TToiNotEnoughResourcesException);
01315
01335 void removeProperties(in TToiAssetId id,
01336 in TToiPropertyIdSequence properties)
01337 raises (TToiInvalidArgumentException, TToiNoDataException, TToiNotEnoughResourcesException);
01338
01357 void removeMultiValuedPropertyValue(in TToiAssetId id,
01358 in ToiAssetManagerServiceProperty property)
01359 raises (TToiInvalidArgumentException, TToiNoDataException, TToiNotEnoughResourcesException);
01360
01361 };
01362
01363 #endif