ToiAssetManagerService.idl

00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
00002  *--------------------------------------------------------------------
00003  *
00004  * ToiAssetManagerService.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 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 //@ [Struct(Interface=IToiAssetManagerService,Name=TToiPropertyDefinition)]
00029 interface ToiAssetManagerServicePropertyDefinition;
00030 //@ [Struct(Interface=IToiAssetManagerService,Name=TToiProperty)]
00031 interface ToiAssetManagerServiceProperty;
00032 //@ [Struct(Interface=IToiAssetManagerService,Name=TToiAssetInfo)]
00033 interface ToiAssetManagerServiceAssetInfo;
00034 //@ [Struct(Interface=IToiAssetManagerService,Name=TToiDirectoryInfo)]
00035 interface ToiAssetManagerServiceDirectoryInfo;
00036 //@ [Struct(Interface=IToiAssetManagerService,Name=TToiSortCondition)]
00037 interface ToiAssetManagerServiceSortCondition;
00038 //@ [Struct(Interface=IToiAssetManagerService,Name=TToiQueryCondition)]
00039 interface ToiAssetManagerServiceQueryCondition;
00040 
00051 //@ [Service(Name=AssetManagerService)]
00052 //@ [EventTarget(EventObserver=IToiAssetManagerObserver)]
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   //@ [Enum]
00127   typedef long TToiConditionOperation;
00130   
00136   //@ [Enumerator(Enum=TToiConditionOperation,Name=EQUALS)]
00137   const TToiConditionOperation EQUALS = 0;
00138   
00144   //@ [Enumerator(Enum=TToiConditionOperation,Name=NOT_EQUAL)]
00145   const TToiConditionOperation NOT_EQUAL = 1;
00146   
00152   //@ [Enumerator(Enum=TToiConditionOperation,Name=GREATER)]
00153   const TToiConditionOperation GREATER = 2;
00154   
00160   //@ [Enumerator(Enum=TToiConditionOperation,Name=LESS)]
00161   const TToiConditionOperation LESS = 3;
00162   
00168   //@ [Enumerator(Enum=TToiConditionOperation,Name=GREATER_OR_EQUAL)]
00169   const TToiConditionOperation GREATER_OR_EQUAL = 4;
00170   
00176   //@ [Enumerator(Enum=TToiConditionOperation,Name=LESS_OR_EQUAL)]
00177   const TToiConditionOperation LESS_OR_EQUAL = 5;
00178   
00184   //@ [Enumerator(Enum=TToiConditionOperation,Name=CONTAINS)]
00185   const TToiConditionOperation CONTAINS = 6;
00186   
00188 
00189   typedef long TToiQueryId;
00190   
00192   typedef string TToiAssetId;
00193   
00195   typedef sequence < TToiAssetId > TToiAssetIdSequence;
00196   
00199   //@ [Enum]
00200   typedef long TToiPropertyType;
00203   
00209   //@ [Enumerator(Enum=TToiPropertyType,Name=TYPE_BOOLEAN)]
00210   const TToiPropertyType TYPE_BOOLEAN = 0;
00211   
00217   //@ [Enumerator(Enum=TToiPropertyType,Name=TYPE_STRING)]
00218   const TToiPropertyType TYPE_STRING = 1;
00219   
00225   //@ [Enumerator(Enum=TToiPropertyType,Name=TYPE_INTEGER)]
00226   const TToiPropertyType TYPE_INTEGER = 2;
00227   
00233   //@ [Enumerator(Enum=TToiPropertyType,Name=TYPE_DATE)]
00234   const TToiPropertyType TYPE_DATE = 3;
00235   
00241   //@ [Enumerator(Enum=TToiPropertyType,Name=TYPE_ASSETLINK)]
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   //@ [Enum]
00466   typedef long TToiAssetType;
00469   
00475   //@ [Enumerator(Enum=TToiAssetType,Name=ASSET_PVR)]
00476   const TToiAssetType ASSET_PVR = 0;
00477   
00483   //@ [Enumerator(Enum=TToiAssetType,Name=ASSET_IMAGE)]
00484   const TToiAssetType ASSET_IMAGE = 1;
00485   
00491   //@ [Enumerator(Enum=TToiAssetType,Name=ASSET_AUDIO)]
00492   const TToiAssetType ASSET_AUDIO = 2;
00493   
00499   //@ [Enumerator(Enum=TToiAssetType,Name=ASSET_VIDEO)]
00500   const TToiAssetType ASSET_VIDEO = 3;
00501   
00503 
00505   //@ [Enum]
00506   typedef long TToiAssetIntegrityStatus;
00509   
00515   //@ [Enumerator(Enum=TToiAssetIntegrityStatus,Name=INTEGRITY_UNKNOWN)]
00516   const TToiAssetIntegrityStatus INTEGRITY_UNKNOWN = 0;
00517   
00523   //@ [Enumerator(Enum=TToiAssetIntegrityStatus,Name=INTEGRITY_OK)]
00524   const TToiAssetIntegrityStatus INTEGRITY_OK = 1;
00525   
00532   //@ [Enumerator(Enum=TToiAssetIntegrityStatus,Name=INTEGRITY_COULD_NOT_UPGRADE)]
00533   const TToiAssetIntegrityStatus INTEGRITY_COULD_NOT_UPGRADE = 2;
00534   
00541   //@ [Enumerator(Enum=TToiAssetIntegrityStatus,Name=INTEGRITY_COULD_NOT_REPAIR)]
00542   const TToiAssetIntegrityStatus INTEGRITY_COULD_NOT_REPAIR = 3;
00543   
00545 
00547   typedef sequence < ToiAssetManagerServiceSortCondition > TToiSortConditionSequence;
00548   
00550   typedef sequence < ToiAssetManagerServiceQueryCondition > TToiQueryConditionSequence;
00551   
00556   //@ [Enum]
00557   typedef long TToiImportPolicy;
00560   
00566   //@ [Enumerator(Enum=TToiImportPolicy,Name=IMPORT_POLICY_COPY)]
00567   const TToiImportPolicy IMPORT_POLICY_COPY = 0;
00568   
00574   //@ [Enumerator(Enum=TToiImportPolicy,Name=IMPORT_POLICY_MOVE)]
00575   const TToiImportPolicy IMPORT_POLICY_MOVE = 1;
00576   
00578 
00597   //@ [ReturnAddress(Type=IToiOperationManager)]
00598   
00599   
00600   //@ [OutParam(Name=address,Position=1,IsBinary=0, Bound=0)]
00601   ToiOperationManager getAssetOperationManager();
00602   
00622   //@ [OutParam(Name=dirId,Position=3,IsBinary=0, Bound=0)]
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   //@ [OutParam(Name=info,Position=2,IsBinary=0, Bound=0)]
00719   ToiAssetManagerServiceDirectoryInfo getDirectoryInfo(in TToiDirectoryId dirId)
00720    raises (TToiInvalidArgumentException);
00721   
00734   //@ [OutParam(Name=childDirIds,Position=2,IsBinary=0, Bound=0)]
00735   TToiDirectoryIdSequence getDirectories(in TToiDirectoryId dirId)
00736    raises (TToiInvalidArgumentException);
00737   
00750   //@ [OutParam(Name=properties,Position=1,IsBinary=0, Bound=0)]
00751   TToiPropertyIdSequence getDefinedProperties();
00752   
00765   //@ [OutParam(Name=definition,Position=2,IsBinary=0, Bound=0)]
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   //@ [OutParam(Name=assetId,Position=2,IsBinary=0, Bound=0)]
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   //@ [ToiMultipleResult=ToiAssetManagerServiceGetAssetInfoResultRet]
01079   ToiMultipleResult getAssetInfoResult(in ToiOperationManager::TToiOperationId operationId, 
01080         in unsigned long maxCount)
01081    raises (TToiInvalidArgumentException, TToiNoDataException);
01082   
01100   //@ [OutParam(Name=value,Position=2,IsBinary=0, Bound=0)]
01101   unsigned long getLongResult(in ToiOperationManager::TToiOperationId operationId)
01102    raises (TToiInvalidArgumentException, TToiNoDataException);
01103   
01122   //@ [OutParam(Name=properties,Position=3,IsBinary=0, Bound=0)]
01123   TToiPropertySequence getProperties(in TToiAssetId assetId, 
01124         in TToiPropertyIdSequence requestedProperties)
01125    raises (TToiInvalidArgumentException, TToiNoDataException, TToiNotEnoughResourcesException);
01126   
01143   //@ [OutParam(Name=properties,Position=2,IsBinary=0, Bound=0)]
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