sd/source/ui/inc/Server.hxx | 3 ++- sd/source/ui/remotecontrol/Listener.cxx | 2 +- sd/source/ui/remotecontrol/Receiver.cxx | 1 + sd/source/ui/remotecontrol/Server.cxx | 11 ++++++----- sd/source/ui/remotecontrol/Transmitter.cxx | 16 ++++++++++++---- 5 files changed, 22 insertions(+), 11 deletions(-)
New commits: commit 2fc2fc14f8278d5f956a88a4d8e2b42e1a06d38a Author: Andrzej J. R. Hunt <andr...@ahunt.org> Date: Wed Jul 18 22:04:09 2012 +0200 Further minor improvements, attempt to fix the Transmitter bug. Change-Id: I558b7aca1c592efb5b83b56df42da4a97a655e88 diff --git a/sd/source/ui/inc/Server.hxx b/sd/source/ui/inc/Server.hxx index 9abb24e..8447292 100644 --- a/sd/source/ui/inc/Server.hxx +++ b/sd/source/ui/inc/Server.hxx @@ -16,6 +16,7 @@ #include <sys/types.h> #include <osl/socket.hxx> +#include <rtl/ref.hxx> #include <salhelper/thread.hxx> #include <com/sun/star/presentation/XSlideShowController.hpp> @@ -50,7 +51,7 @@ namespace sd void listenThread(); void execute(); static Transmitter *pTransmitter; - static css::uno::Reference<Listener> mListener; + static rtl::Reference<Listener> mListener; }; } diff --git a/sd/source/ui/remotecontrol/Listener.cxx b/sd/source/ui/remotecontrol/Listener.cxx index 959b076..a21977e 100644 --- a/sd/source/ui/remotecontrol/Listener.cxx +++ b/sd/source/ui/remotecontrol/Listener.cxx @@ -91,7 +91,7 @@ void SAL_CALL Listener::slideEnded (sal_Bool bReverse) if ( pTransmitter ) { fprintf( stderr, "Transmitter is, transmitting.\n" ); - pTransmitter->addMessage( aBuilder.makeStringAndClear() , + pTransmitter->addMessage( aBuilder.makeStringAndClear(), Transmitter::Priority::HIGH ); } fprintf( stderr, "Transmitted\n" ); diff --git a/sd/source/ui/remotecontrol/Receiver.cxx b/sd/source/ui/remotecontrol/Receiver.cxx index f69c98e..86a1a03 100644 --- a/sd/source/ui/remotecontrol/Receiver.cxx +++ b/sd/source/ui/remotecontrol/Receiver.cxx @@ -59,6 +59,7 @@ void Receiver::parseCommand( std::vector<OString> aCommand ) } catch ( com::sun::star::uno::RuntimeException &e ) { + fprintf( stderr, "Error in retrieving Controller\n" ); //return; } diff --git a/sd/source/ui/remotecontrol/Server.cxx b/sd/source/ui/remotecontrol/Server.cxx index 2531047..8ed3b70 100644 --- a/sd/source/ui/remotecontrol/Server.cxx +++ b/sd/source/ui/remotecontrol/Server.cxx @@ -17,6 +17,7 @@ #include "Receiver.hxx" #include "Listener.hxx" + using namespace std; using namespace sd; using namespace ::com::sun::star; @@ -34,8 +35,6 @@ Server::~Server() // Run as a thread void Server::listenThread() { -// Transmitter aTransmitter( mStreamSocket ); -// Transmitter aTransmitter( mStreamSocket); pTransmitter = new Transmitter( mStreamSocket ); pTransmitter->launch(); Receiver aReceiver( pTransmitter ); @@ -100,7 +99,7 @@ void Server::listenThread() // TODO: deal with transmision errors gracefully. } - mListener->disposing(); + mListener->dispose(); mListener = NULL; delete pTransmitter; pTransmitter = NULL; @@ -137,7 +136,9 @@ void Server::presentationStarted( const css::uno::Reference< { Listener *aListener = new Listener( pTransmitter ); aListener->init( rController ); - mListener = css::uno::Reference<Listener>( aListener ); + fprintf( stderr, "presentationStarted:init--done\n"); + mListener = rtl::Reference<Listener>( aListener ); + fprintf( stderr, "presentationStarted:mListener--done\n"); } } @@ -145,7 +146,7 @@ void Server::presentationStarted( const css::uno::Reference< Server *sd::Server::spServer = NULL; Transmitter *sd::Server::pTransmitter = NULL; -css::uno::Reference<Listener> sd::Server::mListener = NULL; +rtl::Reference<Listener> sd::Server::mListener = NULL; void Server::setup() { diff --git a/sd/source/ui/remotecontrol/Transmitter.cxx b/sd/source/ui/remotecontrol/Transmitter.cxx index 341438b..d7cfda0 100644 --- a/sd/source/ui/remotecontrol/Transmitter.cxx +++ b/sd/source/ui/remotecontrol/Transmitter.cxx @@ -23,8 +23,7 @@ Transmitter::Transmitter( StreamSocket &aSocket ) { } -void -Transmitter::execute() +void Transmitter::execute() { fprintf( stderr, "Waiting\n" ); while( mQueuesNotEmpty.wait() ) @@ -32,7 +31,9 @@ Transmitter::execute() fprintf( stderr, "Continuing after condition\n" ); while ( true ) { + fprintf( stderr, "Trying to acquire mutex in Transmitter Thread\n" ); ::osl::MutexGuard aQueueGuard( mQueueMutex ); + fprintf( stderr, "Acquired mutex in Transmitter Thread\n" ); while ( mHighPriority.size() ) { OString aMessage( mHighPriority.front() ); @@ -77,15 +78,22 @@ void Transmitter::addMessage( const OString& aMessage, const Priority aPriority mLowPriority.push( aMessage ); break; case Priority::HIGH: - fprintf(stderr, "PushingHigh\n%s\n", aMessage.getStr() ); + fprintf(stderr, "PushingHigh\n<<<%s>>>\n", aMessage.getStr() ); mHighPriority.push( aMessage ); break; } fprintf( stderr, "Setting\n" ); if ( !mQueuesNotEmpty.check() ) + { mQueuesNotEmpty.set(); + fprintf( stderr, "Condition has now been set\n" ); + } + else + { + fprintf( stderr, "Condition was already set\n" ); + } fprintf( stderr, "Added\n" ); - + fprintf( stderr, "Front:\n<<<%s>>>\n", mHighPriority.front().getStr() ); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits