IToiMediaSession.idl

00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
00002  *--------------------------------------------------------------------
00003  *
00004  * IToiMediaSession.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 ITOIMEDIASESSION_IDL
00016 #define ITOIMEDIASESSION_IDL
00017 
00018 #include "TToiOperationNotSupportedException.idl"
00019 #include "TToiNoDataException.idl"
00020 #include "TToiNotEnoughResourcesException.idl"
00021 #include "TToiInvalidArgumentException.idl"
00022 #include "TToiSessionViolationException.idl"
00023 
00024 #include "IToiApplicationService.idl"
00041 //@ [EventTarget(EventObserver=IToiMediaSessionObserver)]
00042 
00043 interface IToiMediaSession {
00044 
00047   enum TToiState
00048   {
00049     
00057     //Value of STATE_CONNECTING = 0
00058     STATE_CONNECTING,
00059     
00064     //Value of STATE_RUNNING = 1
00065     STATE_RUNNING,
00066     
00069     //Value of STATE_FAILED = 2
00070     STATE_FAILED,
00071     
00075     //Value of STATE_CLOSED = 3
00076     STATE_CLOSED
00077   };
00080   typedef sequence < octet > TToiDataRelayData;
00081   
00083   typedef long TToiStreamId;
00084   
00087   typedef sequence < TToiStreamId > TToiStreamIdSequence;
00088   
00091   typedef sequence < octet > TToiCipherData;
00092   
00094   typedef long TToiSessionId;
00095   
00098   typedef long TToiSessionType;
00099   
00104   const TToiSessionType TYPE_PLAYER = 1;
00105   
00110   const TToiSessionType TYPE_RECORDER = 2;
00111   
00116   const TToiSessionType TYPE_CONSUMER = 4;
00117   
00122   const TToiSessionType TYPE_DISTRIBUTOR = 8;
00123   
00126   struct TToiStreamInfo {
00129     long ProgramNumber;
00130   };
00131   
00134   enum TToiCipher
00135   {
00136     
00139     //Value of CIPHER_NONE = 0
00140     CIPHER_NONE,
00141     
00144     //Value of CIPHER_DVB_CSA = 1
00145     CIPHER_DVB_CSA,
00146     
00149     //Value of CIPHER_ARIB_MULTI2 = 2
00150     CIPHER_ARIB_MULTI2,
00151     
00154     //Value of CIPHER_AES_128 = 3
00155     CIPHER_AES_128,
00156     
00159     //Value of CIPHER_TRIPLE_DES = 4
00160     CIPHER_TRIPLE_DES
00161   };
00164   enum TToiCipherBlockMode
00165   {
00166     
00169     //Value of CIPHER_BLOCK_MODE_NONE = 0
00170     CIPHER_BLOCK_MODE_NONE,
00171     
00174     //Value of CIPHER_BLOCK_MODE_ECB = 1
00175     CIPHER_BLOCK_MODE_ECB,
00176     
00179     //Value of CIPHER_BLOCK_MODE_CBC = 2
00180     CIPHER_BLOCK_MODE_CBC,
00181     
00184     //Value of CIPHER_BLOCK_MODE_CFB = 3
00185     CIPHER_BLOCK_MODE_CFB,
00186     
00189     //Value of CIPHER_BLOCK_MODE_OFB = 4
00190     CIPHER_BLOCK_MODE_OFB,
00191     
00194     //Value of CIPHER_BLOCK_MODE_CTR = 5
00195     CIPHER_BLOCK_MODE_CTR
00196   };
00199   enum TToiCipherResidueMode
00200   {
00201     
00204     //Value of CIPHER_RESIDUE_MODE_NONE = 0
00205     CIPHER_RESIDUE_MODE_NONE,
00206     
00209     //Value of CIPHER_RESIDUE_MODE_FRONT = 1
00210     CIPHER_RESIDUE_MODE_FRONT,
00211     
00214     //Value of CIPHER_RESIDUE_MODE_BACK = 2
00215     CIPHER_RESIDUE_MODE_BACK,
00216     
00219     //Value of CIPHER_RESIDUE_MODE_CTS = 3
00220     CIPHER_RESIDUE_MODE_CTS,
00221     
00224     //Value of CIPHER_RESIDUE_MODE_OFB = 4
00225     CIPHER_RESIDUE_MODE_OFB
00226   };
00233   void GetId(out TToiSessionId id);
00234   
00247   void GetType(out TToiSessionType type)
00248    raises (TToiSessionViolationException);
00249   
00260   void GetUrl(out string url)
00261    raises (TToiSessionViolationException);
00262   
00273   void GetState(out TToiState state);
00274   
00289   void GetStreamInfo(out TToiStreamInfo info)
00290    raises (TToiNoDataException, TToiSessionViolationException);
00291   
00309   void GetAssetId(out string assetId)
00310    raises (TToiOperationNotSupportedException, TToiSessionViolationException);
00311   
00375   //@ [Language=C++]
00376   //@ [CommonLengthParameter=5]
00377   
00378   
00379   void AddSectionDataRelay(in long pid, 
00380         in TToiDataRelayData data, 
00381         in TToiDataRelayData include, 
00382         in TToiDataRelayData exclude, 
00383         in long length, 
00384         in string socketName, 
00385         out long dataRelayId)
00386    raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException, TToiSessionViolationException);
00387   
00417   //@ [Language=C++]
00418   
00419   
00420   void AddPacketDataRelay(in long pid, 
00421         in string socketName, 
00422         out long dataRelayId)
00423    raises (TToiInvalidArgumentException, TToiNotEnoughResourcesException, TToiSessionViolationException);
00424   
00441   //@ [Language=C++]
00442   
00443   
00444   void RemoveDataRelay(in long dataRelayId)
00445    raises (TToiInvalidArgumentException, TToiSessionViolationException);
00446   
00463   void GetParameter(in string name, 
00464         out string value)
00465    raises (TToiInvalidArgumentException, TToiSessionViolationException);
00466   
00483   void SetParameter(in string name, 
00484         in string value)
00485    raises (TToiInvalidArgumentException, TToiSessionViolationException);
00486   
00510   //@ [Language=C++]
00511   //@ [EventFilter(AddressPosition=1)]
00512   
00513   
00514   void SubscribeParameter(in string address, 
00515         in string name)
00516    raises (TToiInvalidArgumentException, TToiSessionViolationException);
00517   
00538   //@ [Language=C++]
00539   //@ [EventFilter(AddressPosition=1)]
00540   
00541   
00542   void UnsubscribeParameter(in string address, 
00543         in string name)
00544    raises (TToiInvalidArgumentException, TToiSessionViolationException);
00545   
00574   //@ [Language=C++]
00575   
00576   
00577   void SetDecryptionCipher(in TToiStreamIdSequence streamIds, 
00578         in TToiCipher cipher, 
00579         in TToiCipherBlockMode blockMode, 
00580         in TToiCipherResidueMode residueMode)
00581    raises (TToiOperationNotSupportedException, TToiSessionViolationException);
00582   
00621   //@ [Language=C++]
00622   //@ [CommonLengthParameter=7]
00623   
00624   
00625   void SetDecryptionKeys(in TToiStreamIdSequence streamIds, 
00626         in boolean isEncrypted, 
00627         in TToiCipherData evenKey, 
00628         in TToiCipherData evenIv, 
00629         in TToiCipherData oddKey, 
00630         in TToiCipherData oddIv, 
00631         in long length)
00632    raises (TToiOperationNotSupportedException, TToiSessionViolationException);
00633   
00643   //@ [ReleaseInstance]
00644   
00645   
00646   void ReleaseInstance();
00647   
00648   
00649   
00662   void RegisterObserver(in IToiApplicationService::TToiApplicationId applicationId,
00663                         in string address)
00664     raises (TToiInvalidArgumentException);
00665   
00674   void ReleaseObserver(in string address)
00675     raises (TToiInvalidArgumentException); 
00676   
00677 };
00678 
00679 #endif