IToiAssetManagerService.idl

00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
00002  *--------------------------------------------------------------------
00003  *
00004  * IToiAssetManagerService.idl
00005  *
00006  * This file was created by the Motorola IDL backend, 
00007  * which is based on the OmniORB IDL parser.
00008  * Please do not modify.
00009  *
00010  * Copyright (c) 2009 Motorola Inc. All Rights Reserved.
00011  *
00012  *--------------------------------------------------------------------
00013  */
00014 
00015 #ifndef ITOIASSETMANAGERSERVICE_IDL
00016 #define ITOIASSETMANAGERSERVICE_IDL
00017 
00018 #include "TToiInvalidArgumentException.idl"
00019 #include "TToiNotEnoughResourcesException.idl"
00020 #include "TToiUnhandledValueException.idl"
00021 #include "IToiApplicationService.idl"
00022 #include "IToiOperationManager.idl"
00023 #include "TToiPermissionDeniedException.idl"
00024 #include "TToiNoDataException.idl"
00025 
00026 #include "IToiApplicationService.idl"
00037 //@ [Service(Name=AssetManagerService)]
00038 //@ [EventTarget(EventObserver=IToiAssetManagerObserver)]
00039 
00040 interface IToiAssetManagerService {
00041 
00048   
00055   const IToiOperationManager::TToiOperationResult OP_RESULT_ASSET_INFO = 1;
00056   
00058   
00060   
00067   const IToiOperationManager::TToiOperationResult OP_RESULT_LONG = 2;
00068   
00070   
00076   enum TToiConditionOperation
00077   {
00078     
00081     //Value of EQUALS = 0
00082     EQUALS,
00083     
00086     //Value of NOT_EQUAL = 1
00087     NOT_EQUAL,
00088     
00091     //Value of GREATER = 2
00092     GREATER,
00093     
00096     //Value of LESS = 3
00097     LESS,
00098     
00101     //Value of GREATER_OR_EQUAL = 4
00102     GREATER_OR_EQUAL,
00103     
00106     //Value of LESS_OR_EQUAL = 5
00107     LESS_OR_EQUAL,
00108     
00111     //Value of CONTAINS = 6
00112     CONTAINS
00113   };
00115   typedef long TToiQueryId;
00116   
00118   typedef string TToiAssetId;
00119   
00121   typedef sequence < TToiAssetId > TToiAssetIdSequence;
00122   
00125   enum TToiPropertyType
00126   {
00127     
00130     //Value of TYPE_BOOLEAN = 0
00131     TYPE_BOOLEAN,
00132     
00135     //Value of TYPE_STRING = 1
00136     TYPE_STRING,
00137     
00140     //Value of TYPE_INTEGER = 2
00141     TYPE_INTEGER,
00142     
00145     //Value of TYPE_DATE = 3
00146     TYPE_DATE,
00147     
00150     //Value of TYPE_ASSETLINK = 4
00151     TYPE_ASSETLINK
00152   };
00154   typedef string TToiPropertyId;
00155   
00157   typedef sequence < TToiPropertyId > TToiPropertyIdSequence;
00158   
00160   typedef sequence < string > TToiPropertyValueSequence;
00161   
00163   struct TToiPropertyDefinition {
00165     IToiAssetManagerService::TToiPropertyId PropertyId;
00167     IToiAssetManagerService::TToiPropertyType Type;
00169     boolean HasMultipleValueSupport;
00172     boolean IsSystemDefined;
00173   };
00174   
00176   struct TToiProperty {
00178     IToiAssetManagerService::TToiPropertyId Id;
00180     string Value;
00181   };
00182   
00184   typedef sequence < TToiProperty > TToiPropertySequence;
00185   
00187   struct TToiAssetInfo {
00189     IToiAssetManagerService::TToiAssetId AssetId;
00191     IToiAssetManagerService::TToiPropertySequence Properties;
00192   };
00193   
00195   typedef sequence < TToiAssetInfo > TToiAssetInfoSequence;
00196   
00198   typedef long TToiDirectoryId;
00199   
00201   typedef sequence < TToiDirectoryId > TToiDirectoryIdSequence;
00202   
00207   const TToiDirectoryId ROOT_DIRECTORY = -1;
00208   
00216   
00222   const string PROPERTY_SYSTEM_DURATION = "system.duration";
00223   
00225   
00227   
00233   const string PROPERTY_SYSTEM_FILESIZE = "system.filesize";
00234   
00236   
00238   
00244   const string PROPERTY_SYSTEM_PLAYBACKURI = "system.playbackuri";
00245   
00247   
00249   
00255   const string PROPERTY_SYSTEM_FILENAME = "system.filename";
00256   
00258   
00260   
00267   const string PROPERTY_SYSTEM_TYPE = "system.type";
00268   
00270   
00272   
00279   const string PROPERTY_SYSTEM_INTEGRITY_STATUS = "system.integritystatus";
00280   
00282   
00284   
00289   const string PROPERTY_INFO_TITLE = "info.title";
00290   
00292   
00294   
00299   const string PROPERTY_INFO_DATE = "info.date";
00300   
00302   
00304   
00309   const string PROPERTY_INFO_DESCRIPTION = "info.description";
00310   
00312   
00314   
00319   const string PROPERTY_INFO_LONGDESCRIPTION = "info.longdescription";
00320   
00322   
00324   
00329   const string PROPERTY_INFO_CHANNELNAME = "info.channelname";
00330   
00332   
00334   
00341   const string PROPERTY_INFO_RECORDINGSTATUS = "info.recordingstatus";
00342   
00344   
00346   
00351   const string PROPERTY_INFO_MATURITYRATING = "info.maturityrating";
00352   
00354   
00356   
00363   const string PROPERTY_INFO_SHARED = "info.shared";
00364   
00366   
00368   
00373   const string PROPERTY_INFO_COVER = "info.cover";
00374   
00376   
00378   
00384   const string PROPERTY_INFO_CHILDREN = "info.children";
00385   
00387   
00389   
00397   const string PROPERTY_INFO_LOST_AND_FOUND = "info.lostandfound";
00398   
00400   
00402   struct TToiDirectoryInfo {
00404     IToiAssetManagerService::TToiDirectoryId DirectoryId;
00406     IToiAssetManagerService::TToiDirectoryId ParentDirectoryId;
00408     IToiAssetManagerService::TToiPropertySequence Properties;
00409   };
00410   
00414   enum TToiAssetType
00415   {
00416     
00419     //Value of ASSET_PVR = 0
00420     ASSET_PVR,
00421     
00424     //Value of ASSET_IMAGE = 1
00425     ASSET_IMAGE,
00426     
00429     //Value of ASSET_AUDIO = 2
00430     ASSET_AUDIO,
00431     
00434     //Value of ASSET_VIDEO = 3
00435     ASSET_VIDEO
00436   };
00439   enum TToiAssetIntegrityStatus
00440   {
00441     
00444     //Value of INTEGRITY_UNKNOWN = 0
00445     INTEGRITY_UNKNOWN,
00446     
00449     //Value of INTEGRITY_OK = 1
00450     INTEGRITY_OK,
00451     
00455     //Value of INTEGRITY_COULD_NOT_UPGRADE = 2
00456     INTEGRITY_COULD_NOT_UPGRADE,
00457     
00461     //Value of INTEGRITY_COULD_NOT_REPAIR = 3
00462     INTEGRITY_COULD_NOT_REPAIR
00463   };
00465   struct TToiSortCondition {
00467     IToiAssetManagerService::TToiPropertyId SortProperty;
00469     boolean SortAscending;
00470   };
00471   
00474   typedef sequence < TToiSortCondition > TToiSortConditionSequence;
00475   
00477   struct TToiQueryCondition {
00479     IToiAssetManagerService::TToiPropertyId PropertyId;
00481     IToiAssetManagerService::TToiConditionOperation Operation;
00483     string Value;
00484   };
00485   
00487   typedef sequence < TToiQueryCondition > TToiQueryConditionSequence;
00488   
00493   enum TToiImportPolicy
00494   {
00495     
00498     //Value of IMPORT_POLICY_COPY = 0
00499     IMPORT_POLICY_COPY,
00500     
00503     //Value of IMPORT_POLICY_MOVE = 1
00504     IMPORT_POLICY_MOVE
00505   };
00524   //@ [ReturnAddress(Type=IToiOperationManager)]
00525   
00526   
00527   void GetAssetOperationManager(out string address);
00528   
00548   void CreateDirectory(in TToiDirectoryId parentId, 
00549         in string title, 
00550         out TToiDirectoryId dirId)
00551    raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException);
00552   
00566   void MoveDirectory(in TToiDirectoryId dirId, 
00567         in TToiDirectoryId newParentId)
00568    raises (TToiInvalidArgumentException);
00569   
00582   void SetDirectoryProperties(in TToiDirectoryId dirId, 
00583         in TToiPropertySequence properties)
00584    raises (TToiInvalidArgumentException);
00585   
00598   void RemoveDirectoryProperties(in TToiDirectoryId dirId, 
00599         in TToiPropertyIdSequence properties)
00600    raises (TToiInvalidArgumentException);
00601   
00627   void RemoveDirectory(in TToiDirectoryId dirId, 
00628         in boolean recursiveFlag, 
00629         in boolean removeAssetsFlag)
00630    raises (TToiInvalidArgumentException, TToiPermissionDeniedException);
00631   
00644   void GetDirectoryInfo(in TToiDirectoryId dirId, 
00645         out TToiDirectoryInfo info)
00646    raises (TToiInvalidArgumentException);
00647   
00660   void GetDirectories(in TToiDirectoryId dirId, 
00661         out TToiDirectoryIdSequence childDirIds)
00662    raises (TToiInvalidArgumentException);
00663   
00676   void GetDefinedProperties(out TToiPropertyIdSequence properties);
00677   
00690   void GetPropertyDefinition(in TToiPropertyId propertyId, 
00691         out TToiPropertyDefinition definition)
00692    raises (TToiInvalidArgumentException);
00693   
00711   void CreatePropertyDefinition(in TToiPropertyId propertyId, 
00712         in TToiPropertyType type, 
00713         in boolean hasMultipleValueSupport)
00714    raises (TToiInvalidArgumentException);
00715   
00728   void RemovePropertyDefinition(in TToiPropertyId propertyId)
00729    raises (TToiInvalidArgumentException);
00730   
00749   void CreateAsset(in TToiAssetType assetType, 
00750         out TToiAssetId assetId)
00751    raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException);
00752   
00781   void ImportAsset(in IToiOperationManager::TToiOperationId operationId, 
00782         in TToiAssetId assetId, 
00783         in string uri, 
00784         in TToiImportPolicy importPolicy)
00785    raises (TToiInvalidArgumentException, TToiNoDataException);
00786   
00808   void RemoveAsset(in IToiOperationManager::TToiOperationId operationId, 
00809         in TToiAssetId assetId)
00810    raises (TToiInvalidArgumentException, TToiNoDataException, TToiPermissionDeniedException);
00811   
00838   void CopyAsset(in IToiOperationManager::TToiOperationId operationId, 
00839         in TToiAssetId sourceAssetId, 
00840         in unsigned long startOffset, 
00841         in unsigned long duration, 
00842         in TToiAssetId destinationAssetId)
00843    raises (TToiInvalidArgumentException, TToiPermissionDeniedException);
00844   
00859   void LinkAssets(in TToiDirectoryId dirId, 
00860         in TToiAssetIdSequence assetIds)
00861    raises (TToiInvalidArgumentException);
00862   
00875   void UnlinkAssets(in TToiDirectoryId dirId, 
00876         in TToiAssetIdSequence assetIds)
00877    raises (TToiInvalidArgumentException);
00878   
00908   void RunQuery(in IToiOperationManager::TToiOperationId operationId, 
00909         in TToiQueryConditionSequence queryConditions, 
00910         in TToiPropertyIdSequence requestedProperties, 
00911         in TToiSortConditionSequence sortConditions)
00912    raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException);
00913   
00946   void RunQueryForDirectory(in IToiOperationManager::TToiOperationId operationId, 
00947         in TToiDirectoryId directoryId, 
00948         in TToiQueryConditionSequence queryConditions, 
00949         in TToiPropertyIdSequence requestedProperties, 
00950         in TToiSortConditionSequence sortConditions)
00951    raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException);
00952   
00976   void RunCountQuery(in IToiOperationManager::TToiOperationId operationId, 
00977         in TToiQueryConditionSequence queryConditions)
00978    raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException);
00979   
01003   void GetAssetInfoResult(in IToiOperationManager::TToiOperationId operationId, 
01004         in unsigned long maxCount, 
01005         out TToiAssetInfoSequence objects, 
01006         out boolean hasMore)
01007    raises (TToiInvalidArgumentException, TToiNoDataException);
01008   
01026   void GetLongResult(in IToiOperationManager::TToiOperationId operationId, 
01027         out unsigned long value)
01028    raises (TToiInvalidArgumentException, TToiNoDataException);
01029   
01048   void GetProperties(in TToiAssetId assetId, 
01049         in TToiPropertyIdSequence requestedProperties, 
01050         out TToiPropertySequence properties)
01051    raises (TToiInvalidArgumentException, TToiNoDataException, TToiNotEnoughResourcesException);
01052   
01069   void GetAllProperties(in TToiAssetId assetId, 
01070         out TToiPropertySequence properties)
01071    raises (TToiInvalidArgumentException, TToiNoDataException, TToiNotEnoughResourcesException);
01072   
01092   void SetProperties(in TToiAssetId id, 
01093         in TToiPropertySequence properties)
01094    raises (TToiInvalidArgumentException, TToiNoDataException, TToiNotEnoughResourcesException);
01095   
01115   void RemoveProperties(in TToiAssetId id, 
01116         in TToiPropertyIdSequence properties)
01117    raises (TToiInvalidArgumentException, TToiNoDataException, TToiNotEnoughResourcesException);
01118   
01137   void RemoveMultiValuedPropertyValue(in TToiAssetId id, 
01138         in TToiProperty property)
01139    raises (TToiInvalidArgumentException, TToiNoDataException, TToiNotEnoughResourcesException);
01140   
01141   
01142   
01155   void RegisterObserver(in IToiApplicationService::TToiApplicationId applicationId,
01156                         in string address)
01157     raises (TToiInvalidArgumentException);
01158   
01167   void ReleaseObserver(in string address)
01168     raises (TToiInvalidArgumentException); 
01169   
01170 };
01171 
01172 #endif