summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrzej J. R. Hunt <andrzej@ahunt.org>2012-07-17 23:03:31 +0200
committerMichael Meeks <michael.meeks@suse.com>2012-08-06 10:22:57 +0100
commit6368d371b00cc3f62530b9b95bf04ad07f24319a (patch)
tree86377046c1b2cbd9d0f710f1465e42d26337595d
parentd57230d33811aa317b53e12c3d81f5d7d7bc93c8 (diff)
Fixed constructor issue in Listener, fixed usage of Transmitter.
Change-Id: I875cb1fba51faadafd8f7f0e34ef6b56a818bb7a
-rw-r--r--android/sdremote/src/org/libreoffice/impressremote/communication/Client.java1
-rw-r--r--android/sdremote/src/org/libreoffice/impressremote/communication/Receiver.java1
-rw-r--r--sd/source/ui/remotecontrol/Listener.cxx73
-rw-r--r--sd/source/ui/remotecontrol/Listener.hxx8
-rw-r--r--sd/source/ui/remotecontrol/Receiver.cxx7
-rw-r--r--sd/source/ui/remotecontrol/Server.cxx21
-rw-r--r--sd/source/ui/remotecontrol/Transmitter.cxx4
7 files changed, 58 insertions, 57 deletions
diff --git a/android/sdremote/src/org/libreoffice/impressremote/communication/Client.java b/android/sdremote/src/org/libreoffice/impressremote/communication/Client.java
index d4c1c4e05d69..98f713b184fa 100644
--- a/android/sdremote/src/org/libreoffice/impressremote/communication/Client.java
+++ b/android/sdremote/src/org/libreoffice/impressremote/communication/Client.java
@@ -56,6 +56,7 @@ public abstract class Client {
String aTemp;
// read until empty line
while ((aTemp = aReader.readLine()).length() != 0) {
+ System.out.println("Read:" + aTemp);
aList.add(aTemp);
}
mReceiver.parseCommand(aList);
diff --git a/android/sdremote/src/org/libreoffice/impressremote/communication/Receiver.java b/android/sdremote/src/org/libreoffice/impressremote/communication/Receiver.java
index e26ef3128295..8418cab550b5 100644
--- a/android/sdremote/src/org/libreoffice/impressremote/communication/Receiver.java
+++ b/android/sdremote/src/org/libreoffice/impressremote/communication/Receiver.java
@@ -25,6 +25,7 @@ public class Receiver {
}
public void parseCommand(ArrayList<String> aCommand) {
+ System.out.println("parsing " +aCommand.get(0));
if (mActivityMessenger == null) {
return;
}
diff --git a/sd/source/ui/remotecontrol/Listener.cxx b/sd/source/ui/remotecontrol/Listener.cxx
index 25f51077221e..a13752f05fbf 100644
--- a/sd/source/ui/remotecontrol/Listener.cxx
+++ b/sd/source/ui/remotecontrol/Listener.cxx
@@ -10,26 +10,39 @@
#include <comphelper/processfactory.hxx>
#include <com/sun/star/presentation/XPresentationSupplier.hpp>
#include <com/sun/star/presentation/XPresentation2.hpp>
+
+#include <rtl/strbuf.hxx>
+
#include "Listener.hxx"
using namespace sd;
using namespace ::com::sun::star::presentation;
using namespace ::com::sun::star::frame;
using rtl::OString;
+using rtl::OStringBuffer;
-Listener::Listener( sd::Transmitter& rTransmitter )
+Listener::Listener( sd::Transmitter *aTransmitter )
: ::cppu::WeakComponentImplHelper1< XSlideShowListener>( m_aMutex )
{
+ fprintf( stderr, "Creating Transmitter\n" );
+ mTransmitter = aTransmitter;
}
-void Listener::init(css::uno::Reference< css::presentation::XSlideShowController > aController)
+Listener::~Listener()
{
- aController->addSlideShowListener(static_cast<XSlideShowListener*>(this));
}
-
-
+void Listener::init(css::uno::Reference< css::presentation::XSlideShowController >& aController)
+{
+ fprintf( stderr, "Initing Transmitter\n" );
+ if (aController.is() )
+ {
+// mController = aController;
+ aController->addSlideShowListener(static_cast<XSlideShowListener*>(this));-
+ }
+ fprintf( stderr, "Initiated Transmitter\n" );
+}
//----- XAnimationListener ----------------------------------------------------
void SAL_CALL Listener::beginEvent(const css::uno::Reference<
@@ -46,10 +59,11 @@ void SAL_CALL Listener::endEvent( const css::uno::Reference<
}
void SAL_CALL Listener::repeat( const css::uno::Reference<
- css::animations::XAnimationNode >& rNode, ::sal_Int32 Repeat )
+ css::animations::XAnimationNode >& rNode, ::sal_Int32 aRepeat )
throw (css::uno::RuntimeException)
{
(void) rNode;
+ (void) aRepeat;
}
@@ -68,40 +82,16 @@ void SAL_CALL Listener::resumed (void)
void SAL_CALL Listener::slideEnded (sal_Bool bReverse)
throw (css::uno::RuntimeException)
{
+ fprintf( stderr, "slideEnded\n" );
(void) bReverse;
- fprintf( stderr, "slidenede\n" );
-// (void) bReverse;
-// JsonBuilder *aBuilder = json_builder_new();
-//
-//
-// json_builder_begin_object( aBuilder );
-// json_builder_set_member_name( aBuilder, "slide_number");
-// json_builder_add_int_value( aBuilder, 2 );
-// // FIXME: get the slide number
-// json_builder_end_object( aBuilder );
-//
-// JsonGenerator *aGen = json_generator_new();
-// JsonNode *aRoot = json_builder_get_root( aBuilder );
-// json_generator_set_root( aGen, aRoot );
-// char *aCommand = json_generator_to_data( aGen, NULL);
-//
-// json_node_free( aRoot );
-// g_object_unref ( aGen );
-// g_object_unref ( aBuilder );
-//
-// sal_Int32 aLen = strlen( aCommand );
-//
-// OString aLengthString = OString::valueOf( aLen );
-// const char *aLengthChar = aLengthString.getStr();
-//
-// sal_Int32 aLengthLength = aLengthString.getLength();
-//
-// mStreamSocket.write( aLengthChar, aLengthLength );
-// mStreamSocket.write( "\n", 1 );
-// mStreamSocket.write( aCommand, aLen );
-// // Transmit here.
-//
-// g_free( aCommand );
+ sal_Int32 aSlide = mController->getCurrentSlideIndex();
+
+ OStringBuffer aBuilder( "slide_updated\n" );
+ aBuilder.append( OString::valueOf( aSlide ) );
+ aBuilder.append( "\n\n" );
+
+ mTransmitter->addMessage( aBuilder.makeStringAndClear() ,
+ Transmitter::Priority::HIGH );
}
void SAL_CALL Listener::hyperLinkClicked (const rtl::OUString &)
@@ -112,17 +102,19 @@ void SAL_CALL Listener::hyperLinkClicked (const rtl::OUString &)
void SAL_CALL Listener::slideTransitionStarted (void)
throw (css::uno::RuntimeException)
{
+ fprintf( stderr, "slideTransitionStarted\n" );
}
void SAL_CALL Listener::slideTransitionEnded (void)
throw (css::uno::RuntimeException)
{
- fprintf( stderr, "slidetreatasdfanede\n" );
+ fprintf( stderr, "slideTransitionEnded\n" );
}
void SAL_CALL Listener::slideAnimationsEnded (void)
throw (css::uno::RuntimeException)
{
+ fprintf( stderr, "slideAnimationsEnded\n" );
}
void SAL_CALL Listener::disposing (void)
@@ -134,6 +126,7 @@ void SAL_CALL Listener::disposing (
const css::lang::EventObject& rEvent)
throw (::com::sun::star::uno::RuntimeException)
{
+ (void) rEvent;
// FIXME: disconnect as appropriate
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ \ No newline at end of file
diff --git a/sd/source/ui/remotecontrol/Listener.hxx b/sd/source/ui/remotecontrol/Listener.hxx
index e05c25978c56..a70ede14fa3c 100644
--- a/sd/source/ui/remotecontrol/Listener.hxx
+++ b/sd/source/ui/remotecontrol/Listener.hxx
@@ -28,8 +28,9 @@ class Listener
public ::cppu::WeakComponentImplHelper1< css::presentation::XSlideShowListener >
{
public:
- Listener( sd::Transmitter& rTransmitter );
- void init( css::uno::Reference< css::presentation::XSlideShowController > aController);
+ Listener( sd::Transmitter *aTransmitter );
+ ~Listener();
+ void init( css::uno::Reference< css::presentation::XSlideShowController >& aController);
// XAnimationListener
virtual void SAL_CALL beginEvent(const css::uno::Reference<
@@ -57,8 +58,9 @@ public:
throw (com::sun::star::uno::RuntimeException);
private:
- css::uno::Reference<css::presentation::XSlideShowController> mxSlideShowController;
osl::StreamSocket mStreamSocket;
+ sd::Transmitter *mTransmitter;
+ css::uno::Reference< css::presentation::XSlideShowController > mController;
};
}
#endif // _SD_IMPRESSREMOTE_LISTENER_HXX
diff --git a/sd/source/ui/remotecontrol/Receiver.cxx b/sd/source/ui/remotecontrol/Receiver.cxx
index 28f01be0a6c6..153ffc51dc92 100644
--- a/sd/source/ui/remotecontrol/Receiver.cxx
+++ b/sd/source/ui/remotecontrol/Receiver.cxx
@@ -42,9 +42,6 @@ Receiver::~Receiver()
void Receiver::parseCommand( std::vector<OString> aCommand )
{
- fprintf( stderr, "Parsing:\n");
- for (size_t i = 0; i < aCommand.size(); i++)
- {
uno::Reference<presentation::XSlideShowController> xSlideShowController;
uno::Reference<presentation::XPresentation2> xPresentation;
try {
@@ -113,7 +110,7 @@ void Receiver::parseCommand( std::vector<OString> aCommand )
}
}
// FIXME: remove later, this is just to test functionality
- //sendPreview( 0, xSlideShowController, mTransmitter );
+ sendPreview( 0, xSlideShowController, mTransmitter );
}
@@ -190,8 +187,6 @@ preparePreview(sal_uInt32 aSlideNumber,
xFilter->filter( aProps );
- fprintf( stderr, "%s\n", rtl::OUStringToOString( aFileURL , RTL_TEXTENCODING_UTF8 ).getStr() );
-
// FIXME: error handling.
File aFile( aFileURL );
diff --git a/sd/source/ui/remotecontrol/Server.cxx b/sd/source/ui/remotecontrol/Server.cxx
index ad17ac4d58fc..748cbf9a13f0 100644
--- a/sd/source/ui/remotecontrol/Server.cxx
+++ b/sd/source/ui/remotecontrol/Server.cxx
@@ -10,6 +10,8 @@
#include <algorithm>
#include <vector>
+#include <comphelper/processfactory.hxx>
+
#include "sddll.hxx"
#include "Server.hxx"
#include "Receiver.hxx"
@@ -32,13 +34,13 @@ Server::~Server()
// Run as a thread
void Server::listenThread()
{
- Transmitter aTransmitter( mStreamSocket );
- mTransmitter = &aTransmitter;
- Receiver aReceiver( &aTransmitter );
+// Transmitter aTransmitter( mStreamSocket );
+ mTransmitter = new Transmitter( mStreamSocket);
+ Receiver aReceiver( mTransmitter );
+ mTransmitter->addMessage( "Hello world\n\n", Transmitter::Priority::HIGH );
- uno::Reference<presentation::XSlideShowController> xSlideShowController;
- uno::Reference<presentation::XPresentation2> xPresentation;
try {
+ fprintf( stderr, "Trying to add a Listener in listenThread\n" );
uno::Reference< lang::XMultiServiceFactory > xServiceManager(
::comphelper::getProcessServiceFactory(), uno::UNO_QUERY_THROW );
uno::Reference< frame::XFramesSupplier > xFramesSupplier( xServiceManager->createInstance(
@@ -50,11 +52,13 @@ void Server::listenThread()
if ( xPresentation->isRunning() )
{
presentationStarted( xPresentation->getController() );
+ fprintf( stderr, "Added the listener\n");
}
+ fprintf( stderr, "We aren't running\n" );
}
catch ( com::sun::star::uno::RuntimeException &e )
{
- //return;
+ fprintf( stderr, "Exeption on add\n" );
}
@@ -95,6 +99,7 @@ void Server::listenThread()
// TODO: deal with transmision errors gracefully.
}
+ delete mTransmitter;
mTransmitter = NULL;
}
@@ -127,8 +132,10 @@ void Server::presentationStarted( css::uno::Reference<
{
if ( mTransmitter )
{
- Listener* aListener = new Listener( *mTransmitter );
+ fprintf( stderr, "Adding Listener on start of presentation.\n" );
+ Listener* aListener = new Listener( mTransmitter );
aListener->init( rController );
+ fprintf( stderr, "Added the listener as desired.\n" );
}
}
diff --git a/sd/source/ui/remotecontrol/Transmitter.cxx b/sd/source/ui/remotecontrol/Transmitter.cxx
index 276fc89bc442..bc25355a1bcf 100644
--- a/sd/source/ui/remotecontrol/Transmitter.cxx
+++ b/sd/source/ui/remotecontrol/Transmitter.cxx
@@ -26,6 +26,7 @@ Transmitter::Transmitter( StreamSocket &aSocket )
void
Transmitter::execute()
{
+ fprintf( stderr, "Waiting\n" );
while( mQueuesNotEmpty.wait() )
{
while ( true )
@@ -35,6 +36,7 @@ Transmitter::execute()
{
OString aMessage = mHighPriority.front();
mHighPriority.pop();
+ fprintf(stderr , " Writing HIGHP:\n%s<<END>>", aMessage.getStr() );
mStreamSocket.write( aMessage.getStr(), aMessage.getLength() );
}
@@ -42,10 +44,10 @@ Transmitter::execute()
{
OString aMessage = mLowPriority.front();
mLowPriority.pop();
+ fprintf(stderr , " Writing LOWP:\n%s<<END>>", aMessage.getStr() );
mStreamSocket.write( aMessage.getStr(), aMessage.getLength() );
}
- //fprintf( stderr, "Lowsize:%i, Highsize:%i\n", mLowPriority.size(), mHighPriority.size() );
if ( (mLowPriority.size() == 0) && (mHighPriority.size() == 0) )
{
mQueuesNotEmpty.reset();