IToiChannelService.idl
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef ITOICHANNELSERVICE_IDL
00016 #define ITOICHANNELSERVICE_IDL
00017
00018 #include "TToiInvalidArgumentException.idl"
00019 #include "TToiNotEnoughResourcesException.idl"
00020 #include "TToiUnhandledValueException.idl"
00021 #include "IToiApplicationService.idl"
00022 #include "IToiOperationManager.idl"
00023 #include "TToiOperationNotSupportedException.idl"
00024 #include "TToiNoDataException.idl"
00025 #include "TToiSessionViolationException.idl"
00026 #include "IToiMediaSession.idl"
00027 #include "IToiFrontendService.idl"
00028
00029 #include "IToiApplicationService.idl"
00037
00038
00039
00040 interface IToiChannelService {
00041
00047
00054 const IToiOperationManager::TToiOperationResult OP_RESULT_CHANNEL_INFO = 1;
00055
00057
00059 typedef string TToiPropertyId;
00060
00062 typedef sequence < TToiPropertyId > TToiPropertyIdSequence;
00063
00065 typedef string TToiPropertyValue;
00066
00068 typedef long TToiChannelId;
00069
00071 typedef sequence < TToiChannelId > TToiChannelIdSequence;
00072
00075 enum TToiPropertyType
00076 {
00077
00080
00081 TYPE_BOOLEAN,
00082
00085
00086 TYPE_STRING,
00087
00090
00091 TYPE_INTEGER
00092 };
00094 struct TToiPropertyDefinition {
00096 IToiChannelService::TToiPropertyId PropertyId;
00098 IToiChannelService::TToiPropertyType Type;
00101 boolean IsSystemDefined;
00102 };
00103
00110
00116 const string PROPERTY_MODULATION_SYSTEM_TYPE = "system.modulationsystemtype";
00117
00122 const string PROPERTY_NETWORK_NAME = "system.networkname";
00123
00128 const string PROPERTY_NETWORK_ID = "system.networkid";
00129
00134 const string PROPERTY_SERVICE_TYPE = "system.servicetype";
00135
00140 const string PROPERTY_SERVICE_PROVIDER = "system.serviceprovider";
00141
00146 const string PROPERTY_SERVICE_ID = "system.serviceid";
00147
00152 const string PROPERTY_SERVICE_NAME = "system.servicename";
00153
00159 const string PROPERTY_LOGICAL_CHANNEL_NUMBER = "system.logicalchannelnumber";
00160
00166 const string PROPERTY_VISIBLE = "system.visible";
00167
00173 const string PROPERTY_FREE = "system.free";
00174
00180 const string PROPERTY_ORIGINAL_NETWORK_ID = "system.originalnetworkid";
00181
00187 const string PROPERTY_TRANSPORT_STREAM_ID = "system.transportstreamid";
00188
00193 const string PROPERTY_DELIVERY_SYSTEM_DESCRIPTOR = "system.deliverysystemdescriptor";
00194
00208 const string PROPERTY_URI = "system.uri";
00209
00217 const string PROPERTY_SOURCE_ID = "system.sourceid";
00218
00224 const string PROPERTY_FREQUENCY = "system.frequency";
00225
00231 const string PROPERTY_MODULATION_FORMAT = "system.modulationformat";
00232
00234
00238 struct TToiProperty {
00240 IToiChannelService::TToiPropertyId Id;
00242 IToiChannelService::TToiPropertyValue Value;
00243 };
00244
00246 typedef sequence < TToiProperty > TToiPropertySequence;
00247
00251 enum TToiConditionOperation
00252 {
00253
00256
00257 EQUALS,
00258
00261
00262 NOT_EQUAL
00263 };
00266 struct TToiQueryCondition {
00268 IToiChannelService::TToiProperty Operand;
00271 IToiChannelService::TToiConditionOperation Operation;
00272 };
00273
00275 typedef sequence < TToiQueryCondition > TToiQueryConditionSequence;
00276
00278 struct TToiChannelInfo {
00280 IToiChannelService::TToiChannelId Id;
00282 string Name;
00284 IToiChannelService::TToiPropertySequence Properties;
00285 };
00286
00288 typedef sequence < TToiChannelInfo > TToiChannelInfoSequence;
00289
00308
00309
00310
00311 void GetOperationManager(out string address);
00312
00328 void GetPropertyDefinition(in TToiPropertyId propertyId,
00329 out TToiPropertyDefinition definition)
00330 raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException);
00331
00364 void RunQuery(in IToiOperationManager::TToiOperationId operationId,
00365 in TToiQueryConditionSequence queryConditions,
00366 in TToiPropertyIdSequence requestedProperties)
00367 raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException);
00368
00394
00395
00396
00397 void GetChannelsInfo(in TToiChannelIdSequence channels,
00398 in TToiPropertyIdSequence requestedProperties,
00399 out TToiChannelInfoSequence channelsInfo)
00400 raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException);
00401
00420
00421
00422
00423 void GetChannelInfoResult(in IToiOperationManager::TToiOperationId operationId,
00424 out TToiChannelInfoSequence results)
00425 raises (TToiInvalidArgumentException, TToiNoDataException);
00426
00427
00428
00441 void RegisterObserver(in IToiApplicationService::TToiApplicationId applicationId,
00442 in string address)
00443 raises (TToiInvalidArgumentException);
00444
00453 void ReleaseObserver(in string address)
00454 raises (TToiInvalidArgumentException);
00455
00456 };
00457
00458 #endif