00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- 00002 *-------------------------------------------------------------------- 00003 * 00004 * ToiMediaSession.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 TOIMEDIASESSION_IDL 00016 #define TOIMEDIASESSION_IDL 00017 00018 #include "TToiOperationNotSupportedException.idl" 00019 #include "TToiNoDataException.idl" 00020 #include "TToiNotEnoughResourcesException.idl" 00021 #include "TToiInvalidArgumentException.idl" 00022 #include "TToiSessionViolationException.idl" 00023 #include "ToiEventTarget.idl" 00024 00025 //@ [Struct(Interface=IToiMediaSession,Name=TToiDistributionProperty)] 00026 interface ToiMediaSessionDistributionProperty; 00027 //@ [Struct(Interface=IToiMediaSession,Name=TToiDistributionInfo)] 00028 interface ToiMediaSessionDistributionInfo; 00029 //@ [Struct(Interface=IToiMediaSession,Name=TToiStreamInfo)] 00030 interface ToiMediaSessionStreamInfo; 00031 00049 //@ [EventTarget(EventObserver=IToiMediaSessionObserver)] 00050 00051 //@ [ReleaseInstance(Method=ReleaseInstance)] 00052 interface ToiMediaSession : ToiEventTarget { 00053 00056 00060 const long ON_PARAMETER_CHANGED = 1900; 00061 00063 00066 //@ [Enum] 00067 typedef long TToiState; 00070 00081 //@ [Enumerator(Enum=TToiState,Name=STATE_CONNECTING)] 00082 const TToiState STATE_CONNECTING = 0; 00083 00091 //@ [Enumerator(Enum=TToiState,Name=STATE_RUNNING)] 00092 const TToiState STATE_RUNNING = 1; 00093 00099 //@ [Enumerator(Enum=TToiState,Name=STATE_FAILED)] 00100 const TToiState STATE_FAILED = 2; 00101 00108 //@ [Enumerator(Enum=TToiState,Name=STATE_CLOSED)] 00109 const TToiState STATE_CLOSED = 3; 00110 00112 00116 typedef long TToiDistributionId; 00117 00120 typedef sequence < TToiDistributionId > TToiDistributionIdSequence; 00121 00124 typedef sequence < ToiMediaSessionDistributionProperty > TToiDistributionPropertySequence; 00125 00128 typedef sequence < octet > TToiDataRelayData; 00129 00131 typedef long TToiStreamId; 00132 00135 typedef sequence < TToiStreamId > TToiStreamIdSequence; 00136 00139 typedef sequence < octet > TToiCipherData; 00140 00142 typedef long TToiSessionId; 00143 00146 typedef long TToiSessionType; 00147 00152 const TToiSessionType TYPE_PLAYER = 1; 00153 00158 const TToiSessionType TYPE_RECORDER = 2; 00159 00164 const TToiSessionType TYPE_CONSUMER = 4; 00165 00170 const TToiSessionType TYPE_DISTRIBUTOR = 8; 00171 00177 const TToiSessionType TYPE_EXTENDED = 16; 00178 00185 const string PROPERTY_DISTRIBUTION_PROTOCOL_TYPE = "distribution.protocol.type"; 00186 00193 const string PROPERTY_DISTRIBUTION_DRM_TYPE = "distribution.drm.type"; 00194 00200 const string PROPERTY_DISTRIBUTION_CLIENT_MAC_ADDRESS = "distribution.client.macaddress"; 00201 00209 const string PROPERTY_DISTRIBUTION_TRANSCODING_AUDIO_LANGUAGE = "distribution.transcoding.audiolanguage"; 00210 00217 const string PROPERTY_DISTRIBUTION_TRANSCODING_DVS_ENABLED = "distribution.transcoding.dvsenabled"; 00218 00226 const string PROPERTY_DISTRIBUTION_STARTPOSITION = "distribution.media.startposition"; 00227 00236 const string PROPERTY_DISTRIBUTION_TIMESHIFT_ASSET = "distribution.media.timeshift.asset"; 00237 00240 //@ [Enum] 00241 typedef long TToiCipher; 00244 00250 //@ [Enumerator(Enum=TToiCipher,Name=CIPHER_NONE)] 00251 const TToiCipher CIPHER_NONE = 0; 00252 00258 //@ [Enumerator(Enum=TToiCipher,Name=CIPHER_DVB_CSA)] 00259 const TToiCipher CIPHER_DVB_CSA = 1; 00260 00266 //@ [Enumerator(Enum=TToiCipher,Name=CIPHER_ARIB_MULTI2)] 00267 const TToiCipher CIPHER_ARIB_MULTI2 = 2; 00268 00274 //@ [Enumerator(Enum=TToiCipher,Name=CIPHER_AES_128)] 00275 const TToiCipher CIPHER_AES_128 = 3; 00276 00282 //@ [Enumerator(Enum=TToiCipher,Name=CIPHER_TRIPLE_DES)] 00283 const TToiCipher CIPHER_TRIPLE_DES = 4; 00284 00286 00288 //@ [Enum] 00289 typedef long TToiCipherBlockMode; 00292 00298 //@ [Enumerator(Enum=TToiCipherBlockMode,Name=CIPHER_BLOCK_MODE_NONE)] 00299 const TToiCipherBlockMode CIPHER_BLOCK_MODE_NONE = 0; 00300 00306 //@ [Enumerator(Enum=TToiCipherBlockMode,Name=CIPHER_BLOCK_MODE_ECB)] 00307 const TToiCipherBlockMode CIPHER_BLOCK_MODE_ECB = 1; 00308 00314 //@ [Enumerator(Enum=TToiCipherBlockMode,Name=CIPHER_BLOCK_MODE_CBC)] 00315 const TToiCipherBlockMode CIPHER_BLOCK_MODE_CBC = 2; 00316 00322 //@ [Enumerator(Enum=TToiCipherBlockMode,Name=CIPHER_BLOCK_MODE_CFB)] 00323 const TToiCipherBlockMode CIPHER_BLOCK_MODE_CFB = 3; 00324 00330 //@ [Enumerator(Enum=TToiCipherBlockMode,Name=CIPHER_BLOCK_MODE_OFB)] 00331 const TToiCipherBlockMode CIPHER_BLOCK_MODE_OFB = 4; 00332 00338 //@ [Enumerator(Enum=TToiCipherBlockMode,Name=CIPHER_BLOCK_MODE_CTR)] 00339 const TToiCipherBlockMode CIPHER_BLOCK_MODE_CTR = 5; 00340 00342 00344 //@ [Enum] 00345 typedef long TToiCipherResidueMode; 00348 00354 //@ [Enumerator(Enum=TToiCipherResidueMode,Name=CIPHER_RESIDUE_MODE_NONE)] 00355 const TToiCipherResidueMode CIPHER_RESIDUE_MODE_NONE = 0; 00356 00362 //@ [Enumerator(Enum=TToiCipherResidueMode,Name=CIPHER_RESIDUE_MODE_FRONT)] 00363 const TToiCipherResidueMode CIPHER_RESIDUE_MODE_FRONT = 1; 00364 00370 //@ [Enumerator(Enum=TToiCipherResidueMode,Name=CIPHER_RESIDUE_MODE_BACK)] 00371 const TToiCipherResidueMode CIPHER_RESIDUE_MODE_BACK = 2; 00372 00378 //@ [Enumerator(Enum=TToiCipherResidueMode,Name=CIPHER_RESIDUE_MODE_CTS)] 00379 const TToiCipherResidueMode CIPHER_RESIDUE_MODE_CTS = 3; 00380 00386 //@ [Enumerator(Enum=TToiCipherResidueMode,Name=CIPHER_RESIDUE_MODE_OFB)] 00387 const TToiCipherResidueMode CIPHER_RESIDUE_MODE_OFB = 4; 00388 00390 00404 //@ [OutParam(Name=distributionId,Position=1,IsBinary=0, Bound=0)] 00405 TToiDistributionId enableDistribution() 00406 raises (TToiSessionViolationException); 00407 00430 void setDistributionProperties(in TToiDistributionId distributionId, 00431 in TToiDistributionPropertySequence properties) 00432 raises (TToiInvalidArgumentException, TToiSessionViolationException); 00433 00451 void disableDistribution(in TToiDistributionId distributionId) 00452 raises (TToiSessionViolationException, TToiInvalidArgumentException); 00453 00474 //@ [OutParam(Name=info,Position=2,IsBinary=0, Bound=0)] 00475 ToiMediaSessionDistributionInfo getDistributionInfo(in TToiDistributionId distributionId) 00476 raises (TToiSessionViolationException, TToiInvalidArgumentException); 00477 00491 //@ [OutParam(Name=ids,Position=1,IsBinary=0, Bound=0)] 00492 TToiDistributionIdSequence getDistributionIds() 00493 raises (TToiSessionViolationException); 00494 00501 //@ [OutParam(Name=id,Position=1,IsBinary=0, Bound=0)] 00502 TToiSessionId getId(); 00503 00516 //@ [OutParam(Name=type,Position=1,IsBinary=0, Bound=0)] 00517 TToiSessionType getType() 00518 raises (TToiSessionViolationException); 00519 00530 //@ [OutParam(Name=url,Position=1,IsBinary=0, Bound=0)] 00531 string getUrl() 00532 raises (TToiSessionViolationException); 00533 00544 //@ [OutParam(Name=state,Position=1,IsBinary=0, Bound=0)] 00545 TToiState getState(); 00546 00561 //@ [OutParam(Name=info,Position=1,IsBinary=0, Bound=0)] 00562 ToiMediaSessionStreamInfo getStreamInfo() 00563 raises (TToiNoDataException, TToiSessionViolationException); 00564 00583 //@ [OutParam(Name=assetId,Position=1,IsBinary=0, Bound=0)] 00584 string getAssetId() 00585 raises (TToiOperationNotSupportedException, TToiSessionViolationException); 00586 00603 //@ [OutParam(Name=value,Position=2,IsBinary=0, Bound=0)] 00604 string getParameter(in string name) 00605 raises (TToiInvalidArgumentException, TToiSessionViolationException); 00606 00623 void setParameter(in string name, 00624 in string value) 00625 raises (TToiInvalidArgumentException, TToiSessionViolationException); 00626 00643 //@ [ReleaseInstance] 00644 00645 00646 void releaseInstance(); 00647 00648 }; 00649 00650 #endif