sd/source/ui/remotecontrol/DiscoveryService.cxx |   83 +++++++++++-------------
 sd/source/ui/remotecontrol/DiscoveryService.hxx |    4 -
 2 files changed, 43 insertions(+), 44 deletions(-)

New commits:
commit d3cbcbad7d160c7b44182cc5142c5cd4e0e1a034
Author: Siqi LIU <m...@siqi.fr>
Date:   Sun Jul 21 14:09:10 2013 +0200

    restore old implementation of autodiscovery to keep android app happy ^^
    
    Change-Id: I33d856c5654cedb0d6bf437bf4653fac8830369c

diff --git a/sd/source/ui/remotecontrol/DiscoveryService.cxx 
b/sd/source/ui/remotecontrol/DiscoveryService.cxx
index b5d4544..cfe7691 100644
--- a/sd/source/ui/remotecontrol/DiscoveryService.cxx
+++ b/sd/source/ui/remotecontrol/DiscoveryService.cxx
@@ -45,18 +45,13 @@ using namespace osl;
 using namespace rtl;
 using namespace sd;
 
-void SAL_CALL DiscoveryService::run()
-{
-
-}
-
 DiscoveryService::DiscoveryService()
 {
-  #ifdef MACOSX
+#ifdef MACOSX
     OSXNetworkService * service = [[OSXNetworkService alloc] init];
     [service publishImpressRemoteServiceOnLocalNetworkWithName: @""];
-  #endif
-  /*
+#endif
+// #else
     mSocket = socket( AF_INET, SOCK_DGRAM, IPPROTO_UDP );
 
     sockaddr_in aAddr;
@@ -79,9 +74,9 @@ DiscoveryService::DiscoveryService()
     multicastRequest.imr_interface.s_addr = htonl(INADDR_ANY);
 
     rc = setsockopt( mSocket, IPPROTO_IP, IP_ADD_MEMBERSHIP,
-#ifdef WNT
+  #ifdef WNT
         (const char*)
-#endif
+  #endif
         &multicastRequest, sizeof(multicastRequest));
 
     if (rc)
@@ -89,43 +84,47 @@ DiscoveryService::DiscoveryService()
         SAL_WARN("sd", "DiscoveryService: setsockopt failed: " << errno);
         return; // would be better to throw, but unsure if caller handles that
     }
-    */
+// #endif
 }
 
 DiscoveryService::~DiscoveryService()
 {
-// #ifdef WNT
-//     closesocket( mSocket );
-// #else
-//     close( mSocket );
+// #ifndef MACOSX
+  #ifdef WNT
+      closesocket( mSocket );
+  #else
+      close( mSocket );
+  #endif
+// #endif
+}
+
+void SAL_CALL DiscoveryService::run()
+{
+// #ifndef MACOSX
+    char aBuffer[BUFFER_SIZE];
+    while ( true )
+    {
+        memset( aBuffer, 0, sizeof(char) * BUFFER_SIZE );
+        sockaddr_in aAddr;
+        socklen_t aLen = sizeof( aAddr );
+        recvfrom( mSocket, aBuffer, BUFFER_SIZE, 0, (sockaddr*) &aAddr, &aLen 
);
+        OString aString( aBuffer, strlen( "LOREMOTE_SEARCH" ) );
+        if ( aString == "LOREMOTE_SEARCH" )
+        {
+            OStringBuffer aStringBuffer("LOREMOTE_ADVERTISE\n");
+            aStringBuffer.append( OUStringToOString(
+                osl::SocketAddr::getLocalHostname(), RTL_TEXTENCODING_UTF8 ) )
+                .append( "\n\n" );
+            if ( sendto( mSocket, aStringBuffer.getStr(),
+                aStringBuffer.getLength(), 0, (sockaddr*) &aAddr,
+                         sizeof(aAddr) ) <= 0 )
+            {
+                // Read error or closed socket -- we are done.
+                return;
+            }
+        }
+    }
 // #endif
-// }
-
-// void SAL_CALL DiscoveryService::run()
-// {
-//     char aBuffer[BUFFER_SIZE];
-//     while ( true )
-//     {
-//         memset( aBuffer, 0, sizeof(char) * BUFFER_SIZE );
-//         sockaddr_in aAddr;
-//         socklen_t aLen = sizeof( aAddr );
-//         recvfrom( mSocket, aBuffer, BUFFER_SIZE, 0, (sockaddr*) &aAddr, 
&aLen );
-//         OString aString( aBuffer, strlen( "LOREMOTE_SEARCH" ) );
-//         if ( aString == "LOREMOTE_SEARCH" )
-//         {
-//             OStringBuffer aStringBuffer("LOREMOTE_ADVERTISE\n");
-//             aStringBuffer.append( OUStringToOString(
-//                 osl::SocketAddr::getLocalHostname(), RTL_TEXTENCODING_UTF8 
) )
-//                 .append( "\n\n" );
-//             if ( sendto( mSocket, aStringBuffer.getStr(),
-//                 aStringBuffer.getLength(), 0, (sockaddr*) &aAddr,
-//                          sizeof(aAddr) ) <= 0 )
-//             {
-//                 // Read error or closed socket -- we are done.
-//                 return;
-//             }
-//         }
-//     }
 }
 
 DiscoveryService *sd::DiscoveryService::spService = NULL;
diff --git a/sd/source/ui/remotecontrol/DiscoveryService.hxx 
b/sd/source/ui/remotecontrol/DiscoveryService.hxx
index a50454b..846b211 100644
--- a/sd/source/ui/remotecontrol/DiscoveryService.hxx
+++ b/sd/source/ui/remotecontrol/DiscoveryService.hxx
@@ -47,8 +47,8 @@ namespace sd
             static DiscoveryService *spService;
             virtual void SAL_CALL run();
 
-//             osl::DatagramSocket mSocket;
-            // int mSocket;
+            // osl::DatagramSocket mSocket;
+            int mSocket;
 
     };
 }
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to