diff --git a/livesupport/modules/playlistExecutor/include/LiveSupport/PlaylistExecutor/AudioPlayerInterface.h b/livesupport/modules/playlistExecutor/include/LiveSupport/PlaylistExecutor/AudioPlayerInterface.h index bdda8b2db..0e05c1ab2 100644 --- a/livesupport/modules/playlistExecutor/include/LiveSupport/PlaylistExecutor/AudioPlayerInterface.h +++ b/livesupport/modules/playlistExecutor/include/LiveSupport/PlaylistExecutor/AudioPlayerInterface.h @@ -21,8 +21,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Author : $Author: maroy $ - Version : $Revision: 1.10 $ + Author : $Author: fgerlits $ + Version : $Revision: 1.11 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/playlistExecutor/include/LiveSupport/PlaylistExecutor/AudioPlayerInterface.h,v $ ------------------------------------------------------------------------------*/ @@ -68,8 +68,8 @@ using namespace LiveSupport::Core; /** * A generic interface for playing audio files. * - * @author $Author: maroy $ - * @version $Revision: 1.10 $ + * @author $Author: fgerlits $ + * @version $Revision: 1.11 $ */ class AudioPlayerInterface { @@ -106,7 +106,7 @@ class AudioPlayerInterface * @see #detach */ virtual void - attachListener(Ptr::Ref eventListener) + attachListener(AudioPlayerEventListener* eventListener) throw () = 0; /** @@ -120,7 +120,7 @@ class AudioPlayerInterface * @see #attach */ virtual void - detachListener(Ptr::Ref eventListener) + detachListener(AudioPlayerEventListener* eventListener) throw (std::invalid_argument) = 0; /** diff --git a/livesupport/modules/playlistExecutor/src/HelixPlayer.cxx b/livesupport/modules/playlistExecutor/src/HelixPlayer.cxx index afdb0382a..3c987b90d 100644 --- a/livesupport/modules/playlistExecutor/src/HelixPlayer.cxx +++ b/livesupport/modules/playlistExecutor/src/HelixPlayer.cxx @@ -21,8 +21,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Author : $Author: maroy $ - Version : $Revision: 1.19 $ + Author : $Author: fgerlits $ + Version : $Revision: 1.20 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/playlistExecutor/src/Attic/HelixPlayer.cxx,v $ ------------------------------------------------------------------------------*/ @@ -273,7 +273,7 @@ HelixPlayer :: deInitialize(void) throw () * Attach an event listener. *----------------------------------------------------------------------------*/ void -HelixPlayer :: attachListener(Ptr::Ref eventListener) +HelixPlayer :: attachListener(AudioPlayerEventListener* eventListener) throw () { listeners.push_back(eventListener); @@ -284,14 +284,14 @@ HelixPlayer :: attachListener(Ptr::Ref eventListener) * Detach an event listener. *----------------------------------------------------------------------------*/ void -HelixPlayer :: detachListener(Ptr::Ref eventListener) +HelixPlayer :: detachListener(AudioPlayerEventListener* eventListener) throw (std::invalid_argument) { ListenerVector::iterator it = listeners.begin(); ListenerVector::iterator end = listeners.end(); while (it != end) { - if ((*it).get() == eventListener.get()) { + if (*it == eventListener) { listeners.erase(it); return; } diff --git a/livesupport/modules/playlistExecutor/src/HelixPlayer.h b/livesupport/modules/playlistExecutor/src/HelixPlayer.h index 17e9999a4..10de32164 100644 --- a/livesupport/modules/playlistExecutor/src/HelixPlayer.h +++ b/livesupport/modules/playlistExecutor/src/HelixPlayer.h @@ -21,8 +21,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Author : $Author: maroy $ - Version : $Revision: 1.16 $ + Author : $Author: fgerlits $ + Version : $Revision: 1.17 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/playlistExecutor/src/Attic/HelixPlayer.h,v $ ------------------------------------------------------------------------------*/ @@ -111,8 +111,8 @@ using namespace LiveSupport::Core; * * * - * @author $Author: maroy $ - * @version $Revision: 1.16 $ + * @author $Author: fgerlits $ + * @version $Revision: 1.17 $ */ class HelixPlayer : virtual public Configurable, virtual public AudioPlayerInterface, @@ -198,7 +198,7 @@ class HelixPlayer : virtual public Configurable, * Just a shorthand notation, to make reference to the type * easier. */ - typedef std::vector::Ref> + typedef std::vector ListenerVector; /** @@ -322,7 +322,7 @@ class HelixPlayer : virtual public Configurable, * @see #detach */ virtual void - attachListener(Ptr::Ref eventListener) + attachListener(AudioPlayerEventListener* eventListener) throw (); /** @@ -334,7 +334,7 @@ class HelixPlayer : virtual public Configurable, * @see #attach */ virtual void - detachListener(Ptr::Ref eventListener) + detachListener(AudioPlayerEventListener* eventListener) throw (std::invalid_argument); /** diff --git a/livesupport/modules/playlistExecutor/src/HelixPlayerTest.cxx b/livesupport/modules/playlistExecutor/src/HelixPlayerTest.cxx index 024d6cd44..682822b5d 100644 --- a/livesupport/modules/playlistExecutor/src/HelixPlayerTest.cxx +++ b/livesupport/modules/playlistExecutor/src/HelixPlayerTest.cxx @@ -21,8 +21,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Author : $Author: maroy $ - Version : $Revision: 1.11 $ + Author : $Author: fgerlits $ + Version : $Revision: 1.12 $ Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/playlistExecutor/src/Attic/HelixPlayerTest.cxx,v $ ------------------------------------------------------------------------------*/ @@ -445,39 +445,28 @@ HelixPlayerTest :: eventListenerAttachTest(void) Ptr::Ref listener1(new TestEventListener()); Ptr::Ref listener2(new TestEventListener()); - bool gotException; // try with one listener - helixPlayer->attachListener(listener1); - try { - helixPlayer->detachListener(listener1); - } catch (std::invalid_argument &e) { - CPPUNIT_FAIL(e.what()); - } - gotException = false; - try { - helixPlayer->detachListener(listener1); - } catch (std::invalid_argument &e) { - gotException = true; - } - CPPUNIT_ASSERT(gotException); + helixPlayer->attachListener(listener1.get()); + CPPUNIT_ASSERT_NO_THROW( + helixPlayer->detachListener(listener1.get()) + ); + CPPUNIT_ASSERT_THROW( + helixPlayer->detachListener(listener1.get()), + std::invalid_argument + ); // try with two listeners - helixPlayer->attachListener(listener1); - gotException = false; - try { - helixPlayer->detachListener(listener2); - } catch (std::invalid_argument &e) { - gotException = true; - } - CPPUNIT_ASSERT(gotException); - helixPlayer->attachListener(listener2); - try { - helixPlayer->detachListener(listener1); - } catch (std::invalid_argument &e) { - CPPUNIT_FAIL(e.what()); - } - + helixPlayer->attachListener(listener1.get()); + CPPUNIT_ASSERT_THROW( + helixPlayer->detachListener(listener2.get()), + std::invalid_argument + ); + helixPlayer->attachListener(listener2.get()); + CPPUNIT_ASSERT_NO_THROW( + helixPlayer->detachListener(listener1.get()); + ); + helixPlayer->deInitialize(); } @@ -493,15 +482,13 @@ HelixPlayerTest :: eventListenerTest(void) Ptr::Ref sleepT(new time_duration(microseconds(10))); Ptr::Ref listener1(new TestEventListener()); - helixPlayer->attachListener(listener1); + helixPlayer->attachListener(listener1.get()); // try with one listener CPPUNIT_ASSERT(!listener1->stopFlag); - try { + CPPUNIT_ASSERT_NO_THROW( helixPlayer->open("file:var/test.mp3"); - } catch (std::invalid_argument &e) { - CPPUNIT_FAIL(e.what()); - } + ); CPPUNIT_ASSERT(!helixPlayer->isPlaying()); CPPUNIT_ASSERT(!listener1->stopFlag); helixPlayer->start(); @@ -517,15 +504,13 @@ HelixPlayerTest :: eventListenerTest(void) // try with two listeners Ptr::Ref listener2(new TestEventListener()); - helixPlayer->attachListener(listener2); + helixPlayer->attachListener(listener2.get()); CPPUNIT_ASSERT(!listener1->stopFlag); CPPUNIT_ASSERT(!listener2->stopFlag); - try { + CPPUNIT_ASSERT_NO_THROW( helixPlayer->open("file:var/test.mp3"); - } catch (std::invalid_argument &e) { - CPPUNIT_FAIL(e.what()); - } + ); CPPUNIT_ASSERT(!helixPlayer->isPlaying()); CPPUNIT_ASSERT(!listener1->stopFlag); CPPUNIT_ASSERT(!listener2->stopFlag); @@ -545,14 +530,13 @@ HelixPlayerTest :: eventListenerTest(void) listener2->stopFlag = false; // try with only the second listener - helixPlayer->detachListener(listener1); - + CPPUNIT_ASSERT_NO_THROW( + helixPlayer->detachListener(listener1.get()); + ); CPPUNIT_ASSERT(!listener2->stopFlag); - try { + CPPUNIT_ASSERT_NO_THROW( helixPlayer->open("file:var/test.mp3"); - } catch (std::invalid_argument &e) { - CPPUNIT_FAIL(e.what()); - } + ); CPPUNIT_ASSERT(!helixPlayer->isPlaying()); CPPUNIT_ASSERT(!listener2->stopFlag); helixPlayer->start(); @@ -566,7 +550,6 @@ HelixPlayerTest :: eventListenerTest(void) CPPUNIT_ASSERT(listener2->stopFlag); listener2->stopFlag = false; - helixPlayer->close(); helixPlayer->deInitialize(); }