IMediaDistributor.idl

00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
00002  *--------------------------------------------------------------------
00003  *
00004  * IMediaDistributor.idl
00005  *
00006  * Copyright (c) 2009, 2011 Motorola, Inc. All Rights Reserved.
00007  *
00008  *--------------------------------------------------------------------
00009  */
00010 
00011 #ifndef IMEDIADISTRIBUTOR_IDL
00012 #define IMEDIADISTRIBUTOR_IDL
00013 
00014 #include "IToiMediaSession.idl"
00015 #include "TToiSessionViolationException.idl"
00016 #include "TToiInvalidArgumentException.idl"
00017 #include "TToiOperationNotSupportedException.idl"
00018 #include "TToiPermissionDeniedException.idl"
00019 
00028 //@ [EventTarget(EventObserver=IMediaDistributorObserver)]
00029 //@ [Language=C++]
00030 interface IMediaDistributor
00031 {
00032 
00034   enum TMediaDistributorState
00035   {
00042     STATE_IDLE,
00043 
00055     STATE_CONNECTING,
00056 
00066     STATE_PAUSED,
00067 
00077     STATE_PLAYING,
00078 
00090     STATE_FASTFORWARDING,
00091 
00103     STATE_REWINDING,
00104 
00111     STATE_FAILED
00112   };
00113 
00145   void Open(in string sourceUrl, in string destinationUrl)
00146     raises (TToiSessionViolationException,
00147             TToiInvalidArgumentException);
00148 
00149 
00165   void Close()
00166     raises (TToiSessionViolationException);
00167 
00168 
00199   void Play(in long pace)
00200     raises (TToiSessionViolationException,
00201             TToiOperationNotSupportedException,
00202             TToiInvalidArgumentException);
00203 
00204 
00209   void GetState(out TMediaDistributorState state);
00210 
00222   void GetSessionId(out IToiMediaSession::TToiSessionId id)
00223     raises (TToiSessionViolationException);
00224 
00233   void GetSourceUrl(out string url)
00234     raises (TToiSessionViolationException);
00235 
00257   void SetParameter(in string name, in string value)
00258     raises (TToiInvalidArgumentException,
00259             TToiPermissionDeniedException);
00260 
00261 
00281   void UnsetParameter(in string name)
00282     raises (TToiInvalidArgumentException,
00283             TToiPermissionDeniedException);
00284 
00285 
00296   void GetParameter(in string name, out string value)
00297     raises (TToiInvalidArgumentException);
00298 
00299 
00312   void SubscribeParameter(in string name)
00313     raises (TToiInvalidArgumentException);
00314 
00315 
00328   void UnsubscribeParameter(in string name)
00329     raises (TToiInvalidArgumentException);
00330 
00334   //@ [ReleaseInstance]
00335   void ReleaseInstance();
00336 
00339   void RegisterObserverInternal(in string address)
00340     raises (TToiInvalidArgumentException);
00341 
00342   void ReleaseObserverInternal(in string address)
00343     raises (TToiInvalidArgumentException);
00344 
00345 };
00346 
00347 #endif