IToiChannelService.idl

00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
00002  *--------------------------------------------------------------------
00003  *
00004  * IToiChannelService.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 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 //@ [Service(Name=ChannelService)]
00038 //@ [EventTarget(EventObserver=IToiChannelObserver)]
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     //Value of TYPE_BOOLEAN = 0
00081     TYPE_BOOLEAN,
00082     
00085     //Value of TYPE_STRING = 1
00086     TYPE_STRING,
00087     
00090     //Value of TYPE_INTEGER = 2
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     //Value of EQUALS = 0
00257     EQUALS,
00258     
00261     //Value of NOT_EQUAL = 1
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   //@ [ReturnAddress(Type=IToiOperationManager)]
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   //@ [ExtendIpcMessage(Out)]
00395   
00396   
00397   void GetChannelsInfo(in TToiChannelIdSequence channels, 
00398         in TToiPropertyIdSequence requestedProperties, 
00399         out TToiChannelInfoSequence channelsInfo)
00400    raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException);
00401   
00420   //@ [ExtendIpcMessage(Out)]
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