[Libreoffice-commits] .: Branch 'feature/tubes2' - sc/source
Will Thompson
wjt at kemper.freedesktop.org
Fri Mar 23 10:43:11 PDT 2012
sc/source/ui/collab/collab.cxx | 6 ++----
sc/source/ui/collab/sendfunc.cxx | 12 ++++++------
sc/source/ui/inc/collab.hxx | 12 +++++-------
3 files changed, 13 insertions(+), 17 deletions(-)
New commits:
commit 762ed00a6b9ee7fbbbf88b59ad751223d0d70227
Author: Will Thompson <will.thompson at collabora.co.uk>
Date: Fri Mar 23 17:40:21 2012 +0000
Replace file received link with a signal.
diff --git a/sc/source/ui/collab/collab.cxx b/sc/source/ui/collab/collab.cxx
index a68ba45..4c02045 100644
--- a/sc/source/ui/collab/collab.cxx
+++ b/sc/source/ui/collab/collab.cxx
@@ -31,9 +31,8 @@
#include <tubes/conference.hxx>
#include <tubes/contact-list.hxx>
-ScCollaboration::ScCollaboration( const Link& rLinkFile )
+ScCollaboration::ScCollaboration()
:
- maLinkFile( rLinkFile ),
mpAccount( NULL),
mpContact( NULL),
mpManager( NULL)
@@ -57,8 +56,7 @@ void ScCollaboration::receivedFile( rtl::OUString &rFileURL )
{
fprintf( stderr, "file recieved '%s'\n",
rtl::OUStringToOString( rFileURL, RTL_TEXTENCODING_UTF8 ).getStr() );
- if ( maLinkFile.IsSet() )
- maLinkFile.Call( &rFileURL );
+ sigFileReceived( &rFileURL );
}
void ScCollaboration::packetReceivedCallback( TeleConference *pConference, TelePacket &rPacket )
diff --git a/sc/source/ui/collab/sendfunc.cxx b/sc/source/ui/collab/sendfunc.cxx
index 38c598f..66db1d2 100644
--- a/sc/source/ui/collab/sendfunc.cxx
+++ b/sc/source/ui/collab/sendfunc.cxx
@@ -262,6 +262,7 @@ public:
}
void packetReceived( TeleConference* pConference, const rtl::OString & );
+ void fileReceived( rtl::OUString *rStr );
DECL_LINK( ReceiveFileCallback, rtl::OUString * );
void RecvMessage( const rtl::OString &rString )
@@ -301,12 +302,12 @@ public:
}
};
-void ScDocFuncRecv::packetReceived( TeleConference* pConference, const rtl::OString &rStr)
+void ScDocFuncRecv::packetReceived( TeleConference*, const rtl::OString &rStr)
{
RecvMessage( rStr);
}
-IMPL_LINK( ScDocFuncRecv, ReceiveFileCallback, rtl::OUString *, pStr )
+void ScDocFuncRecv::fileReceived( rtl::OUString *pStr )
{
fprintf( stderr, "incoming file '%s'\n",
rtl::OUStringToOString( *pStr, RTL_TEXTENCODING_UTF8 ).getStr() );
@@ -362,8 +363,6 @@ IMPL_LINK( ScDocFuncRecv, ReceiveFileCallback, rtl::OUString *, pStr )
fprintf( stderr, "exception when loading '%s' !\n",
rtl::OUStringToOString( e.Message, RTL_TEXTENCODING_UTF8 ).getStr() );
}
-
- return 0;
}
class ScDocFuncSend : public ScDocFunc
@@ -552,10 +551,11 @@ SC_DLLPRIVATE ScDocFunc *ScDocShell::CreateDocFunc()
ScDocFuncRecv* pReceiver = new ScDocFuncRecv( *this, new ScDocFuncDirect( *this ) );
ScDocFuncSend* pSender = new ScDocFuncSend( *this, pReceiver );
bool bOk = true;
- ScCollaboration* pCollab = new ScCollaboration(
- LINK( pReceiver, ScDocFuncRecv, ReceiveFileCallback) );
+ ScCollaboration* pCollab = new ScCollaboration();
pCollab->sigPacketReceived.connect(
boost::bind( &ScDocFuncRecv::packetReceived, pReceiver, _1, _2 ));
+ pCollab->sigFileReceived.connect(
+ boost::bind( &ScDocFuncRecv::fileReceived, pReceiver, _1));
bOk = bOk && pCollab->initManager();
if (!strcmp( pEnv, "master"))
{
diff --git a/sc/source/ui/inc/collab.hxx b/sc/source/ui/inc/collab.hxx
index 0337b79..df059ad 100644
--- a/sc/source/ui/inc/collab.hxx
+++ b/sc/source/ui/inc/collab.hxx
@@ -30,7 +30,6 @@
#define INCLUDED_SC_COLLAB_HXX
#include <sal/config.h>
-#include <tools/link.hxx>
#include <boost/signals2.hpp>
typedef struct _TpContact TpContact;
@@ -44,10 +43,7 @@ class ScCollaboration
{
public:
- /** @param rLink
- Callback when a file is received, called with TeleConference*
- */
- ScCollaboration( const Link& rLinkFile );
+ ScCollaboration();
~ScCollaboration();
bool initManager();
@@ -61,14 +57,16 @@ public:
bool recvPacket( rtl::OString& rString, TeleConference* pConference );
void sendFile( rtl::OUString &rFileURL );
- void receivedFile( rtl::OUString &rFileURL );
+ /** Emitted when a file is received
+ */
+ boost::signals2::signal<void ( rtl::OUString *pFileURL )> sigFileReceived;
/* Internal callbacks */
void packetReceivedCallback( TeleConference *pConference, TelePacket &rPacket );
+ void receivedFile( rtl::OUString &rFileURL );
private:
- Link maLinkFile;
TpAccount* mpAccount;
TpContact* mpContact;
TeleManager* mpManager;
More information about the Libreoffice-commits
mailing list