IToiDlnaContentDirectoryService.idl

00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
00002  *--------------------------------------------------------------------
00003  *
00004  * IToiDlnaContentDirectoryService.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 ITOIDLNACONTENTDIRECTORYSERVICE_IDL
00016 #define ITOIDLNACONTENTDIRECTORYSERVICE_IDL
00017 
00018 #include "TToiInvalidArgumentException.idl"
00019 #include "TToiOperationNotSupportedException.idl"
00020 #include "TToiNoDataException.idl"
00021 #include "TToiNotEnoughResourcesException.idl"
00022 #include "TToiUnhandledValueException.idl"
00023 #include "IToiApplicationService.idl"
00024 #include "IToiOperationManager.idl"
00025 
00026 #include "IToiApplicationService.idl"
00109 //@ [EventTarget(EventObserver=IToiDlnaContentDirectoryObserver)]
00110 
00111 interface IToiDlnaContentDirectoryService {
00112 
00119   
00125   const IToiOperationManager::TToiOperationResult OP_RESULT_OBJECT = 1;
00126   
00132   const IToiOperationManager::TToiOperationResult OP_RESULT_CAPABILITY = 2;
00133   
00135   
00142   
00147   const IToiOperationManager::TToiOperationError OP_ERROR_INVALID_ARGUMENTS = -3;
00148   
00153   const IToiOperationManager::TToiOperationError OP_ERROR_INVALID_ACTION = -4;
00154   
00159   const IToiOperationManager::TToiOperationError OP_ERROR_UNSUPPORTED_SEARCH_CRITERIA = -5;
00160   
00165   const IToiOperationManager::TToiOperationError OP_ERROR_UNSUPPORTED_SORT_CRITERIA = -6;
00166   
00171   const IToiOperationManager::TToiOperationError OP_ERROR_NO_SUCH_CONTAINER = -7;
00172   
00177   const IToiOperationManager::TToiOperationError OP_ERROR_RESTRICTED = -8;
00178   
00183   const IToiOperationManager::TToiOperationError OP_ERROR_CAN_NOT_PROCESS_REQUEST = -9;
00184   
00186   
00188   typedef long TToiPropertyId;
00189   
00191   typedef sequence < TToiPropertyId > TToiPropertyIdSequence;
00192   
00194   struct TToiProperty {
00196     IToiDlnaContentDirectoryService::TToiPropertyId Id;
00204     long SubIndex;
00206     string Value;
00207   };
00208   
00210   typedef sequence < TToiProperty > TToiPropertySequence;
00211   
00216   typedef sequence < long > TToiSortIdSequence;
00217   
00224   
00229   const TToiPropertyId PROPERTY_OBJECT_ATTR_CHILD_COUNT = 11;
00230   
00235   const TToiPropertyId PROPERTY_OBJECT_ATTR_SEARCHABLE = 12;
00236   
00241   const TToiPropertyId PROPERTY_OBJECT_ATTR_REF_ID = 13;
00242   
00247   const TToiPropertyId PROPERTY_OBJECT_ATTR_RESTRICTED = 14;
00248   
00253   const TToiPropertyId PROPERTY_CREATE_CLASS = 20;
00254   
00259   const TToiPropertyId PROPERTY_CREATE_CLASS_ATTR_INCLUDE_DERIVED = 21;
00260   
00265   const TToiPropertyId PROPERTY_CREATE_CLASS_ATTR_NAME = 22;
00266   
00271   const TToiPropertyId PROPERTY_CREATOR = 30;
00272   
00277   const TToiPropertyId PROPERTY_DATE = 40;
00278   
00283   const TToiPropertyId PROPERTY_DESCRIPTION = 50;
00284   
00289   const TToiPropertyId PROPERTY_LANGUAGE = 60;
00290   
00295   const TToiPropertyId PROPERTY_RES = 70;
00296   
00301   const TToiPropertyId PROPERTY_RES_ATTR_BITRATE = 71;
00302   
00307   const TToiPropertyId PROPERTY_RES_ATTR_BITS_PER_SAMPLE = 72;
00308   
00313   const TToiPropertyId PROPERTY_RES_ATTR_COLOR_DEPTH = 73;
00314   
00319   const TToiPropertyId PROPERTY_RES_ATTR_DURATION = 74;
00320   
00325   const TToiPropertyId PROPERTY_RES_ATTR_IMPORT_URI = 75;
00326   
00331   const TToiPropertyId PROPERTY_RES_ATTR_AUDIO_CHANNELS_COUNT = 76;
00332   
00337   const TToiPropertyId PROPERTY_RES_ATTR_PROTOCOL_INFO = 77;
00338   
00343   const TToiPropertyId PROPERTY_RES_ATTR_RESOLUTION = 78;
00344   
00349   const TToiPropertyId PROPERTY_RES_ATTR_SAMPLE_FREQUENCY = 79;
00350   
00356   const TToiPropertyId PROPERTY_RES_ATTR_SIZE = 80;
00357   
00362   const TToiPropertyId PROPERTY_RES_ATTR_PROTECTION = 81;
00363   
00369   const TToiPropertyId PROPERTY_RES_RENDER_SUPPORTED = 82;
00370   
00375   const TToiPropertyId PROPERTY_SEARCH_CLASS = 90;
00376   
00381   const TToiPropertyId PROPERTY_SEARCH_CLASS_ATTR_INCLUDE_DERIVED = 91;
00382   
00387   const TToiPropertyId PROPERTY_SEARCH_CLASS_ATTR_NAME = 92;
00388   
00393   const TToiPropertyId PROPERTY_ACTOR = 100;
00394   
00399   const TToiPropertyId PROPERTY_ALBUM = 110;
00400   
00405   const TToiPropertyId PROPERTY_ARTIST = 120;
00406   
00411   const TToiPropertyId PROPERTY_AUTHOR = 130;
00412   
00417   const TToiPropertyId PROPERTY_PRODUCER = 140;
00418   
00423   const TToiPropertyId PROPERTY_DIRECTOR = 150;
00424   
00429   const TToiPropertyId PROPERTY_PUBLISHER = 160;
00430   
00435   const TToiPropertyId PROPERTY_CONTRIBUTOR = 170;
00436   
00441   const TToiPropertyId PROPERTY_GENRE = 180;
00442   
00447   const TToiPropertyId PROPERTY_ICON = 190;
00448   
00453   const TToiPropertyId PROPERTY_ORIGINAL_TRACK_NUMBER = 200;
00454   
00459   const TToiPropertyId PROPERTY_PLAYLIST = 210;
00460   
00465   const TToiPropertyId PROPERTY_RATING = 220;
00466   
00471   const TToiPropertyId PROPERTY_SCHEDULED_START_TIME = 230;
00472   
00477   const TToiPropertyId PROPERTY_SCHEDULED_END_TIME = 240;
00478   
00483   const TToiPropertyId PROPERTY_CHANNEL_NAME = 250;
00484   
00489   const TToiPropertyId PROPERTY_CHANNEL_NR = 260;
00490   
00495   const TToiPropertyId PROPERTY_STORAGE_FREE = 270;
00496   
00501   const TToiPropertyId PROPERTY_STORAGE_MAX_PARTITION = 280;
00502   
00507   const TToiPropertyId PROPERTY_STORAGE_MEDIUM = 290;
00508   
00513   const TToiPropertyId PROPERTY_STORAGE_TOTAL = 300;
00514   
00519   const TToiPropertyId PROPERTY_STORAGE_USED = 310;
00520   
00525   const TToiPropertyId PROPERTY_WRITE_STATUS = 320;
00526   
00531   const TToiPropertyId PROPERTY_REGION = 330;
00532   
00537   const TToiPropertyId PROPERTY_LONG_DESCRIPTION = 340;
00538   
00543   const TToiPropertyId PROPERTY_RADIO_CALL_SIGN = 350;
00544   
00549   const TToiPropertyId PROPERTY_RADIO_STATION_ID = 360;
00550   
00555   const TToiPropertyId PROPERTY_RADIO_BAND = 370;
00556   
00561   const TToiPropertyId PROPERTY_USER_ANNOTATION = 380;
00562   
00567   const TToiPropertyId PROPERTY_CLASS = 390;
00568   
00573   const TToiPropertyId PROPERTY_TITLE = 400;
00574   
00580   const TToiPropertyId PROPERTY_RES_PI_PROTOCOL = 410;
00581   
00587   const TToiPropertyId PROPERTY_RES_PI_MIME_TYPE = 411;
00588   
00594   const TToiPropertyId PROPERTY_RES_PI_PROFILE_NAME = 412;
00595   
00601   const TToiPropertyId PROPERTY_RES_PI_OPERATIONS = 413;
00602   
00608   const TToiPropertyId PROPERTY_RES_PI_PLAY_SPEED = 414;
00609   
00615   const TToiPropertyId PROPERTY_RES_PI_CONVERSION_INDICATOR = 415;
00616   
00622   const TToiPropertyId PROPERTY_RES_PI_FLAGS = 416;
00623   
00629   const TToiPropertyId PROPERTY_RES_PI_MAX_RTSP_SPEED = 417;
00630   
00632   
00637   struct TToiCdsObject {
00639     string ObjectId;
00641     string ParentId;
00643     string ObjectClass;
00645     string Title;
00648     long ServerIndex;
00650     IToiDlnaContentDirectoryService::TToiPropertySequence Properties;
00651   };
00652   
00654   typedef sequence < TToiCdsObject > TToiCdsObjectSequence;
00655   
00658   enum TToiPropertyType
00659   {
00660     
00663     //Value of TYPE_STRING = 0
00664     TYPE_STRING,
00665     
00668     //Value of TYPE_INTEGER = 1
00669     TYPE_INTEGER,
00670     
00673     //Value of TYPE_BOOLEAN = 2
00674     TYPE_BOOLEAN,
00675     
00678     //Value of TYPE_DATE = 3
00679     TYPE_DATE,
00680     
00684     //Value of TYPE_RESOLUTION = 4
00685     TYPE_RESOLUTION,
00686     
00689     //Value of TYPE_DURATION = 5
00690     TYPE_DURATION
00691   };
00693   struct TToiCdsCapabilities {
00695     IToiDlnaContentDirectoryService::TToiPropertyIdSequence SearchingCapabilities;
00697     IToiDlnaContentDirectoryService::TToiPropertyIdSequence SortingCapabilities;
00700     long ActionCapabilities;
00701   };
00702   
00707   enum TToiCdsActionCapability
00708   {
00709     
00713     //Value of CDS_CAPABILITY_CREATE_OBJECT = 0x1
00714     CDS_CAPABILITY_CREATE_OBJECT,
00715     
00719     //Value of CDS_CAPABILITY_DESTROY_OBJECT = 0x2
00720     CDS_CAPABILITY_DESTROY_OBJECT,
00721     
00725     //Value of CDS_CAPABILITY_SEARCH = 0x4
00726     CDS_CAPABILITY_SEARCH,
00727     
00731     //Value of CDS_CAPABILITY_IMPORT_RESOURCE = 0x8
00732     CDS_CAPABILITY_IMPORT_RESOURCE,
00733     
00737     //Value of CDS_CAPABILITY_EXPORT_RESOURCE = 0x10
00738     CDS_CAPABILITY_EXPORT_RESOURCE,
00739     
00743     //Value of CDS_CAPABILITY_STOP_TRANSFER_PROGRESS = 0x20
00744     CDS_CAPABILITY_STOP_TRANSFER_PROGRESS,
00745     
00749     //Value of CDS_CAPABILITY_GET_TRANSFER_PROGRESS = 0x40
00750     CDS_CAPABILITY_GET_TRANSFER_PROGRESS,
00751     
00755     //Value of CDS_CAPABILITY_IMAGE_UPLOAD = 0x80
00756     CDS_CAPABILITY_IMAGE_UPLOAD,
00757     
00761     //Value of CDS_CAPABILITY_AUDIO_UPLOAD = 0x100
00762     CDS_CAPABILITY_AUDIO_UPLOAD,
00763     
00767     //Value of CDS_CAPABILITY_AV_UPLOAD = 0x200
00768     CDS_CAPABILITY_AV_UPLOAD,
00769     
00773     //Value of CDS_CAPABILITY_X_GET_DLNA_UPLOAD_PROFILES = 0x400
00774     CDS_CAPABILITY_X_GET_DLNA_UPLOAD_PROFILES
00775   };
00783   void GetRootContainerId(out string objectId);
00784   
00803   void GetCapabilities(in IToiOperationManager::TToiOperationId operationId)
00804    raises (TToiInvalidArgumentException, TToiOperationNotSupportedException);
00805   
00852   void Browse(in IToiOperationManager::TToiOperationId operationId, 
00853         in string containerId, 
00854         in TToiPropertyIdSequence propertyFilter, 
00855         in TToiSortIdSequence sortCriteria, 
00856         in long startIndex, 
00857         in long count)
00858    raises (TToiInvalidArgumentException, TToiOperationNotSupportedException);
00859   
00883   void GetObjectById(in IToiOperationManager::TToiOperationId operationId, 
00884         in string objectId, 
00885         in TToiPropertyIdSequence propertyFilter)
00886    raises (TToiInvalidArgumentException, TToiOperationNotSupportedException);
00887   
00939   void Search(in IToiOperationManager::TToiOperationId operationId, 
00940         in string containerId, 
00941         in string searchCriteria, 
00942         in TToiPropertyIdSequence propertyFilter, 
00943         in TToiSortIdSequence sortCriteria, 
00944         in long startIndex, 
00945         in long count)
00946    raises (TToiInvalidArgumentException, TToiOperationNotSupportedException);
00947   
00961   void GetPropertyInfoById(in TToiPropertyId id, 
00962         out string name, 
00963         out TToiPropertyType type)
00964    raises (TToiInvalidArgumentException);
00965   
00977   void GetPropertyIdByName(in string name, 
00978         out TToiPropertyId id)
00979    raises (TToiInvalidArgumentException);
00980   
01007   void GetOperationObjectResult(in IToiOperationManager::TToiOperationId operationId, 
01008         in long maxCount, 
01009         out TToiCdsObjectSequence objects, 
01010         out boolean hasMore)
01011    raises (TToiInvalidArgumentException, TToiNoDataException);
01012   
01031   void GetOperationCapabilityResult(in IToiOperationManager::TToiOperationId operationId, 
01032         out TToiCdsCapabilities capabilities)
01033    raises (TToiInvalidArgumentException, TToiNoDataException);
01034   
01053   //@ [ReturnAddress(Type=IToiOperationManager)]
01054   
01055   
01056   void GetCdsOperationManager(out string address);
01057   
01064   void GetServerUuid(out string uuid);
01065   
01070   //@ [ReleaseInstance]
01071   
01072   
01073   void ReleaseInstance();
01074   
01075   
01076   
01089   void RegisterObserver(in IToiApplicationService::TToiApplicationId applicationId,
01090                         in string address)
01091     raises (TToiInvalidArgumentException);
01092   
01101   void ReleaseObserver(in string address)
01102     raises (TToiInvalidArgumentException); 
01103   
01104 };
01105 
01106 #endif