[Libreoffice-commits] core.git: bin/find-german-comments compilerplugins/clang config_host/config_telepathy.h.in config_host.mk.in configure.ac desktop/CppunitTest_desktop_app.mk desktop/Library_sofficeapp.mk desktop/source include/sal include/tubes l10ntools/source RepositoryExternal.mk Repository.mk RepositoryModule_host.mk sc/CppunitTest_sc_ucalc.mk sc/CustomTarget_uiconfig.mk sc/inc sc/Library_sc.mk sc/Module_sc.mk scp2/source sc/sdi sc/source sc/uiconfig sc/UIConfig_scalc.mk solenv/gbuild solenv/qa tubes/CppunitTest_tubes_test.mk tubes/Executable_liboapprover.mk tubes/Library_tubes.mk tubes/LibreOfficeApprover.client tubes/LibreOffice.client tubes/Makefile tubes/Module_tubes.mk tubes/org.freedesktop.Telepathy.Client.LibreOfficeApprover.service tubes/org.freedesktop.Telepathy.Client.LibreOffice.service tubes/qa tubes/README tubes/source tubes/uiconfig tubes/UIConfig_tubes.mk

Markus Mohrhard markus.mohrhard at googlemail.com
Fri Apr 14 01:33:02 UTC 2017


 Repository.mk                                                      |    3 
 RepositoryExternal.mk                                              |   20 
 RepositoryModule_host.mk                                           |    1 
 bin/find-german-comments                                           |    1 
 compilerplugins/clang/reservedid.cxx                               |    2 
 config_host.mk.in                                                  |    3 
 config_host/config_telepathy.h.in                                  |    6 
 configure.ac                                                       |   32 
 desktop/CppunitTest_desktop_app.mk                                 |    1 
 desktop/Library_sofficeapp.mk                                      |    4 
 desktop/source/app/app.cxx                                         |   14 
 include/sal/log-areas.dox                                          |    3 
 include/tubes/collaboration.hxx                                    |   55 
 include/tubes/manager.hxx                                          |  159 
 include/tubes/tubesdllapi.h                                        |   15 
 l10ntools/source/gRun.sh                                           |    2 
 l10ntools/source/localize.cxx                                      |    1 
 sc/CppunitTest_sc_ucalc.mk                                         |    4 
 sc/CustomTarget_uiconfig.mk                                        |   19 
 sc/Library_sc.mk                                                   |    9 
 sc/Module_sc.mk                                                    |    8 
 sc/UIConfig_scalc.mk                                               |    6 
 sc/inc/sc.hrc                                                      |    1 
 sc/sdi/cellsh.sdi                                                  |    1 
 sc/sdi/scalc.sdi                                                   |   18 
 sc/source/ui/collab/sccollaboration.cxx                            |   90 
 sc/source/ui/collab/sendfunc.cxx                                   |  470 --
 sc/source/ui/collab/sendfunc.hxx                                   |   59 
 sc/source/ui/docshell/docsh.cxx                                    |   24 
 sc/source/ui/inc/docsh.hxx                                         |   14 
 sc/source/ui/inc/sccollaboration.hxx                               |   37 
 sc/source/ui/view/cellsh3.cxx                                      |   12 
 sc/uiconfig/scalc/menubar/menubar.xml                              |    1 
 scp2/source/ooo/file_ooo.scp                                       |    6 
 scp2/source/ooo/module_lang_template.scp                           |    3 
 scp2/source/ooo/module_ooo.scp                                     |    3 
 solenv/gbuild/extensions/pre_MergedLibsList.mk                     |    1 
 solenv/qa/python/gbuildtojson.py                                   |    2 
 tubes/CppunitTest_tubes_test.mk                                    |   29 
 tubes/Executable_liboapprover.mk                                   |   21 
 tubes/Library_tubes.mk                                             |   47 
 tubes/LibreOffice.client                                           |   11 
 tubes/LibreOfficeApprover.client                                   |    8 
 tubes/Makefile                                                     |    7 
 tubes/Module_tubes.mk                                              |   30 
 tubes/README                                                       |   82 
 tubes/UIConfig_tubes.mk                                            |   16 
 tubes/org.freedesktop.Telepathy.Client.LibreOffice.service         |    3 
 tubes/org.freedesktop.Telepathy.Client.LibreOfficeApprover.service |    3 
 tubes/qa/test-config.ini.example                                   |    5 
 tubes/qa/test_manager.cxx                                          |  192 -
 tubes/source/approver.c                                            |  235 -
 tubes/source/collaboration.cxx                                     |   68 
 tubes/source/conference.cxx                                        |  574 ---
 tubes/source/conference.hxx                                        |   81 
 tubes/source/constants.h                                           |   35 
 tubes/source/contacts.cxx                                          |  191 -
 tubes/source/contacts.hxx                                          |   64 
 tubes/source/file-transfer-helper.c                                | 1853 ----------
 tubes/source/file-transfer-helper.h                                |  121 
 tubes/source/manager.cxx                                           |  905 ----
 tubes/uiconfig/ui/contacts.ui                                      |  143 
 62 files changed, 1 insertion(+), 5833 deletions(-)

New commits:
commit b7b159d79c2b4ec53915e0b9c3e28912c289a5ba
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Fri Apr 14 02:44:20 2017 +0200

    remove the old collaboration feature based on telepathy
    
    Change-Id: I1f08d6ef43b76e7bae41ac33bb954f506ae7c485
    Reviewed-on: https://gerrit.libreoffice.org/36542
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/Repository.mk b/Repository.mk
index 7c2a7467e247..bdeb21618e63 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -38,7 +38,6 @@ $(eval $(call gb_Helper_register_executables,NONE, \
 	helpex \
 	idxdict \
 	langsupport \
-	$(if $(ENABLE_TELEPATHY),liboapprover) \
 	$(if $(filter IOS,$(OS)),LibreOffice) \
 	libtest \
 	lngconvex \
@@ -426,7 +425,6 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \
 	textfd \
 	tk \
 	tl \
-	$(if $(ENABLE_TELEPATHY),tubes) \
 	ucpexpand1 \
 	ucpext \
 	ucpimage \
@@ -1153,7 +1151,6 @@ $(eval $(call gb_Helper_register_uiconfigs,\
 	sfx \
 	svt \
 	svx \
-	$(if $(ENABLE_TELEPATHY),tubes) \
 	uui \
 	vcl \
 	writerperfect \
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index c7671a336466..6641d2b63a1b 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -2537,26 +2537,6 @@ endef
 endif # ENABLE_DBUS
 
 
-ifeq ($(ENABLE_TELEPATHY),TRUE)
-
-define gb_LinkTarget__use_telepathy
-$(call gb_LinkTarget_set_include,$(1),\
-	$$(INCLUDE) \
-	$(TELEPATHY_CFLAGS) \
-)
-
-$(call gb_LinkTarget_add_libs,$(1),\
-	$(TELEPATHY_LIBS) \
-)
-
-endef
-
-else # !ENABLE_TELEPATHY
-
-gb_LinkTarget__use_telepathy :=
-
-endif # ENABLE_TELEPATHY
-
 ifneq ($(SYSTEM_LIBPNG),)
 
 define gb_LinkTarget__use_png
diff --git a/RepositoryModule_host.mk b/RepositoryModule_host.mk
index c6c0f3d99972..51feb0b9125f 100644
--- a/RepositoryModule_host.mk
+++ b/RepositoryModule_host.mk
@@ -134,7 +134,6 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
 	testtools \
 	toolkit \
 	tools \
-	tubes \
 	ucb \
 	ucbhelper \
 	udkapi \
diff --git a/bin/find-german-comments b/bin/find-german-comments
index fe93a7bc8d25..c160193fc9d5 100755
--- a/bin/find-german-comments
+++ b/bin/find-german-comments
@@ -345,7 +345,6 @@ class Parser:
             "toolkit" : 1,
             "tools" : 1,
             "touch" : 1,
-            "tubes" : 1,
             "ucb" : 1,
             "ucbhelper" : 1,
             "unodevtools" : 1,
diff --git a/compilerplugins/clang/reservedid.cxx b/compilerplugins/clang/reservedid.cxx
index bfb33171e437..c6757199cbf9 100644
--- a/compilerplugins/clang/reservedid.cxx
+++ b/compilerplugins/clang/reservedid.cxx
@@ -151,8 +151,6 @@ bool ReservedId::VisitNamedDecl(NamedDecl const * decl) {
                 // vcl/unx/gtk/xid_fullscreen_on_all_monitors.c
             && s != "_GstVideoOverlay"
                 // avmedia/source/gstreamer/gstplayer.hxx
-            && s != "_TpAccount" && s != "_TpContact"
-                // include/tubes/manager.hxx
             && s != "_XRegion" // vcl/unx/generic/gdi/x11cairotextrender.cxx
             && s != "_XTrap") // vcl/unx/generic/gdi/xrender_peer.hxx
         {
diff --git a/config_host.mk.in b/config_host.mk.in
index e60c80e326ed..480e42fde112 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -170,7 +170,6 @@ export ENABLE_SYMBOLS=@ENABLE_SYMBOLS@
 export ENABLE_SYSTRAY_GTK=@ENABLE_SYSTRAY_GTK@
 export ENABLE_TDE=@ENABLE_TDE@
 export ENABLE_TDEAB=@ENABLE_TDEAB@
-export ENABLE_TELEPATHY=@ENABLE_TELEPATHY@
 export ENABLE_VALGRIND=@ENABLE_VALGRIND@
 export ENABLE_VLC=@ENABLE_VLC@
 export ENABLE_WERROR=@ENABLE_WERROR@
@@ -566,8 +565,6 @@ export TARFILE_LOCATION=@TARFILE_LOCATION@
 export TDE_CFLAGS=$(gb_SPACE)@TDE_CFLAGS@
 export TDE_LIBS=$(gb_SPACE)@TDE_LIBS@
 export TDE_MOC=$(gb_SPACE)@TDE_MOC@
-export TELEPATHY_CFLAGS=$(gb_SPACE)@TELEPATHY_CFLAGS@
-export TELEPATHY_LIBS=$(gb_SPACE)@TELEPATHY_LIBS@
 export TESTINSTALLDIR=@TESTINSTALLDIR@
 export THES_SYSTEM_DIR=@THES_SYSTEM_DIR@
 export TLS=@TLS@
diff --git a/config_host/config_telepathy.h.in b/config_host/config_telepathy.h.in
deleted file mode 100644
index c5310bf505e2..000000000000
--- a/config_host/config_telepathy.h.in
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef CONFIG_TELEPATHY
-#define CONFIG_TELEPATHY
-
-#define ENABLE_TELEPATHY 0
-
-#endif
diff --git a/configure.ac b/configure.ac
index 4308d3081d3a..c70d28c2346c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1263,11 +1263,6 @@ libo_FUZZ_ARG_ENABLE(gio,
         [Determines whether to use the GIO support.]),
 ,test "${enable_gio+set}" = set || enable_gio=yes)
 
-libo_FUZZ_ARG_ENABLE(telepathy,
-    AS_HELP_STRING([--enable-telepathy],
-        [Determines whether to enable Telepathy for collaboration.]),
-,test "${enable_telepathy+set}" = set || enable_telepathy=no)
-
 AC_ARG_ENABLE(tde,
     AS_HELP_STRING([--enable-tde],
         [Determines whether to use TQt/TDE vclplug on platforms where TQt and
@@ -10112,32 +10107,6 @@ AC_SUBST([GTK_PRINT_LIBS])
 
 
 dnl ===================================================================
-dnl Check whether the Telepathy libraries are available.
-dnl ===================================================================
-
-ENABLE_TELEPATHY=""
-TELEPATHY_CFLAGS=""
-TELEPATHY_LIBS=""
-
-AC_MSG_CHECKING([whether to enable Telepathy support])
-if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_telepathy" = "yes"; then
-    ENABLE_TELEPATHY="TRUE"
-    AC_DEFINE(ENABLE_TELEPATHY)
-    AC_MSG_RESULT([yes])
-    PKG_CHECK_MODULES( TELEPATHY, telepathy-glib >= 0.18.0 glib-2.0 gobject-2.0 gthread-2.0 gio-2.0 gtk+-2.0 >= 2.18.0 )
-    TELEPATHY_CFLAGS=$(printf '%s' "$TELEPATHY_CFLAGS" | sed -e "s/-I/${ISYSTEM?}/g")
-    FilterLibs "${TELEPATHY_LIBS}"
-    TELEPATHY_LIBS="${filteredlibs}"
-else
-    AC_MSG_RESULT([no])
-fi
-
-AC_SUBST(ENABLE_TELEPATHY)
-AC_SUBST(TELEPATHY_CFLAGS)
-AC_SUBST(TELEPATHY_LIBS)
-
-
-dnl ===================================================================
 
 SPLIT_APP_MODULES=""
 if test "$enable_split_app_modules" = "yes"; then
@@ -12712,7 +12681,6 @@ AC_CONFIG_HEADERS([config_host/config_oox.h])
 AC_CONFIG_HEADERS([config_host/config_options.h])
 AC_CONFIG_HEADERS([config_host/config_options_calc.h])
 AC_CONFIG_HEADERS([config_host/config_test.h])
-AC_CONFIG_HEADERS([config_host/config_telepathy.h])
 AC_CONFIG_HEADERS([config_host/config_typesizes.h])
 AC_CONFIG_HEADERS([config_host/config_vcl.h])
 AC_CONFIG_HEADERS([config_host/config_vclplug.h])
diff --git a/desktop/CppunitTest_desktop_app.mk b/desktop/CppunitTest_desktop_app.mk
index b809b6a7e8c6..e7d48e04e1a4 100644
--- a/desktop/CppunitTest_desktop_app.mk
+++ b/desktop/CppunitTest_desktop_app.mk
@@ -40,7 +40,6 @@ $(eval $(call gb_CppunitTest_use_libraries,desktop_app, \
     svt \
     tk \
     tl \
-    $(if $(ENABLE_TELEPATHY),tubes) \
     ucbhelper \
     utl \
     vcl \
diff --git a/desktop/Library_sofficeapp.mk b/desktop/Library_sofficeapp.mk
index 1d91403a83bb..29185e08f707 100644
--- a/desktop/Library_sofficeapp.mk
+++ b/desktop/Library_sofficeapp.mk
@@ -158,8 +158,4 @@ $(eval $(call gb_Library_add_exception_objects,sofficeapp,\
 endif
 endif
 
-ifeq ($(ENABLE_TELEPATHY),TRUE)
-$(eval $(call gb_Library_use_libraries,sofficeapp,tubes))
-endif
-
 # vim: set ts=4 sw=4 et:
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index 13e2b6e7564d..10c3d916f886 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -116,12 +116,6 @@
 
 #include "langselect.hxx"
 
-#include <config_telepathy.h>
-
-#if ENABLE_TELEPATHY
-#include <tubes/manager.hxx>
-#endif
-
 #if HAVE_FEATURE_BREAKPAD
 #include <fstream>
 #endif
@@ -534,9 +528,6 @@ Desktop::Desktop()
 
 Desktop::~Desktop()
 {
-#if ENABLE_TELEPATHY
-    TeleManager::finalize();
-#endif
 }
 
 void Desktop::Init()
@@ -1613,11 +1604,6 @@ int Desktop::Main()
     aOptions.SetVCLSettings();
     SetSplashScreenProgress(60);
 
-#if ENABLE_TELEPATHY
-    bool bListen = rCmdLineArgs.IsInvisible();
-    TeleManager::init( bListen );
-#endif
-
     if ( !pExecGlobals->bRestartRequested )
     {
         Application::SetFilterHdl( LINK( this, Desktop, ImplInitFilterHdl ) );
diff --git a/include/sal/log-areas.dox b/include/sal/log-areas.dox
index b0dc5ab2437f..0a1eca0d3658 100644
--- a/include/sal/log-areas.dox
+++ b/include/sal/log-areas.dox
@@ -135,7 +135,6 @@ certain functionality.
 @li @c sc.orcus.style
 @li @c sc.orcus.table
 @li @c sc.qa
- at li @c sc.tubes
 @li @c sc.ui - Calc UI
 @li @c sc.uitest - Calc UI Test part
 @li @c sc.viewdata
@@ -582,8 +581,6 @@ certain functionality.
 @li @c store
 @li @c svg
 @li @c test
- at li @c tubes
- at li @c tubes.method
 @li @c ucbhelper
 @li @c unodevtools
 @li @c unoidl
diff --git a/include/tubes/collaboration.hxx b/include/tubes/collaboration.hxx
deleted file mode 100644
index d07bc168e4da..000000000000
--- a/include/tubes/collaboration.hxx
+++ /dev/null
@@ -1,55 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#ifndef INCLUDED_TUBES_COLLABORATION_HXX
-#define INCLUDED_TUBES_COLLABORATION_HXX
-
-#include <sal/config.h>
-
-#include <rtl/ustring.hxx>
-#include <tubes/tubesdllapi.h>
-#include <vcl/vclptr.hxx>
-
-class TeleConference;
-namespace tubes { class TubeContacts; }
-typedef struct _TpContact TpContact;
-
-class TUBES_DLLPUBLIC Collaboration
-{
-    TeleConference* mpConference;
-    VclPtr<tubes::TubeContacts> mpContacts;
-
-    Collaboration(Collaboration &) = delete;
-    void operator =(Collaboration &) = delete;
-
-public:
-            Collaboration();
-    virtual ~Collaboration();
-
-    /** Returns to normal editing mode */
-    virtual void EndCollaboration() const = 0;
-    virtual void PacketReceived( const OString& rPacket ) const = 0;
-    /** Saves current document and then calls SendFile() with the file URL */
-    virtual void SaveAndSendFile( TpContact* pContact ) const = 0;
-    /** Prepares document for collaboration and should call SetConference() */
-    virtual void StartCollaboration( TeleConference* pConference ) = 0;
-
-    SAL_DLLPRIVATE sal_uInt64 GetId() const;
-    SAL_DLLPRIVATE void Invite( TpContact* pContact ) const;
-
-    /** Application calls this to display contacts dialog from where can the collaboration start */
-    void DisplayContacts();
-    void SendFile( TpContact* pContact, const OUString& rURL ) const;
-    void SendPacket( const OString& rPacket ) const;
-    void SetConference( TeleConference* pConference );
-};
-
-#endif // INCLUDED_TUBES_COLLABORATION_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/tubes/manager.hxx b/include/tubes/manager.hxx
deleted file mode 100644
index badc9275d0fc..000000000000
--- a/include/tubes/manager.hxx
+++ /dev/null
@@ -1,159 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#ifndef INCLUDED_TUBES_MANAGER_HXX
-#define INCLUDED_TUBES_MANAGER_HXX
-
-#include <sal/config.h>
-#include <tubes/tubesdllapi.h>
-#include <rtl/ustring.hxx>
-
-#include <utility>
-#include <vector>
-#include <memory>
-
-// For testing purposes, we might need more in future.
-#define LIBO_TUBES_DBUS_INTERFACE "org.libreoffice.calc"
-#define LIBO_TUBES_DBUS_MSG_METHOD "LibOMsg"
-#define LIBO_TUBES_DBUS_PATH "/org/libreoffice/calc"
-
-namespace osl { class Mutex; }
-class Collaboration;
-class TeleConference;
-class TeleManagerImpl;
-typedef struct _TpAccount TpAccount;
-typedef struct _TpContact TpContact;
-
-typedef ::std::pair< TpAccount *, TpContact * > AccountContactPair;
-typedef ::std::vector< AccountContactPair > AccountContactPairV;
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
-/** Interface to Telepathy DBus Tubes.
-
-    Fragile, not working yet.
-
-    Accounts need to have been setup within Empathy already.
- */
-
-class TeleManager
-{
-public:
-    /** Prepare tube manager with account and service to be offered/listened
-        to.
-     */
-    TUBES_DLLPUBLIC static bool             init( bool bListen );
-
-    TUBES_DLLPUBLIC static void             finalize();
-
-    /** True if there has been tube channel received and is still not used. */
-    TUBES_DLLPUBLIC static bool             hasWaitingConference();
-
-    /** Get a conference with current UUID to set a session. */
-    TUBES_DLLPUBLIC static TeleConference*  getConference();
-
-    /** Connect to DBus, create and prepare the Telepathy Account Manager. */
-    static bool             createAccountManager();
-
-    /** Setup client handlers. */
-    static bool             registerClients();
-
-    /** Fetches the contact list.
-        Is non-functional until createAccountManager().
-     */
-    // exported for unit test
-    TUBES_DLLPUBLIC static AccountContactPairV getContacts();
-
-    /** Start a demo session where all local documents are shared to each other */
-    static TeleConference*  startDemoSession();
-
-    /** Start a group session in a MUC.
-
-        @param pAccount
-            The account to use. This must be a valid Jabber account.
-
-        @param rConferenceRoom
-            The MUC to be created/joined, e.g. "LibreOffice". If empty, the
-            conference's UUID is used.
-
-        @param rConferenceServer
-            Server to create the MUC on, e.g. "conference.example.org". If
-            empty, only the conference's UUID is used and rConferenceRoom is
-            ignored, hopefully resulting in a local DBus tube.
-     */
-    static TeleConference*  startGroupSession( TpAccount *pAccount,
-                                                const OUString& rConferenceRoom,
-                                                const OUString& rConferenceServer );
-
-    /** Start a session with a buddy.
-
-        @param pAccount
-            The account to use. This must be a valid Jabber account.
-
-        @param pBuddy
-            The buddy to be connected. Must be a contact of pAccount.
-     */
-    // exported for unit test
-    TUBES_DLLPUBLIC static TeleConference* startBuddySession( TpAccount *pAccount, TpContact *pBuddy );
-
-    static void             registerCollaboration( Collaboration* pCollaboration );
-    static void             unregisterCollaboration( Collaboration* pCollaboration );
-    /** Used to determine whether we are closing the channel by ourselves.
-     * @return true if the Collaboration is still registered  */
-    static bool             existsCollaboration( Collaboration* pCollaboration );
-    /** Display contact list dialog for all documents. */
-    static void             displayAllContacts();
-
-    static void             registerDemoConference( TeleConference* pConference );
-    static void             unregisterDemoConference( TeleConference* pConference );
-    /** Broadcast packet to all conferences. Used for demo mode. */
-    static void             broadcastPacket( const OString& rPacket );
-
-
-    // Only for callbacks.
-    static void             addConference( TeleConference* pConference );
-    static OString     createUuid();
-    /** @param rUuid
-            is stored so that accepted conference with this UUID could be
-            then retrieved by getConference() when loading new document
-    */
-    static void             setCurrentUuid( const OString& rUuid );
-
-    /// "LibreOfficeWhatEver"
-    static OString     getFullClientName();
-
-    /// "org.libreoffice.calcWhatEver"
-    static OString     getFullServiceName();
-
-    /// "/org/libreoffice/calcWhatEver"
-    static OString     getFullObjectPath();
-
-    /** Add a suffix to the client name and DBus tube names, e.g. "WhatEver"
-
-        Normally the client name is LibreOffice and the DBus tube service name
-        is something like org.libreoffice.calc, this modifies the names to
-        "LibreOffice"+pName and "org.libreoffice.calc"+pName to make tests not
-        interfere with the real world. This is not to be used otherwise. If
-        used it must be called before the first TeleManager is instantiated and
-        connects.
-     */
-    // exported for unit test
-    TUBES_DLLPUBLIC static void addSuffixToNames( const char* pName );
-
-private:
-    static std::unique_ptr<TeleManagerImpl> pImpl;
-
-    static ::osl::Mutex&    GetMutex();
-};
-
-// FIXME: should be static and not used in conference.cxx
-void TeleManager_fileReceived( const OUString& rStr, const OString& rUuid );
-
-#endif // INCLUDED_TUBES_MANAGER_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/tubes/tubesdllapi.h b/include/tubes/tubesdllapi.h
deleted file mode 100644
index 1e9312740d78..000000000000
--- a/include/tubes/tubesdllapi.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-#ifndef INCLUDED_TUBES_TUBESDLLAPI_H
-#define INCLUDED_TUBES_TUBESDLLAPI_H
-
-#include "sal/types.h"
-
-#if defined(TUBES_DLLIMPLEMENTATION)
-#define TUBES_DLLPUBLIC  SAL_DLLPUBLIC_EXPORT
-#else
-#define TUBES_DLLPUBLIC  SAL_DLLPUBLIC_IMPORT
-#endif
-
-#endif // INCLUDED_TUBES_TUBESDLLAPI_H
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/l10ntools/source/gRun.sh b/l10ntools/source/gRun.sh
index 88c5ca8c715c..eca93a4ac875 100755
--- a/l10ntools/source/gRun.sh
+++ b/l10ntools/source/gRun.sh
@@ -724,8 +724,6 @@ ${MYCMD} --base svx/uiconfig/ui --files acceptrejectchangesdialog.ui addconditio
 
 ${MYCMD} --base sw/uiconfig/swriter/ui --files abstractdialog.ui addentrydialog.ui addressblockdialog.ui alreadyexistsdialog.ui asciifilterdialog.ui asksearchdialog.ui assignfieldsdialog.ui assignstylesdialog.ui attachnamedialog.ui authenticationsettingsdialog.ui autoformattable.ui autotext.ui bibliographyentry.ui bulletsandnumbering.ui businessdatapage.ui cannotsavelabeldialog.ui captiondialog.ui captionoptions.ui cardformatpage.ui cardmediumpage.ui ccdialog.ui characterproperties.ui charurlpage.ui columndialog.ui columnpage.ui columnwidth.ui conditionpage.ui converttexttable.ui createaddresslist.ui createauthorentry.ui createautomarkdialog.ui customizeaddrlistdialog.ui datasourcesunavailabledialog.ui dropcapspage.ui dropdownfielddialog.ui editcategories.ui editfielddialog.ui editsectiondialog.ui endnotepage.ui envaddresspage.ui envdialog.ui envformatpage.ui envprinterpage.ui exchangedatabases.ui fielddialog.ui findentrydialog.ui flddbpage.ui flddocinfopage.ui flddocumentpage.ui fl
 dfuncpage.ui fldrefpage.ui fldvarpage.ui floatingnavigation.ui floatingsync.ui footendnotedialog.ui footnoteareapage.ui footnotepage.ui footnotesendnotestabpage.ui formatsectiondialog.ui formattablepage.ui framedialog.ui frmaddpage.ui frmtypepage.ui frmurlpage.ui indentpage.ui indexentry.ui infonotfounddialog.ui inforeadonlydialog.ui inputfielddialog.ui insertautotextdialog.ui insertbookmark.ui insertbreak.ui insertcaption.ui insertdbcolumnsdialog.ui insertfootnote.ui insertscript.ui insertsectiondialog.ui inserttable.ui labeldialog.ui labelformatpage.ui labeloptionspage.ui linenumbering.ui mailconfigpage.ui mailmerge.ui mailmergedialog.ui managechangessidebar.ui mergeconnectdialog.ui mergetabledialog.ui mmaddressblockpage.ui mmcreatingdialog.ui mmlayoutpage.ui mmmailbody.ui mmoutputtypepage.ui mmresultemaildialog.ui mmresultprintdialog.ui mmresultsavedialog.ui mmsalutationpage.ui mmselectpage.ui mmsendmails.ui newuserindexdialog.ui numberingnamedialog.ui numparapage.ui objectdialog
 .ui optcaptionpage.ui optcomparison.ui optcompatpage.ui optfonttabpage.ui optformataidspage.ui optgeneralpage.ui optredlinepage.ui opttablepage.ui opttestpage.ui outlinenumbering.ui outlinenumberingpage.ui outlinepositionpage.ui paradialog.ui picturedialog.ui picturepage.ui previewzoomdialog.ui printeroptions.ui printmergedialog.ui printmonitordialog.ui printoptionspage.ui privateuserpage.ui querycontinuebegindialog.ui querycontinueenddialog.ui querydefaultcompatdialog.ui queryrotateintostandarddialog.ui querysavelabeldialog.ui queryshowchangesdialog.ui renameautotextdialog.ui renameentrydialog.ui renameobjectdialog.ui rowheight.ui saveashtmldialog.ui savelabeldialog.ui sectionpage.ui selectaddressdialog.ui selectautotextdialog.ui selectblockdialog.ui selectindexdialog.ui selecttabledialog.ui sidebarpage.ui sidebarstylepresets.ui sidebartheme.ui sidebarwrap.ui sortdialog.ui splittable.ui statisticsinfopage.ui stringinput.ui subjectdialog.ui tablecolumnpage.ui tablepreviewdialog.ui t
 ableproperties.ui tabletextflowpage.ui templatedialog1.ui templatedialog16.ui templatedialog2.ui templatedialog4.ui templatedialog8.ui testmailsettings.ui textgridpage.ui titlepage.ui tocdialog.ui tocentriespage.ui tocindexpage.ui tocstylespage.ui tokenwidget.ui viewoptionspage.ui warndatasourcedialog.ui warnemaildialog.ui wordcount.ui wrapdialog.ui wrappage.ui
 
-${MYCMD} --files tubes/uiconfig/ui/contacts.ui
-
 ${MYCMD} --base uui/uiconfig/ui --files authfallback.ui filterselect.ui logindialog.ui macrowarnmedium.ui masterpassworddlg.ui password.ui setmasterpassworddlg.ui simplenameclash.ui sslwarndialog.ui unknownauthdialog.ui
 
 ${MYCMD} --base vcl/uiconfig/ui --files cupspassworddialog.ui errornocontentdialog.ui errornoprinterdialog.ui notebookbar.ui printdialog.ui printerdevicepage.ui printerpaperpage.ui printerpropertiesdialog.ui printprogressdialog.ui querydialog.ui screenshotannotationdialog.ui
diff --git a/l10ntools/source/localize.cxx b/l10ntools/source/localize.cxx
index e7df5bbcf231..2dfee48d5e88 100644
--- a/l10ntools/source/localize.cxx
+++ b/l10ntools/source/localize.cxx
@@ -283,7 +283,6 @@ bool includeProject(const OString& rProject) {
         "sw",
         "swext",
         "sysui",
-        "tubes",
         "uui",
         "vcl",
         "wizards",
diff --git a/sc/CppunitTest_sc_ucalc.mk b/sc/CppunitTest_sc_ucalc.mk
index 207cfba57484..247279bf46ce 100644
--- a/sc/CppunitTest_sc_ucalc.mk
+++ b/sc/CppunitTest_sc_ucalc.mk
@@ -26,10 +26,6 @@ $(eval $(call gb_CppunitTest_use_library_objects,sc_ucalc, \
 	scqahelper \
 ))
 
-ifeq ($(ENABLE_TELEPATHY),TRUE)
-$(eval $(call gb_CppunitTest_use_libraries,sc_ucalc,tubes))
-endif
-
 $(eval $(call gb_CppunitTest_use_externals,sc_ucalc,\
 	boost_headers \
     $(call gb_Helper_optional,OPENCL, \
diff --git a/sc/CustomTarget_uiconfig.mk b/sc/CustomTarget_uiconfig.mk
deleted file mode 100644
index 24d2cf322825..000000000000
--- a/sc/CustomTarget_uiconfig.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-#
-# This file is part of the LibreOffice project.
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-
-$(eval $(call gb_CustomTarget_CustomTarget,sc/uiconfig))
-
-$(eval $(call gb_CustomTarget_register_targets,sc/uiconfig,\
-	scalc/menubar/menubar.xml \
-))
-
-$(call gb_CustomTarget_get_workdir,sc/uiconfig)/scalc/menubar/menubar.xml : $(SRCDIR)/sc/uiconfig/scalc/menubar/menubar.xml
-	sed 's/.*.uno:Collaborate.*/            <menu:menuseparator\/>\n            <menu:menuitem menu:id=".uno:Collaborate"\/>/' $< > $@
-
-# vim: set noet sw=4 ts=4:
diff --git a/sc/Library_sc.mk b/sc/Library_sc.mk
index c8fe0316e679..c9e1d0a13f11 100644
--- a/sc/Library_sc.mk
+++ b/sc/Library_sc.mk
@@ -52,15 +52,6 @@ else
 $(eval $(call gb_Library_use_externals,sc,orcus-parser))
 endif
 
-ifeq ($(ENABLE_TELEPATHY),TRUE)
-$(eval $(call gb_Library_use_libraries,sc,tubes))
-
-$(eval $(call gb_Library_add_exception_objects,sc,\
-    sc/source/ui/collab/sccollaboration \
-    sc/source/ui/collab/sendfunc \
-))
-endif
-
 $(eval $(call gb_Library_use_libraries,sc,\
     $(call gb_Helper_optional,AVMEDIA,avmedia) \
     basegfx \
diff --git a/sc/Module_sc.mk b/sc/Module_sc.mk
index 312cbce4daa8..ef82147d781b 100644
--- a/sc/Module_sc.mk
+++ b/sc/Module_sc.mk
@@ -24,14 +24,6 @@ $(eval $(call gb_Module_add_l10n_targets,sc,\
 	UIConfig_scalc \
 ))
 
-ifeq ($(ENABLE_TELEPATHY),TRUE)
-
-$(eval $(call gb_Module_add_targets,sc,\
-	CustomTarget_uiconfig \
-))
-
-endif
-
 ifneq ($(filter SCRIPTING,$(BUILD_TYPE)),)
 
 $(eval $(call gb_Module_add_targets,sc,\
diff --git a/sc/UIConfig_scalc.mk b/sc/UIConfig_scalc.mk
index d6dccd0ef937..92d408709022 100644
--- a/sc/UIConfig_scalc.mk
+++ b/sc/UIConfig_scalc.mk
@@ -9,15 +9,9 @@
 
 $(eval $(call gb_UIConfig_UIConfig,modules/scalc))
 
-ifeq ($(ENABLE_TELEPATHY),TRUE)
-$(eval $(call gb_UIConfig_add_generated_menubarfiles,modules/scalc,\
-	CustomTarget/sc/uiconfig/scalc/menubar/menubar \
-))
-else
 $(eval $(call gb_UIConfig_add_menubarfiles,modules/scalc,\
 	sc/uiconfig/scalc/menubar/menubar \
 ))
-endif
 
 $(eval $(call gb_UIConfig_add_popupmenufiles,modules/scalc,\
 	sc/uiconfig/scalc/popupmenu/anchor \
diff --git a/sc/inc/sc.hrc b/sc/inc/sc.hrc
index b6f24ae319c0..659309974fb7 100644
--- a/sc/inc/sc.hrc
+++ b/sc/inc/sc.hrc
@@ -127,7 +127,6 @@
 #define SID_NUMBER_DECDEC       (SC_VIEW_START + 58)
 
 // misc:
-#define SID_COLLABORATION       (SC_VIEW_START + 59)
 #define SID_LINKS               (SC_VIEW_START + 60)
 #define SID_INSERT_SMATH        (SC_VIEW_START + 63)
 #define SID_MIRROR_VERTICAL     (SC_VIEW_START + 65)
diff --git a/sc/sdi/cellsh.sdi b/sc/sdi/cellsh.sdi
index 0ec5226d746b..96186e65fe15 100644
--- a/sc/sdi/cellsh.sdi
+++ b/sc/sdi/cellsh.sdi
@@ -191,7 +191,6 @@ interface CellSelection
     SID_INSERT_POSTIT   [ ExecMethod = ExecuteEdit; StateMethod = GetCellState; ]
     SID_EDIT_POSTIT   [ ExecMethod = ExecuteEdit; StateMethod = GetCellState; ]
 
-    SID_COLLABORATION       [ ExecMethod = Execute; ]
     SID_TABOP               [ ExecMethod = ExecuteEdit; StateMethod = GetState; ]
     SID_CONSOLIDATE         [ ExecMethod = ExecuteEdit; StateMethod = GetState; ]
     FID_INSERT_NAME [ ExecMethod = ExecuteEdit; StateMethod = GetState; ]
diff --git a/sc/sdi/scalc.sdi b/sc/sdi/scalc.sdi
index e57338fdd315..1b3f90105ae6 100644
--- a/sc/sdi/scalc.sdi
+++ b/sc/sdi/scalc.sdi
@@ -1932,24 +1932,6 @@ SfxVoidItem FocusCellAddress FID_FOCUS_POSWND
 ]
 
 
-SfxVoidItem Collaborate SID_COLLABORATION
-()
-[
-    AutoUpdate = FALSE,
-    FastCall = FALSE,
-    ReadOnlyDoc = TRUE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerSet;
-
-    AccelConfig = TRUE,
-    MenuConfig = TRUE,
-    ToolBoxConfig = TRUE,
-    GroupId = GID_FORMAT;
-]
-
-
 SfxVoidItem FormatCellDialog FID_CELL_FORMAT
 ()
 [
diff --git a/sc/source/ui/collab/sccollaboration.cxx b/sc/source/ui/collab/sccollaboration.cxx
deleted file mode 100644
index d19c04738019..000000000000
--- a/sc/source/ui/collab/sccollaboration.cxx
+++ /dev/null
@@ -1,90 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#include "sccollaboration.hxx"
-
-#include "docsh.hxx"
-#include "sendfunc.hxx"
-#include <com/sun/star/document/XDocumentRecovery.hpp>
-#include <osl/file.hxx>
-#include <unotools/mediadescriptor.hxx>
-#include <unotools/tempfile.hxx>
-
-ScCollaboration::ScCollaboration( ScDocShell* pScDocShell ) :
-    mpScDocShell( pScDocShell )
-{
-}
-
-ScCollaboration::~ScCollaboration()
-{
-}
-
-void ScCollaboration::EndCollaboration() const
-{
-    ScDocFuncSend* pSender = GetScDocFuncSend();
-    if (pSender)
-    {
-        delete pSender;
-        mpScDocShell->SetDocFunc( new ScDocFuncDirect( *mpScDocShell ) );
-    }
-}
-
-void ScCollaboration::PacketReceived( const OString& rPacket ) const
-{
-    ScDocFuncSend* pSender = GetScDocFuncSend();
-    if (pSender)
-        return pSender->RecvMessage( rPacket );
-}
-
-void ScCollaboration::SaveAndSendFile( TpContact* pContact ) const
-{
-    OUString aTmpPath = utl::TempFile::CreateTempName();
-    aTmpPath += ".ods";
-
-    OUString aFileURL;
-    osl::FileBase::getFileURLFromSystemPath( aTmpPath, aFileURL );
-
-    utl::MediaDescriptor aDescriptor;
-    // some issue with hyperlinks:
-    aDescriptor[utl::MediaDescriptor::PROP_DOCUMENTBASEURL()] <<= OUString();
-    try {
-        css::uno::Reference< css::document::XDocumentRecovery > xDocRecovery(
-                    mpScDocShell->GetBaseModel(), css::uno::UNO_QUERY_THROW);
-
-        xDocRecovery->storeToRecoveryFile( aFileURL, aDescriptor.getAsConstPropertyValueList() );
-    } catch (const css::uno::Exception &ex) {
-        SAL_WARN( "sc.tubes", "Exception when saving file " << aFileURL );
-    }
-
-    SendFile( pContact, aFileURL );
-
-    // FIXME: unlink the file after send ...
-}
-
-void ScCollaboration::StartCollaboration( TeleConference* pConference )
-{
-    SetConference( pConference );
-    ScDocFunc* pDocFunc = &mpScDocShell->GetDocFunc();
-    ScDocFuncSend* pSender = dynamic_cast<ScDocFuncSend*> (pDocFunc);
-    if (!pSender)
-    {
-        // This means pDocFunc has to be ScDocFuncDirect* and we are not collaborating yet.
-        pSender = new ScDocFuncSend( *mpScDocShell, dynamic_cast<ScDocFuncDirect*> (pDocFunc), this );
-        mpScDocShell->SetDocFunc( pSender );
-    }
-}
-
-// --- private ---
-
-ScDocFuncSend* ScCollaboration::GetScDocFuncSend() const
-{
-    return dynamic_cast<ScDocFuncSend*> (&mpScDocShell->GetDocFunc());
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/collab/sendfunc.cxx b/sc/source/ui/collab/sendfunc.cxx
deleted file mode 100644
index 8b28962ccee8..000000000000
--- a/sc/source/ui/collab/sendfunc.cxx
+++ /dev/null
@@ -1,470 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#include "sendfunc.hxx"
-
-#include "formulacell.hxx"
-#include "docsh.hxx"
-#include "docfunc.hxx"
-#include "sccollaboration.hxx"
-#include <editeng/editeng.hxx>
-#include <editeng/editobj.hxx>
-#include <tubes/manager.hxx>
-
-namespace {
-
-OUString formulaCellToString( ScFormulaCell *pCell )
-{
-    (void)pCell; // FIXME: implement me
-    return OUString();
-}
-
-OUString editToString( const EditTextObject& /*rEditText*/ )
-{
-    // FIXME: implement me.
-    return OUString();
-}
-
-EditTextObject stringToEdit( const OUString& /* rStr */ )
-{
-    // FIXME: implement me.
-    // The code here only serves to make this file compilable.
-    EditEngine aEditEngine(nullptr);
-    return *aEditEngine.CreateTextObject();
-}
-
-ScFormulaCell* stringToFormulaCell( const OUString &rString )
-{
-    (void)rString; // FIXME: implement me
-    return nullptr;
-}
-
-struct ProtocolError {
-    const char *message;
-};
-
-class ScChangeOpReader {
-    std::vector< OUString > maArgs;
-
-public:
-    explicit ScChangeOpReader(const OUString &rString)
-    {
-        // will need to handle escaping etc.
-        // Surely someone else wrote this before ! [!?]
-        enum {
-            IN_TEXT, CHECK_QUOTE, FIND_LAST_QUOTE, SKIP_SEMI
-        } eState = CHECK_QUOTE;
-
-        sal_Int32 nStart = 0;
-        for (sal_Int32 n = 0; n < rString.getLength(); n++)
-        {
-            if (rString[n] == '\\')
-            {
-                n++; // skip next char
-                continue;
-            }
-            switch (eState) {
-            case CHECK_QUOTE:
-                if (rString[n] == '"')
-                {
-                    nStart = n + 1;
-                    eState = FIND_LAST_QUOTE;
-                    break;
-                }
-                SAL_FALLTHROUGH;
-            case IN_TEXT:
-                if (rString[n] == ';')
-                {
-                    maArgs.push_back( rString.copy( nStart, n - nStart ) );
-                    nStart = n + 1;
-                    eState = CHECK_QUOTE;
-                }
-                break;
-            case FIND_LAST_QUOTE:
-                if (rString[n] == '"')
-                {
-                    maArgs.push_back( rString.copy( nStart, n - nStart ) );
-                    eState = SKIP_SEMI;
-                    break;
-                }
-                break;
-            case SKIP_SEMI:
-                if (rString[n] == ';')
-                {
-                    nStart = n + 1;
-                    eState = CHECK_QUOTE;
-                }
-                break;
-            }
-        }
-        if ( nStart < rString.getLength())
-            maArgs.push_back( rString.copy( nStart, rString.getLength() - nStart ) );
-    }
-    ~ScChangeOpReader() {}
-
-    OUString getMethod()
-    {
-        return maArgs[0];
-    }
-
-    size_t getArgCount() { return maArgs.size(); }
-
-    OUString getString( sal_Int32 n )
-    {
-        if (n > 0 && (size_t)n < getArgCount() )
-        {
-            OUString aUStr( maArgs[ n ] );
-            ScGlobal::EraseQuotes( aUStr, '\'' );
-            return aUStr;
-        } else
-            return OUString();
-    }
-
-    ScAddress getAddress( sal_Int32 n )
-    {
-        ScAddress aAddr;
-        OUString aToken( getString( n ) );
-        aAddr.Parse( aToken );
-        return aAddr;
-    }
-
-    sal_Int32 getInt( sal_Int32 n )
-    {
-        return getString( n ).toInt32();
-    }
-
-    bool getBool( sal_Int32 n )
-    {
-        return getString( n ).equalsIgnoreAsciiCase( "true" );
-    }
-
-    ScFormulaCell* getFormulaCell( sal_Int32 n )
-    {
-        return stringToFormulaCell( getString( n ) );
-    }
-
-    double getDouble( sal_Int32 n )
-    {
-        return getString(n).toDouble();
-    }
-
-    EditTextObject getEdit( sal_Int32 n )
-    {
-        return stringToEdit(getString(n));
-    }
-
-};
-
-} // anonymous namespace
-
-// Ye noddy mangling - needs improvement ...
-// method name ';' then arguments ; separated
-class ScChangeOpWriter
-{
-    OUStringBuffer aMessage;
-    void appendSeparator()
-    {
-        aMessage.append( ';' );
-    }
-
-public:
-    explicit ScChangeOpWriter( const char *pName )
-    {
-        aMessage.appendAscii( pName );
-        appendSeparator();
-    }
-
-    void appendString( const OUString &rStr )
-    {
-        if ( rStr.indexOf( '"' ) >= 0 ||
-             rStr.indexOf( ';' ) >= 0 )
-        {
-            OUString aQuoted( rStr );
-            ScGlobal::AddQuotes( aQuoted, '"' );
-            aMessage.append( aQuoted );
-        }
-        else
-            aMessage.append( rStr );
-        appendSeparator();
-    }
-
-    void appendAddress( const ScAddress &rPos )
-    {
-        aMessage.append( rPos.Format( ScRefFlags::VALID ) );
-        appendSeparator();
-    }
-
-    void appendInt( sal_Int32 i )
-    {
-        aMessage.append( i );
-        appendSeparator();
-    }
-
-    void appendBool( bool b )
-    {
-        aMessage.appendAscii( b ? "true" : "false" );
-        appendSeparator();
-    }
-
-    void appendFormulaCell( ScFormulaCell *pCell )
-    {
-        appendString( formulaCellToString( pCell ) );
-    }
-
-    void appendEditText( const EditTextObject& rStr )
-    {
-        appendString( editToString(rStr) );
-    }
-
-    void appendDouble( double fVal )
-    {
-        aMessage.append(fVal);
-        appendSeparator();
-    }
-
-    OString toString()
-    {
-        return OUStringToOString( aMessage.toString(), RTL_TEXTENCODING_UTF8 );
-    }
-};
-
-void ScDocFuncSend::RecvMessage( const OString &rString )
-{
-    try {
-        ScChangeOpReader aReader( OUString( rString.getStr(),
-                                                 rString.getLength(),
-                                                 RTL_TEXTENCODING_UTF8 ) );
-        // FIXME: have some hash to enumeration mapping here
-        if ( aReader.getMethod() == "setNormalString" )
-        {
-            bool bNumFmtSet = false;
-            mpDirect->SetNormalString( bNumFmtSet, aReader.getAddress( 1 ), aReader.getString( 2 ),
-                                      aReader.getBool( 3 ) );
-        }
-        else if (aReader.getMethod() == "setValueCell")
-        {
-            mpDirect->SetValueCell(
-                aReader.getAddress(1), aReader.getDouble(2), aReader.getBool(3));
-        }
-        else if (aReader.getMethod() == "setStringCell")
-        {
-            mpDirect->SetStringCell(
-                aReader.getAddress(1), aReader.getString(2), aReader.getBool(3));
-        }
-        else if (aReader.getMethod() == "setEditCell")
-        {
-            mpDirect->SetEditCell(
-                aReader.getAddress(1), aReader.getEdit(2), aReader.getBool(3));
-        }
-        else if (aReader.getMethod() == "setFormulaCell")
-        {
-            mpDirect->SetFormulaCell(
-                aReader.getAddress(1), aReader.getFormulaCell(2), aReader.getBool(3));
-        }
-        else if ( aReader.getMethod() == "enterListAction" )
-            mpDirect->EnterListAction( aReader.getInt( 1 ) );
-        else if ( aReader.getMethod() == "endListAction" )
-            mpDirect->EndListAction();
-        else if ( aReader.getMethod() == "showNote" )
-            mpDirect->ShowNote( aReader.getAddress( 1 ), aReader.getBool( 2 ) );
-        else if ( aReader.getMethod() == "setNoteText" )
-            mpDirect->SetNoteText( aReader.getAddress( 1 ), aReader.getString( 2 ),
-                                  aReader.getBool( 3 ) );
-        else if ( aReader.getMethod() == "renameTable" )
-            mpDirect->RenameTable( aReader.getInt( 1 ), aReader.getString( 2 ),
-                                  aReader.getBool( 3 ), aReader.getBool( 4 ) );
-        else
-            SAL_WARN( "sc.tubes", "Error: unknown message '" << rString.getStr()
-                    << "' (" << aReader.getArgCount() << ")" );
-    } catch (const ProtocolError &e) {
-        SAL_WARN( "sc.tubes", "Error: protocol twisting: " << e.message );
-    }
-}
-
-void ScDocFuncSend::SendMessage( ScChangeOpWriter &rOp )
-{
-    mpCollaboration->SendPacket( rOp.toString() );
-}
-
-// FIXME: really ScDocFunc should be an abstract base, so
-// we don't need the rDocSh hack/pointer
-ScDocFuncSend::ScDocFuncSend( ScDocShell& rDocSh, ScDocFuncDirect *pDirect, ScCollaboration* pCollaboration )
-        : ScDocFunc( rDocSh ),
-        mpDirect( pDirect ),
-        mpCollaboration( pCollaboration )
-{
-}
-
-ScDocFuncSend::~ScDocFuncSend()
-{
-    delete mpDirect;
-}
-
-void ScDocFuncSend::EnterListAction( sal_uInt16 nNameResId )
-{
-    // Want to group these operations for the other side ...
-    ScChangeOpWriter aOp( "enterListAction" );
-    aOp.appendInt( nNameResId ); // nasty but translate-able ...
-    SendMessage( aOp );
-}
-
-void ScDocFuncSend::EndListAction()
-{
-    ScChangeOpWriter aOp( "endListAction" );
-    SendMessage( aOp );
-}
-
-bool ScDocFuncSend::SetNormalString( bool& o_rbNumFmtSet, const ScAddress& rPos, const OUString& rText, bool bApi )
-{
-    ScChangeOpWriter aOp( "setNormalString" );
-    aOp.appendAddress( rPos );
-    aOp.appendString( rText );
-    aOp.appendBool( bApi );
-    SendMessage( aOp );
-
-    o_rbNumFmtSet = false;
-
-    if ( OUString( rText ) == "saveme" )
-        mpCollaboration->SaveAndSendFile( nullptr );
-
-    if ( OUString( rText ) == "contacts" )
-        mpCollaboration->DisplayContacts();
-
-    return true; // needs some code auditing action
-}
-
-bool ScDocFuncSend::SetValueCell( const ScAddress& rPos, double fVal, bool bInteraction )
-{
-    ScChangeOpWriter aOp("setValueCell");
-    aOp.appendAddress( rPos );
-    aOp.appendDouble( fVal );
-    aOp.appendBool( bInteraction );
-    SendMessage( aOp );
-    return true; // needs some code auditing action
-}
-
-bool ScDocFuncSend::SetValueCells(
-    const ScAddress& /*rPos*/, const std::vector<double>& /*aVals*/, bool /*bInteraction*/ )
-{
-    // TODO : Implement this.
-    return true;
-}
-
-bool ScDocFuncSend::SetStringCell( const ScAddress& rPos, const OUString& rStr, bool bInteraction )
-{
-    ScChangeOpWriter aOp("setStringCell");
-    aOp.appendAddress( rPos );
-    aOp.appendString( rStr );
-    aOp.appendBool( bInteraction );
-    SendMessage( aOp );
-    return true; // needs some code auditing action
-}
-
-bool ScDocFuncSend::SetEditCell( const ScAddress& rPos, const EditTextObject& rStr, bool bInteraction )
-{
-    ScChangeOpWriter aOp("setEditCell");
-    aOp.appendAddress( rPos );
-    aOp.appendEditText( rStr );
-    aOp.appendBool( bInteraction );
-    SendMessage( aOp );
-    return true; // needs some code auditing action
-}
-
-bool ScDocFuncSend::SetFormulaCell( const ScAddress& rPos, ScFormulaCell* pCell, bool bInteraction )
-{
-    ScChangeOpWriter aOp("setFormulaCell");
-    aOp.appendAddress( rPos );
-    aOp.appendFormulaCell( pCell );
-    aOp.appendBool( bInteraction );
-    SendMessage( aOp );
-    delete pCell;
-    return true; // needs some code auditing action
-}
-
-void ScDocFuncSend::PutData( const ScAddress& rPos, ScEditEngineDefaulter& rEngine, bool bApi )
-{
-    SAL_INFO( "sc.tubes", "PutData not implemented!" );
-    ScDocFunc::PutData( rPos, rEngine, bApi );
-}
-
-bool ScDocFuncSend::SetCellText(
-    const ScAddress& rPos, const OUString& rText, bool bInterpret, bool bEnglish, bool bApi,
-    const formula::FormulaGrammar::Grammar eGrammar )
-{
-    SAL_INFO( "sc.tubes", "SetCellText not implemented!" );
-    return ScDocFunc::SetCellText( rPos, rText, bInterpret, bEnglish, bApi, eGrammar );
-}
-
-bool ScDocFuncSend::ShowNote( const ScAddress& rPos, bool bShow )
-{
-    ScChangeOpWriter aOp( "showNote" );
-    aOp.appendAddress( rPos );
-    aOp.appendBool( bShow );
-    SendMessage( aOp );
-    return true; // needs some code auditing action
-}
-
-bool ScDocFuncSend::SetNoteText( const ScAddress& rPos, const OUString& rNoteText, bool bApi )
-{
-    ScChangeOpWriter aOp( "setNoteText" );
-    aOp.appendAddress( rPos );
-    aOp.appendString( rNoteText );
-    aOp.appendBool( bApi );
-    SendMessage( aOp );
-    return true; // needs some code auditing action
-}
-
-bool ScDocFuncSend::RenameTable( SCTAB nTab, const OUString& rName,
-                                     bool bRecord, bool bApi )
-{
-    ScChangeOpWriter aOp( "renameTable" );
-    aOp.appendInt( nTab );
-    aOp.appendString( rName );
-    aOp.appendBool( bRecord );
-    aOp.appendBool( bApi );
-    SendMessage( aOp );
-    return true; // needs some code auditing action
-}
-
-bool ScDocFuncSend::ApplyAttributes( const ScMarkData& rMark, const ScPatternAttr& rPattern,
-                                         bool bApi )
-{
-    SAL_INFO( "sc.tubes", "ApplyAttributes not implemented!" );
-    return ScDocFunc::ApplyAttributes( rMark, rPattern, bApi );
-}
-
-bool ScDocFuncSend::ApplyStyle( const ScMarkData& rMark, const OUString& rStyleName,
-                                    bool bApi )
-{
-    SAL_INFO( "sc.tubes", "ApplyStyle not implemented!" );
-    return ScDocFunc::ApplyStyle( rMark, rStyleName, bApi );
-}
-
-bool ScDocFuncSend::MergeCells( const ScCellMergeOption& rOption, bool bContents,
-                             bool bRecord, bool bApi )
-{
-    SAL_INFO( "sc.tubes", "MergeCells not implemented!" );
-    return ScDocFunc::MergeCells( rOption, bContents, bRecord, bApi );
-}
-
-ScDocFunc *ScDocShell::CreateDocFunc()
-{
-    if (TeleManager::hasWaitingConference())
-    {
-        TeleConference* pConference = TeleManager::getConference();
-        if (pConference)
-        {
-            mpCollaboration->SetConference( pConference );
-            return new ScDocFuncSend( *this, new ScDocFuncDirect( *this ), mpCollaboration );
-        }
-    }
-    return new ScDocFuncDirect( *this );
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/collab/sendfunc.hxx b/sc/source/ui/collab/sendfunc.hxx
deleted file mode 100644
index b0bfc80d2bf3..000000000000
--- a/sc/source/ui/collab/sendfunc.hxx
+++ /dev/null
@@ -1,59 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#ifndef INCLUDED_SC_SOURCE_UI_COLLAB_SENDFUNC_HXX
-#define INCLUDED_SC_SOURCE_UI_COLLAB_SENDFUNC_HXX
-
-#include <sal/config.h>
-
-#include "docfunc.hxx"
-class ScCollaboration;
-class ScChangeOpWriter;
-
-class ScDocFuncSend : public ScDocFunc
-{
-    ScDocFuncDirect*    mpDirect;
-    ScCollaboration*    mpCollaboration;
-
-    friend class ScCollaboration;
-    void                RecvMessage( const OString &rString );
-    void                SendMessage( ScChangeOpWriter &rOp );
-public:
-    // FIXME: really ScDocFunc should be an abstract base, so
-    // we don't need the rDocSh hack/pointer
-    ScDocFuncSend( ScDocShell& rDocSh, ScDocFuncDirect* pDirect, ScCollaboration* pCollaboration );
-    virtual ~ScDocFuncSend() override;
-
-    virtual void        EnterListAction( sal_uInt16 nNameResId );
-    virtual void        EndListAction();
-
-    virtual bool SetNormalString( bool& o_rbNumFmtSet, const ScAddress& rPos, const OUString& rText, bool bApi );
-    virtual bool SetValueCell( const ScAddress& rPos, double fVal, bool bInteraction );
-    virtual bool SetValueCells( const ScAddress& rPos, const std::vector<double>& aVals, bool bInteraction );
-    virtual bool SetStringCell( const ScAddress& rPos, const OUString& rStr, bool bInteraction );
-    virtual bool SetEditCell( const ScAddress& rPos, const EditTextObject& rStr, bool bInteraction );
-    virtual bool SetFormulaCell( const ScAddress& rPos, ScFormulaCell* pCell, bool bInteraction );
-    virtual void PutData( const ScAddress& rPos, ScEditEngineDefaulter& rEngine, bool bApi );
-    virtual bool SetCellText(
-        const ScAddress& rPos, const OUString& rText, bool bInterpret, bool bEnglish,
-        bool bApi, const formula::FormulaGrammar::Grammar eGrammar );
-    virtual bool        ShowNote( const ScAddress& rPos, bool bShow = true );
-    virtual bool        SetNoteText( const ScAddress& rPos, const OUString& rNoteText, bool bApi );
-    virtual bool        RenameTable( SCTAB nTab, const OUString& rName, bool bRecord, bool bApi );
-    virtual bool        ApplyAttributes( const ScMarkData& rMark, const ScPatternAttr& rPattern,
-                                         bool bApi );
-    virtual bool        ApplyStyle( const ScMarkData& rMark, const OUString& rStyleName,
-                                    bool bApi );
-    virtual bool        MergeCells( const ScCellMergeOption& rOption, bool bContents,
-                                    bool bRecord, bool bApi );
-};
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx
index 226032910265..16d128a2882b 100644
--- a/sc/source/ui/docshell/docsh.cxx
+++ b/sc/source/ui/docshell/docsh.cxx
@@ -17,8 +17,6 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#include <config_features.h>
-
 #include "docsh.hxx"
 
 #include "scitems.hxx"
@@ -131,12 +129,6 @@
 #include <documentlinkmgr.hxx>
 #include <refupdatecontext.hxx>
 
-#include <config_telepathy.h>
-
-#if ENABLE_TELEPATHY
-#include "sccollaboration.hxx"
-#endif
-
 #include <memory>
 #include <vector>
 
@@ -2643,17 +2635,10 @@ bool ScDocShell::HasAutomaticTableName( const OUString& rFilter )
         || rFilter == pFilterRtf;
 }
 
-#if ! ENABLE_TELEPATHY
 ScDocFunc *ScDocShell::CreateDocFunc()
 {
     return new ScDocFuncDirect( *this );
 }
-#else
-ScCollaboration* ScDocShell::GetCollaboration()
-{
-    return mpCollaboration;
-}
-#endif
 
 ScDocShell::ScDocShell( const ScDocShell& rShell ) :
     SvRefBase(),
@@ -2680,9 +2665,6 @@ ScDocShell::ScDocShell( const ScDocShell& rShell ) :
     pSheetSaveData  ( nullptr ),
     mpFormatSaveData( nullptr ),
     pModificator    ( nullptr )
-#if ENABLE_TELEPATHY
-    , mpCollaboration( new ScCollaboration( this ) )
-#endif
 {
     SetPool( &SC_MOD()->GetPool() );
 
@@ -2725,9 +2707,6 @@ ScDocShell::ScDocShell( const SfxModelFlags i_nSfxCreationFlags ) :
     pSheetSaveData  ( nullptr ),
     mpFormatSaveData( nullptr ),
     pModificator    ( nullptr )
-#if ENABLE_TELEPATHY
-    , mpCollaboration( new ScCollaboration( this ) )
-#endif
 {
     SetPool( &SC_MOD()->GetPool() );
 
@@ -2782,9 +2761,6 @@ ScDocShell::~ScDocShell()
         OSL_FAIL("The Modificator should not exist");
         delete pModificator;
     }
-#if ENABLE_TELEPATHY
-    delete mpCollaboration;
-#endif
 }
 
 ::svl::IUndoManager* ScDocShell::GetUndoManager()
diff --git a/sc/source/ui/inc/docsh.hxx b/sc/source/ui/inc/docsh.hxx
index d61ebac6e45a..161979d89a68 100644
--- a/sc/source/ui/inc/docsh.hxx
+++ b/sc/source/ui/inc/docsh.hxx
@@ -35,7 +35,6 @@
 #include "optutil.hxx"
 #include "docuno.hxx"
 
-#include <config_telepathy.h>
 #include <memory>
 #include <unordered_map>
 
@@ -64,9 +63,6 @@ class ScSheetSaveData;
 class ScFlatBoolRowSegments;
 class HelperModelObj;
 struct ScColWidthParam;
-#if ENABLE_TELEPATHY
-class ScCollaboration;
-#endif
 
 namespace sfx2 { class FileDialogHelper; }
 struct DocShell_Impl;
@@ -112,9 +108,6 @@ class SC_DLLPUBLIC ScDocShell final: public SfxObjectShell, public SfxListener
     ScFormatSaveData*   mpFormatSaveData;
 
     ScDocShellModificator* pModificator; // #109979#; is used to load XML (created in BeforeXMLLoading and destroyed in AfterXMLLoading)
-#if ENABLE_TELEPATHY
-    ScCollaboration*      mpCollaboration;
-#endif
 
     SAL_DLLPRIVATE void          InitItems();
     SAL_DLLPRIVATE void          DoEnterHandler();
@@ -174,10 +167,6 @@ public:
     explicit        ScDocShell( const SfxModelFlags i_nSfxCreationFlags = SfxModelFlags::EMBEDDED_OBJECT );
                     virtual ~ScDocShell() override;
 
-#if ENABLE_TELEPATHY
-    SAL_DLLPRIVATE ScCollaboration* GetCollaboration();
-#endif
-
     virtual ::svl::IUndoManager*
                     GetUndoManager() override;
 
@@ -226,9 +215,6 @@ public:
 
     ScDocument&     GetDocument()   { return aDocument; }
     ScDocFunc&      GetDocFunc()    { return *pDocFunc; }
-#if ENABLE_TELEPATHY
-    void            SetDocFunc( ScDocFunc *pDF ) { pDocFunc = pDF; }
-#endif
 
     SfxPrinter*     GetPrinter( bool bCreateIfNotExist = true );
     sal_uInt16      SetPrinter( VclPtr<SfxPrinter> const & pNewPrinter, SfxPrinterChangeFlags nDiffFlags = SFX_PRINTER_ALL );
diff --git a/sc/source/ui/inc/sccollaboration.hxx b/sc/source/ui/inc/sccollaboration.hxx
deleted file mode 100644
index b3639233eab0..000000000000
--- a/sc/source/ui/inc/sccollaboration.hxx
+++ /dev/null
@@ -1,37 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#ifndef INCLUDED_SC_SOURCE_UI_INC_SCCOLLABORATION_HXX
-#define INCLUDED_SC_SOURCE_UI_INC_SCCOLLABORATION_HXX
-
-#include <sal/config.h>
-
-#include <tubes/collaboration.hxx>
-class ScDocFuncSend;
-class ScDocShell;
-
-class ScCollaboration : public Collaboration
-{
-    ScDocShell* mpScDocShell;
-public:
-            ScCollaboration( ScDocShell* pScDocShell );
-    virtual ~ScCollaboration() override;
-
-    virtual void  EndCollaboration() const override;
-    virtual void  PacketReceived( const OString& rPacket ) const override;
-    virtual void  SaveAndSendFile( TpContact* pContact ) const override;
-    virtual void  StartCollaboration( TeleConference* pConference ) override;
-private:
-    friend class ScDocShell;
-    ScDocFuncSend* GetScDocFuncSend() const;
-};
-
-#endif // INCLUDED_SC_SOURCE_UI_INC_SCCOLLABORATION_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/view/cellsh3.cxx b/sc/source/ui/view/cellsh3.cxx
index 374f5f5a5a5a..fdcfe1cad437 100644
--- a/sc/source/ui/view/cellsh3.cxx
+++ b/sc/source/ui/view/cellsh3.cxx
@@ -45,12 +45,6 @@
 #include "scabstdlg.hxx"
 #include "columnspanset.hxx"
 
-#include <config_telepathy.h>
-
-#if ENABLE_TELEPATHY
-#include "sccollaboration.hxx"
-#endif
-
 #include <memory>
 
 #define IS_EDITMODE() GetViewData()->HasEditView( GetViewData()->GetActivePart() )
@@ -103,12 +97,6 @@ void ScCellShell::Execute( SfxRequest& rReq )
 
     switch ( nSlot )
     {
-        case SID_COLLABORATION:
-#if ENABLE_TELEPATHY
-            GetViewData()->GetDocShell()->GetCollaboration()->DisplayContacts();
-#endif
-            break;
-
         case SID_STATUS_SELMODE:
             if ( pReqArgs )
             {
diff --git a/sc/uiconfig/scalc/menubar/menubar.xml b/sc/uiconfig/scalc/menubar/menubar.xml
index e2405cc8a3c4..647c87db3c8f 100644
--- a/sc/uiconfig/scalc/menubar/menubar.xml
+++ b/sc/uiconfig/scalc/menubar/menubar.xml
@@ -37,7 +37,6 @@
             <menu:menuseparator/>
             <menu:menuitem menu:id=".uno:Reload"/>
             <menu:menuitem menu:id=".uno:VersionDialog"/>
-            <!-- .uno:Collaborate menuitem, see CustomTarget_uiconfig.mk -->
             <menu:menuseparator/>
             <menu:menuitem menu:id=".uno:Save"/>
             <menu:menuitem menu:id=".uno:SaveAsRemote"/>
diff --git a/scp2/source/ooo/file_ooo.scp b/scp2/source/ooo/file_ooo.scp
index 6d962d0c0fe4..548a76685def 100644
--- a/scp2/source/ooo/file_ooo.scp
+++ b/scp2/source/ooo/file_ooo.scp
@@ -171,9 +171,6 @@ UI_FILELIST(swform, "UIConfig/modules/swform.filelist")
 UI_FILELIST(swreport, "UIConfig/modules/swreport.filelist")
 UI_FILELIST(swriter, "UIConfig/modules/swriter.filelist")
 UI_FILELIST(swxform, "UIConfig/modules/swxform.filelist")
-#ifdef ENABLE_TELEPATHY
-UI_FILELIST(tubes, "UIConfig/tubes.filelist")
-#endif
 UI_FILELIST(uui, "UIConfig/uui.filelist")
 UI_FILELIST(vcl, "UIConfig/vcl.filelist")
 UI_FILELIST(writerperfect, "UIConfig/writerperfect.filelist")
@@ -202,9 +199,6 @@ UI_FILELIST_ALL_LANG(smath, modules/smath)
 UI_FILELIST_ALL_LANG(svt, svt)
 UI_FILELIST_ALL_LANG(svx, svx)
 UI_FILELIST_ALL_LANG(swriter, modules/swriter)
-#ifdef ENABLE_TELEPATHY
-UI_FILELIST_ALL_LANG(tubes, tubes)
-#endif
 UI_FILELIST_ALL_LANG(uui, uui)
 UI_FILELIST_ALL_LANG(vcl, vcl)
 UI_FILELIST_ALL_LANG(xmlsec, xmlsec)
diff --git a/scp2/source/ooo/module_lang_template.scp b/scp2/source/ooo/module_lang_template.scp
index e91a93339d2e..fcce8a415603 100644
--- a/scp2/source/ooo/module_lang_template.scp
+++ b/scp2/source/ooo/module_lang_template.scp
@@ -45,9 +45,6 @@ Module gid_Module_Langpack_Basis_Template
              gid_File_Share_Config_Sofficecfg_uiconfig_svt_Lang,
              gid_File_Share_Config_Sofficecfg_uiconfig_svx_Lang,
              gid_File_Share_Config_Sofficecfg_uiconfig_swriter_Lang,
-#ifdef ENABLE_TELEPATHY
-             gid_File_Share_Config_Sofficecfg_uiconfig_tubes_Lang,
-#endif
              gid_File_Share_Config_Sofficecfg_uiconfig_uui_Lang,
              gid_File_Share_Config_Sofficecfg_uiconfig_vcl_Lang,
              gid_File_Share_Config_Sofficecfg_uiconfig_xmlsec_Lang,
diff --git a/scp2/source/ooo/module_ooo.scp b/scp2/source/ooo/module_ooo.scp
index 7f1fa993be26..3a7234427323 100644
--- a/scp2/source/ooo/module_ooo.scp
+++ b/scp2/source/ooo/module_ooo.scp
@@ -89,9 +89,6 @@ Module gid_Module_Root
              gid_File_Share_Config_Sofficecfg_uiconfig_swreport,
              gid_File_Share_Config_Sofficecfg_uiconfig_swriter,
              gid_File_Share_Config_Sofficecfg_uiconfig_swxform,
-#ifdef ENABLE_TELEPATHY
-             gid_File_Share_Config_Sofficecfg_uiconfig_tubes,
-#endif
              gid_File_Share_Config_Sofficecfg_uiconfig_uui,
              gid_File_Share_Config_Sofficecfg_uiconfig_vcl,
              gid_File_Share_Config_Sofficecfg_uiconfig_writerperfect,
diff --git a/solenv/gbuild/extensions/pre_MergedLibsList.mk b/solenv/gbuild/extensions/pre_MergedLibsList.mk
index 481032c701cb..451897fc4765 100644
--- a/solenv/gbuild/extensions/pre_MergedLibsList.mk
+++ b/solenv/gbuild/extensions/pre_MergedLibsList.mk
@@ -49,7 +49,6 @@ MERGE_LIBRARY_LIST := \
 	svxcore \
 	tk \
 	tl \
-	$(if $(filter TRUE,$(ENABLE_TELEPATHY)),tubes) \
 	ucb1 \
 	ucbhelper \
 	ucpexpand1 \
diff --git a/solenv/qa/python/gbuildtojson.py b/solenv/qa/python/gbuildtojson.py
index ab27497ca3ed..69a4e3a1ae92 100644
--- a/solenv/qa/python/gbuildtojson.py
+++ b/solenv/qa/python/gbuildtojson.py
@@ -123,7 +123,7 @@ class CheckGbuildToJsonModules(unittest.TestCase):
         shutil.rmtree(self.tempwork)
 
     def test_gbuildtojson(self):
-        modules = ['accessibility', 'android', 'animations', 'apple_remote', 'avmedia', 'basctl', 'basegfx', 'basic', 'bean', 'canvas', 'chart2', 'codemaker', 'comphelper', 'cppcanvas', 'cui', 'dbaccess', 'desktop', 'drawinglayer', 'dtrans', 'editeng', 'embeddedobj', 'embedserv', 'eventattacher', 'extras', 'filter', 'forms', 'formula', 'fpicker', 'framework', 'hwpfilter', 'i18nlangtag', 'i18nutil', 'idl', 'idlc', 'instsetoo_native', 'io', 'ios', 'jvmaccess', 'jvmfwk', 'l10ntools', 'librelogo', 'libreofficekit', 'linguistic', 'lotuswordpro', 'mysqlc', 'nlpsolver', 'o3tl', 'offapi', 'officecfg', 'onlineupdate', 'oovbaapi', 'oox', 'opencl', 'package', 'postprocess', 'pyuno', 'registry', 'remotebridges', 'reportbuilder', 'reportdesign', 'ridljar', 'rsc', 'salhelper', 'sax', 'sc', 'sccomp', 'scp2', 'scripting', 'sd', 'sdext', 'setup_native', 'sfx2', 'slideshow', 'smoketest', 'soltools', 'sot', 'starmath', 'store', 'svgio', 'svl', 'svtools', 'svx', 'sw', 'swext', 'sysui', 'test', 'testtoo
 ls', 'toolkit', 'tubes', 'ucb', 'ucbhelper', 'udkapi', 'uitest', 'UnoControls', 'unodevtools', 'unoidl', 'unoil', 'unotest', 'unotools', 'unoxml', 'ure', 'uui', 'vbahelper', 'vcl', 'winaccessibility', 'wizards', 'writerperfect', 'xmerge', 'xmlhelp', 'xmloff', 'xmlreader', 'xmlscript', 'xmlsecurity']
+        modules = ['accessibility', 'android', 'animations', 'apple_remote', 'avmedia', 'basctl', 'basegfx', 'basic', 'bean', 'canvas', 'chart2', 'codemaker', 'comphelper', 'cppcanvas', 'cui', 'dbaccess', 'desktop', 'drawinglayer', 'dtrans', 'editeng', 'embeddedobj', 'embedserv', 'eventattacher', 'extras', 'filter', 'forms', 'formula', 'fpicker', 'framework', 'hwpfilter', 'i18nlangtag', 'i18nutil', 'idl', 'idlc', 'instsetoo_native', 'io', 'ios', 'jvmaccess', 'jvmfwk', 'l10ntools', 'librelogo', 'libreofficekit', 'linguistic', 'lotuswordpro', 'mysqlc', 'nlpsolver', 'o3tl', 'offapi', 'officecfg', 'onlineupdate', 'oovbaapi', 'oox', 'opencl', 'package', 'postprocess', 'pyuno', 'registry', 'remotebridges', 'reportbuilder', 'reportdesign', 'ridljar', 'rsc', 'salhelper', 'sax', 'sc', 'sccomp', 'scp2', 'scripting', 'sd', 'sdext', 'setup_native', 'sfx2', 'slideshow', 'smoketest', 'soltools', 'sot', 'starmath', 'store', 'svgio', 'svl', 'svtools', 'svx', 'sw', 'swext', 'sysui', 'test', 'testtoo
 ls', 'toolkit', 'ucb', 'ucbhelper', 'udkapi', 'uitest', 'UnoControls', 'unodevtools', 'unoidl', 'unoil', 'unotest', 'unotools', 'unoxml', 'ure', 'uui', 'vbahelper', 'vcl', 'winaccessibility', 'wizards', 'writerperfect', 'xmerge', 'xmlhelp', 'xmloff', 'xmlreader', 'xmlscript', 'xmlsecurity']
         if os.environ['OS'] == 'WNT':
             # for now, use a limited subset for testing on windows as it is so annoyingly slow on this
             modules = ['chart2', 'cui', 'dbaccess', 'framework', 'oox', 'sfx2', 'svl', 'svtools', 'svx', 'toolkit', 'vcl', 'xmloff']
diff --git a/tubes/CppunitTest_tubes_test.mk b/tubes/CppunitTest_tubes_test.mk
deleted file mode 100644
index eada4f0de92e..000000000000
--- a/tubes/CppunitTest_tubes_test.mk
+++ /dev/null
@@ -1,29 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-#
-# This file is part of the LibreOffice project.
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-
-$(eval $(call gb_CppunitTest_CppunitTest,tubes_test))
-
-$(eval $(call gb_CppunitTest_add_exception_objects,tubes_test, \
-	tubes/qa/test_manager \
-))
-
-$(eval $(call gb_CppunitTest_use_libraries,tubes_test, \
-	sal \
-	tubes \
-	utl \
-	$(gb_UWINAPI) \
-))
-
-$(eval $(call gb_CppunitTest_use_externals,tubes_test,\
-	telepathy \
-))
-
-$(eval $(call gb_CppunitTest_use_udk_api,tubes_test))
-
-# vim: set noet sw=4 ts=4:
diff --git a/tubes/Executable_liboapprover.mk b/tubes/Executable_liboapprover.mk
deleted file mode 100644
index 57d785099180..000000000000
--- a/tubes/Executable_liboapprover.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-#
-# This file is part of the LibreOffice project.
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-
-$(eval $(call gb_Executable_Executable,liboapprover))
-
-$(eval $(call gb_Executable_use_externals,liboapprover,\
-    gtk \
-    telepathy \
-))
-
-$(eval $(call gb_Executable_add_cobjects,liboapprover,\
-    tubes/source/approver \
-))
-
-# vim: set ts=4 sw=4 et:
diff --git a/tubes/Library_tubes.mk b/tubes/Library_tubes.mk
deleted file mode 100644
index 96e93563d1f3..000000000000
--- a/tubes/Library_tubes.mk
+++ /dev/null
@@ -1,47 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-#
-#
-# This file is part of the LibreOffice project.
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-
-$(eval $(call gb_Library_Library,tubes))
-
-$(eval $(call gb_Library_use_sdk_api,tubes))
-
-$(eval $(call gb_Library_add_defs,tubes,\
-	-DTUBES_DLLIMPLEMENTATION \
-))
-
-$(eval $(call gb_Library_use_libraries,tubes,\
-	comphelper \
-	cppu \
-	sal \
-	svt \
-	svxcore \
-	tl \
-	vcl \
-	$(gb_UWINAPI) \
-))
-
-$(eval $(call gb_Library_use_externals,tubes,\
-	boost_headers \
-	gtk \
-	telepathy \
-))
-
-$(eval $(call gb_Library_add_exception_objects,tubes,\
-	tubes/source/collaboration \
-	tubes/source/conference \
-	tubes/source/contacts \
-	tubes/source/manager \
-))
-
-$(eval $(call gb_Library_add_cobjects,tubes,\
-	tubes/source/file-transfer-helper \
-))
-
-# vim:set shiftwidth=4 tabstop=4 noexpandtab: */
diff --git a/tubes/LibreOffice.client b/tubes/LibreOffice.client
deleted file mode 100644
index 8c3356fd30d2..000000000000
--- a/tubes/LibreOffice.client
+++ /dev/null
@@ -1,11 +0,0 @@
-[org.freedesktop.Telepathy.Client]
-Interfaces = org.freedesktop.Telepathy.Client.Handler;
-
-[org.freedesktop.Telepathy.Client.Handler]
-BypassApproval = false
-
-[org.freedesktop.Telepathy.Client.Handler.HandlerChannelFilter 0]
-org.freedesktop.Telepathy.Channel.TargetHandleType u = 1
-org.freedesktop.Telepathy.Channel.ChannelType s = org.freedesktop.Telepathy.Channel.Type.DBusTube
-org.freedesktop.Telepathy.Channel.Type.DBusTube.ServiceName s = org.libreoffice.calc
-
diff --git a/tubes/LibreOfficeApprover.client b/tubes/LibreOfficeApprover.client
deleted file mode 100644
index 035e02255d84..000000000000
--- a/tubes/LibreOfficeApprover.client
+++ /dev/null
@@ -1,8 +0,0 @@
-[org.freedesktop.Telepathy.Client]
-Interfaces = org.freedesktop.Telepathy.Client.Approver;
-
-[org.freedesktop.Telepathy.Client.Approver.ApproverChannelFilter 0]
-org.freedesktop.Telepathy.Channel.TargetHandleType u = 1
-org.freedesktop.Telepathy.Channel.ChannelType s = org.freedesktop.Telepathy.Channel.Type.DBusTube
-org.freedesktop.Telepathy.Channel.Type.DBusTube.ServiceName s = org.libreoffice.calc
-
diff --git a/tubes/Makefile b/tubes/Makefile
deleted file mode 100644
index ccb1c85a04da..000000000000
--- a/tubes/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-
-module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
-
-include $(module_directory)/../solenv/gbuild/partial_build.mk
-
-# vim: set noet sw=4 ts=4:
diff --git a/tubes/Module_tubes.mk b/tubes/Module_tubes.mk
deleted file mode 100644
index abccf51b2cbc..000000000000
--- a/tubes/Module_tubes.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-#
-#
-# This file is part of the LibreOffice project.
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-
-$(eval $(call gb_Module_Module,tubes))
-
-ifeq ($(ENABLE_TELEPATHY),TRUE)
-
-$(eval $(call gb_Module_add_targets,tubes,\
-	Executable_liboapprover \
-	Library_tubes \
-))
-
-$(eval $(call gb_Module_add_l10n_targets,tubes,\
-	UIConfig_tubes \
-))
-
-$(eval $(call gb_Module_add_subsequentcheck_targets,tubes,\
-	CppunitTest_tubes_test \
-))
-
-endif
-
-# vim:set shiftwidth=4 tabstop=4 noexpandtab: */
diff --git a/tubes/README b/tubes/README
deleted file mode 100644
index 8619a1a72ca3..000000000000
--- a/tubes/README
+++ /dev/null
@@ -1,82 +0,0 @@
-Interface to Telepathy Tubes.
-
-The idea is to provide 1-1 collaboration between contacts and many-many
-collaboration via MUCs, using Telepathy DBus Tubes over Jabber/XMPP.
-
-To enable configure LibO with --enable-telepathy
-
-Currently (2012-04-14) at least telepathy-glib 0.18 is needed, which doesn't
-come with distributions. Download it from
-http://telepathy.freedesktop.org/releases/telepathy-glib/
-and make install it locally, e.g. with --prefix=$HOME/usr
-For LibO configure then use PKG_CONFIG_PATH="$HOME/usr/lib/pkgconfig
-To not have tubes and sc cppunittests stumble (LD_LIBRARY_PATH is not evaluated
-in unit tests and thus not a solution) copy the libs to the solver, i.e.
-cp -p $HOME/usr/lib/libtelepathy-glib.* $SRCDIR/solver/$INPATH/lib/
-
-If you have a Telepathy-enabled LibreOffice installed to /usr (including
-liboapprover) you may also want to install the .service and .client files to
-make everything service-activatable. Currently this does not seem to work.
-
-    mkdir -p $HOME/.local/share/telepathy/clients
-    ln -s $PWD/tubes/LibreOffice.client \
-          $PWD/tubes/LibreOfficeApprover.client \
-          $HOME/.local/share/telepathy/clients
-
-    mkdir -p $HOME/.local/share/dbus-1/services
-    ln -s $PWD/tubes/org.freedesktop.Telepathy.Client.LibreOfficeApprover.service \
-          $PWD/tubes/org.freedesktop.Telepathy.Client.LibreOffice.service \
-          $HOME/.local/share/dbus-1/services
-
-
-* liboapprover
-
-You may run it in the background. When someone wants to collaborate with you,
-you then get a confirmation dialog.
-
-* Demo modes
-
-To play with the interposing without having an online account connected, create
-a bit of a document, go to File -> Collaboration -> startDemoSession and bingo.
-
-
-* To do interesting things with this code build and run calc thus:
-
-	SAL_LOG=1 ./soffice --calc
-
-	Now type simple strings into cells, rename sheets, or go to
-    File -> Collaboration; Listen; startBuddySession;
-    to transfer your document as-is to the other side ...
-
-
-* for the cppunittest needed:
-  * Configure two Jabber accounts in Empathy
-  * Both must be online and on each other's contact list
-  * Copy qa/test-config.ini.example to qa/test-config.ini, and specify those
-    two accounts' JIDs in it.
-
-
-* TODOs:
-
-* TeleConference is not deleted anywhere
-* dialog to pick own account
-* dialog to pick contact or MUC to work with
-* dialog to accept/reject collaboration requests
-* make the .service and .client files work reliably
-
-
-In applications, e.g. Calc:
-
-* stricter model,view,controller
-* disable all actions we cannot process collaboratively
-* separate input from view
-* preprocess input to determine data type (text, number, date, ...)
-* send typed/categorized data over wire before actually processing in model
-* process serialized input as received
-* Calc specific:
-  * use existing shared document feature with change-tracking enabled to
-    visualize changes
-    * may have the benefit of having already only a subset of trackable change
-      actions available
-  * let ScDocFunc handle also received changes
-* have dialogs send their result item sets over the wire
diff --git a/tubes/UIConfig_tubes.mk b/tubes/UIConfig_tubes.mk
deleted file mode 100644
index 43a0febe52f4..000000000000
--- a/tubes/UIConfig_tubes.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-#
-# This file is part of the LibreOffice project.
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-
-$(eval $(call gb_UIConfig_UIConfig,tubes))
-
-$(eval $(call gb_UIConfig_add_uifiles,tubes,\
-	tubes/uiconfig/ui/contacts \
-))
-
-# vim: set noet sw=4 ts=4:
diff --git a/tubes/org.freedesktop.Telepathy.Client.LibreOffice.service b/tubes/org.freedesktop.Telepathy.Client.LibreOffice.service
deleted file mode 100644
index d1257242ab17..000000000000
--- a/tubes/org.freedesktop.Telepathy.Client.LibreOffice.service
+++ /dev/null
@@ -1,3 +0,0 @@
-[D-BUS Service]
-Name=org.freedesktop.Telepathy.Client.LibreOffice
-Exec=/usr/bin/libreoffice --calc
diff --git a/tubes/org.freedesktop.Telepathy.Client.LibreOfficeApprover.service b/tubes/org.freedesktop.Telepathy.Client.LibreOfficeApprover.service
deleted file mode 100644
index 89e4acf668fb..000000000000
--- a/tubes/org.freedesktop.Telepathy.Client.LibreOfficeApprover.service
+++ /dev/null
@@ -1,3 +0,0 @@
-[D-BUS Service]
-Name=org.freedesktop.Telepathy.Client.LibreOfficeApprover
-Exec=/usr/bin/liboapprover
diff --git a/tubes/qa/test-config.ini.example b/tubes/qa/test-config.ini.example
deleted file mode 100644
index 2d03ca8f3bb1..000000000000
--- a/tubes/qa/test-config.ini.example
+++ /dev/null
@@ -1,5 +0,0 @@
-# Locally-configured Jabber accounts used by Tubes test suite.  These accounts
-# must both be signed in and on each others' contact lists for the tests to
-# work.
-offerer=libo1 at localhost.localdomain
-accepter=libo2 at localhost.localdomain
diff --git a/tubes/qa/test_manager.cxx b/tubes/qa/test_manager.cxx
deleted file mode 100644
index 11b653eb0ce1..000000000000
--- a/tubes/qa/test_manager.cxx
+++ /dev/null
@@ -1,192 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#include <sal/types.h>
-
-#include <cppunit/TestFixture.h>
-#include <cppunit/extensions/HelperMacros.h>
-#include <cppunit/plugin/TestPlugIn.h>
-
-#include <rtl/bootstrap.hxx>
-#include <rtl/string.hxx>
-#include <rtl/ustring.hxx>
-#include <tubes/collaboration.hxx>
-#include <tubes/manager.hxx>
-#include <unotools/localfilehelper.hxx>
-
-#include <telepathy-glib/telepathy-glib.h>
-
-class TeleConference;
-
-namespace {
-
-class TestTeleTubes: public CppUnit::TestFixture
-{
-public:
-
-    virtual void setUp() override;
-    virtual void tearDown() override;
-
-    void testSession();
-
-    // There is only one method because the code in setUp
-    // and tearDown is expected to be executed only once.
-    CPPUNIT_TEST_SUITE( TestTeleTubes );
-    CPPUNIT_TEST( testSession );
-    CPPUNIT_TEST_SUITE_END();
-};
-
-class TestCollaboration;
-// static, not members, so they actually survive cppunit test iteration
-static TestCollaboration*   mpCollaboration1 = nullptr;
-static TestCollaboration*   mpCollaboration2 = nullptr;
-//static bool                 mbFileSentSuccess = false;
-static bool                 mbPacketReceived = false;
-static OUString             maTestConfigIniURL;
-static OString              maOffererIdentifier;
-static OString              maAccepterIdentifier;
-
-class TestCollaboration : public Collaboration
-{
-    virtual void EndCollaboration() const override {}
-    virtual void PacketReceived( const OString& rPacket ) const override
-    {
-        CPPUNIT_ASSERT( rPacket == "from 1 to 2");
-        mbPacketReceived = true;
-    }
-    virtual void SaveAndSendFile( TpContact* ) const override {}
-    virtual void StartCollaboration( TeleConference* ) override {}
-};
-
-gboolean timed_out( void * )
-{
-    CPPUNIT_ASSERT_MESSAGE( "Test took longer than ten seconds!", false);
-
-    return FALSE;
-}
-
-void TestTeleTubes::setUp()
-{
-    g_timeout_add_seconds (10, timed_out, nullptr);
-    maTestConfigIniURL = "file://" +
-            OUString::createFromAscii( getenv("SRCDIR") ) + "/tubes/qa/test-config.ini";
-    rtl::Bootstrap aTestConfig( maTestConfigIniURL );
-
-    TeleManager::addSuffixToNames( "TeleTest");
-
-    OUString aOffererIdentifier;
-    CPPUNIT_ASSERT_MESSAGE( "See README for how to set up test-config.ini",
-        aTestConfig.getFrom("offerer", aOffererIdentifier));
-    maOffererIdentifier = OUStringToOString( aOffererIdentifier, RTL_TEXTENCODING_UTF8);
-
-    OUString aAccepterIdentifier;
-    CPPUNIT_ASSERT_MESSAGE( "See README for how to set up test-config.ini",
-        aTestConfig.getFrom("accepter", aAccepterIdentifier));
-    maAccepterIdentifier = OUStringToOString( aAccepterIdentifier, RTL_TEXTENCODING_UTF8);
-
-    mpCollaboration1 = new TestCollaboration();
-    mpCollaboration2 = new TestCollaboration();
-
-    CPPUNIT_ASSERT( TeleManager::init( true));
-}
-
-/* FIXME: do we need the possibility to pass function to Collaboration::SendFile() ?
-static void lcl_FileSent( bool success, void * )
-{
-    mbFileSentSuccess = success;
-}
-*/
-
-void TestTeleTubes::testSession()
-{
-    // First try to get account and contact
-    AccountContactPairV pairs = TeleManager::getContacts();
-    /* Both our accounts are meant to be signed in, and they both should be
-     * capable of LibreOffice tubes because this test runs after we register
-     * our handler. */
-    CPPUNIT_ASSERT_MESSAGE(
-        "Make sure both your test accounts are signed in "
-        "and are on each other's contact lists",
-        pairs.size() > 0 );
-
-    TpAccount* mpOffererAccount = nullptr;
-    TpContact* mpAccepterContact = nullptr;
-
-    for (AccountContactPairV::size_type i = 0; i < pairs.size(); i++)
-    {
-        AccountContactPair pair = pairs[i];
-
-        if (tp_account_get_normalized_name (pair.first) == maOffererIdentifier &&
-            tp_contact_get_identifier (pair.second) == maAccepterIdentifier)
-        {
-            mpOffererAccount = pair.first;
-            g_object_ref (mpOffererAccount);
-            mpAccepterContact = pair.second;
-            g_object_ref (mpAccepterContact);
-        }
-        g_object_unref (pair.first);
-        g_object_unref (pair.second);
-    }
-
-    CPPUNIT_ASSERT_MESSAGE(
-        "Couldn't find offerer account. "
-        "Make sure both your test accounts are signed in "
-        "and are on each other's contact lists",
-        mpOffererAccount);
-    CPPUNIT_ASSERT_MESSAGE(
-        "Couldn't find accepter contact. "
-        "Make sure both your test accounts are signed in "
-        "and are on each other's contact lists",
-        mpAccepterContact);
-
-    // Now we can start session
-    TeleConference* pConference = nullptr;
-    pConference = TeleManager::startBuddySession( mpOffererAccount, mpAccepterContact);
-    CPPUNIT_ASSERT( pConference != nullptr);
-    mpCollaboration1->SetConference( pConference );
-    mpCollaboration1->SendFile( mpAccepterContact, maTestConfigIniURL );
-
-    g_object_unref(mpOffererAccount);
-    mpOffererAccount = nullptr;
-    g_object_unref(mpAccepterContact);
-    mpAccepterContact = nullptr;
-
-    //while (!mbFileSentSuccess)
-    //    g_main_context_iteration( NULL, TRUE);
-
-    // This checks that the file was received and msCurrentUUID set (see manager.cxx)
-    while (!TeleManager::hasWaitingConference())
-        g_main_context_iteration( nullptr, TRUE);
-
-    pConference = TeleManager::getConference();
-    CPPUNIT_ASSERT( pConference != nullptr);
-    mpCollaboration2->SetConference( pConference );
-
-    mpCollaboration1->SendPacket( "from 1 to 2");
-
-    while (!mbPacketReceived)
-        g_main_context_iteration( nullptr, TRUE);
-}
-
-void TestTeleTubes::tearDown()
-{
-    // Closes the TeleConference in destructor:
-    delete mpCollaboration1;
-    delete mpCollaboration2;
-
-    TeleManager::finalize();
-}
-
-CPPUNIT_TEST_SUITE_REGISTRATION( TestTeleTubes);
-
-}
-
-CPPUNIT_PLUGIN_IMPLEMENT();
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/tubes/source/approver.c b/tubes/source/approver.c
deleted file mode 100644
index 6d6e28050d71..000000000000
--- a/tubes/source/approver.c
+++ /dev/null
@@ -1,235 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#include <glib.h>
-#include <stdio.h>
-
-#include <gtk/gtk.h>
-
-#include <telepathy-glib/telepathy-glib.h>
-#include <telepathy-glib/debug.h>
-#include <telepathy-glib/simple-approver.h>
-
-#include <constants.h>
-
-GMainLoop *mainloop = NULL;
-
-static void
-handle_with_cb (GObject *source,
-    GAsyncResult *result,
-    gpointer user_data)
-{
-  TpChannelDispatchOperation *cdo = TP_CHANNEL_DISPATCH_OPERATION (source);
-  GtkMessageDialog *dialog = GTK_MESSAGE_DIALOG (user_data);
-  GError *error = NULL;
-
-  if (!tp_channel_dispatch_operation_handle_with_finish (cdo, result, &error))
-    {
-      g_print ("HandleWith() failed: %s\n", error->message);
-      gtk_message_dialog_format_secondary_markup (dialog,
-          "<b>Error</b>\n\nAsking LibreOffice to accept the session failed: <i>%s</i>",
-          error->message);
-      g_error_free (error);
-      return;
-    }
-
-  g_print ("HandleWith() succeeded\n");
-  gtk_widget_destroy (GTK_WIDGET (dialog));
-}
-
-static void
-close_cb (GObject *source,
-    GAsyncResult *result,
-    gpointer user_data)
-
-{
-  TpChannelDispatchOperation *cdo = TP_CHANNEL_DISPATCH_OPERATION (source);
-  GError *error = NULL;
-
-  (void)user_data;      /* suppress unused-parameter warning */
-
-  if (!tp_channel_dispatch_operation_close_channels_finish (cdo, result, &error))
-    {
-      g_print ("Rejecting channels failed: %s\n", error->message);
-      g_error_free (error);
-      return;
-    }
-
-  g_print ("Rejected all the things!\n");
-}
-
-static void
-dialog_response_cb (
-    GtkWidget *dialog,
-    gint response_id,
-    gpointer user_data)
-{
-    TpSimpleApprover *self = TP_SIMPLE_APPROVER (g_object_get_data (G_OBJECT (dialog), "client"));
-    TpChannelDispatchOperation *cdo = TP_CHANNEL_DISPATCH_OPERATION (user_data);
-
-    (void)self;     /* suppress unused-parameter warning (could remove TP_SIMPLE_APPROVER above?) */
-
-    if (response_id == GTK_RESPONSE_ACCEPT)
-    {
-        g_print ("Approve channels\n");
-
-        tp_channel_dispatch_operation_handle_with_async (cdo, NULL,
-            handle_with_cb, dialog);
-
-        gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT, FALSE);
-        gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog), GTK_RESPONSE_REJECT, FALSE);
-    }
-    else
-    {
-        g_print ("Reject channels\n");
-
-        tp_channel_dispatch_operation_close_channels_async (cdo, close_cb, dialog);
-        gtk_widget_destroy (dialog);
-    }
-
-    g_object_unref (cdo);
-}
-
-static void
-show_dialog (
-    TpSimpleApprover *self,
-    TpChannelDispatchOperation *cdo,
-    TpContact *target)
-{
-    GFile *avatar_file = tp_contact_get_avatar_file (target);
-    GtkWidget *dialog = gtk_message_dialog_new_with_markup (NULL,
-        0, /* flags */
-        GTK_MESSAGE_QUESTION,
-        GTK_BUTTONS_NONE,
-        "<b>%s</b> (<i>%s</i>) would like to edit a spreadsheet in LibreOffice "
-        "with you.",
-        tp_contact_get_alias (target),
-        tp_contact_get_identifier (target));
-
-    if (avatar_file != NULL)
-    {
-        GtkWidget *avatar = gtk_image_new_from_file (g_file_get_path (avatar_file));
-
-        gtk_message_dialog_set_image (GTK_MESSAGE_DIALOG (dialog), avatar);
-    }
-
-    gtk_dialog_add_buttons (GTK_DIALOG (dialog),
-        "_Reject", GTK_RESPONSE_REJECT,
-        "_Accept", GTK_RESPONSE_ACCEPT,
-        NULL);
-
-    g_object_set_data_full (G_OBJECT (dialog), "client", g_object_ref (self), g_object_unref);
-    g_signal_connect (dialog, "response", G_CALLBACK (dialog_response_cb), g_object_ref (cdo));
-
-    gtk_window_set_skip_taskbar_hint (GTK_WINDOW (dialog), FALSE);
-
-    gtk_widget_show_all (dialog);
-}
-
-static void
-add_dispatch_operation_cb (TpSimpleApprover *self,
-    TpAccount *account,
-    TpConnection *connection,
-    GList *channels,
-    TpChannelDispatchOperation *cdo,
-    TpAddDispatchOperationContext *context,
-    gpointer user_data)
-{
-    TpContact *target = NULL;
-    GList *l;
-
-    (void)account;      /* suppress unused-parameter warning */
-    (void)connection;   /* suppress unused-parameter warning */
-    (void)user_data;    /* suppress unused-parameter warning */
-
-    g_print ("Approving this batch of channels:\n");
-
-    for (l = channels; l != NULL; l = g_list_next (l))
-    {
-        TpChannel *channel = l->data;
-
-        if (TP_IS_DBUS_TUBE_CHANNEL (channel))
-        {
-            target = tp_channel_get_target_contact (channel);
-            break;
-        }
-    }
-
-    if (target == NULL)
-    {
-        g_critical ("Hmm. No 1-1 D-Bus tube in cdo %s, so why did we get it?",
-            tp_proxy_get_object_path (cdo));
-        g_return_if_reached ();
-    }
-
-    tp_add_dispatch_operation_context_accept (context);
-    show_dialog (self, cdo, target);
-}
-
-int
-main (int argc,
-      char **argv)
-{
-  TpAccountManager *manager;
-  TpSimpleClientFactory *factory;
-  TpBaseClient *approver;
-  GError *error = NULL;
-
-  gtk_init (&argc, &argv);
-  tp_debug_set_flags (g_getenv ("LIBO_APPROVER_DEBUG"));
-
-  manager = tp_account_manager_dup ();
-
-    factory = tp_proxy_get_factory (manager);
-    /* We want the target contact on channels to be available... */
-    tp_simple_client_factory_add_channel_features_varargs (factory,
-        TP_CHANNEL_FEATURE_CONTACTS,
-        0);
-    /* ...and for it to have its alias and avatar available */
-    tp_simple_client_factory_add_contact_features_varargs (factory,
-        TP_CONTACT_FEATURE_ALIAS,
-        TP_CONTACT_FEATURE_AVATAR_DATA,
-        TP_CONTACT_FEATURE_INVALID);
-
-  approver = tp_simple_approver_new_with_am (manager, "LibreOfficeApprover",
-      FALSE, add_dispatch_operation_cb, NULL, NULL);
-
-  tp_base_client_take_approver_filter (approver, tp_asv_new (
-        TP_PROP_CHANNEL_CHANNEL_TYPE, G_TYPE_STRING,
-          TP_IFACE_CHANNEL_TYPE_DBUS_TUBE,
-        TP_PROP_CHANNEL_TARGET_HANDLE_TYPE, G_TYPE_UINT,
-          TP_HANDLE_TYPE_CONTACT,
-        TP_PROP_CHANNEL_TYPE_DBUS_TUBE_SERVICE_NAME, G_TYPE_STRING,
-          LIBO_DTUBE_SERVICE,
-        NULL));
-
-  if (!tp_base_client_register (approver, &error))
-    {
-      g_warning ("Failed to register Approver: %s\n", error->message);
-      g_error_free (error);
-      goto out;
-    }
-
-  g_print ("Start approving\n");
-
-  mainloop = g_main_loop_new (NULL, FALSE);
-  g_main_loop_run (mainloop);
-  /* TODO: time out after 5 seconds of inactivity? */
-
-  if (mainloop != NULL)
-    g_main_loop_unref (mainloop);
-
-out:
-  g_object_unref (manager);
-  g_object_unref (approver);
-
-  return 0;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/tubes/source/collaboration.cxx b/tubes/source/collaboration.cxx
deleted file mode 100644
index fe397f8381fd..000000000000
--- a/tubes/source/collaboration.cxx
+++ /dev/null
@@ -1,68 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#include <tubes/collaboration.hxx>
-#include <tubes/manager.hxx>
-
-#include <conference.hxx>
-#include <contacts.hxx>
-
-Collaboration::Collaboration() :
-    mpConference( nullptr )
-{
-    TeleManager::registerCollaboration( this );
-}
-
-Collaboration::~Collaboration()
-{
-    TeleManager::unregisterCollaboration( this );
-    if (mpConference)
-        mpConference->close();
-}
-
-sal_uInt64 Collaboration::GetId() const
-{
-    return reinterpret_cast<sal_uInt64> (this);
-}
-
-void Collaboration::Invite( TpContact* pContact ) const
-{
-    if (mpConference)
-    {
-        mpConference->invite( pContact );
-        SaveAndSendFile( pContact );
-    }
-}
-
-void Collaboration::DisplayContacts()
-{
-    if (!mpContacts)
-        mpContacts = VclPtr<tubes::TubeContacts>::Create( this );
-    mpContacts->Populate();
-}
-
-void Collaboration::SendFile( TpContact* pContact, const OUString& rURL ) const
-{
-    if (mpConference)
-        mpConference->sendFile( pContact, rURL, nullptr, nullptr );
-}
-
-void Collaboration::SendPacket( const OString& rPacket ) const
-{
-    if (mpConference)
-        mpConference->sendPacket( rPacket );
-}
-
-void Collaboration::SetConference( TeleConference* pConference )
-{
-    mpConference = pConference;
-    mpConference->setCollaboration( this );
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/tubes/source/conference.cxx b/tubes/source/conference.cxx
deleted file mode 100644
index 373a564692b0..000000000000
--- a/tubes/source/conference.cxx
+++ /dev/null
@@ -1,574 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#include <tubes/collaboration.hxx>
-#include <tubes/manager.hxx>
-
-#include <conference.hxx>
-#include <constants.h>
-#include <file-transfer-helper.h>
-
-#include <gtk/gtk.h>
-#include <telepathy-glib/telepathy-glib.h>
-
-#if defined SAL_LOG_INFO
-namespace
-{
-struct InfoLogger
-{
-    const void* mpThat;
-    const char* mpMethod;
-    explicit InfoLogger( const void* pThat, const char* pMethod )
-        :
-            mpThat( pThat),
-            mpMethod( pMethod)
-    {
-        SAL_INFO( "tubes.method", mpThat << " entering " << mpMethod);
-    }
-    ~InfoLogger()
-    {
-        SAL_INFO( "tubes.method", mpThat << " leaving  " << mpMethod);
-    }
-};
-}
-#define INFO_LOGGER_F(s)    InfoLogger aLogger(nullptr,(s))
-#define INFO_LOGGER(s)      InfoLogger aLogger(this,(s))
-#else
-#define INFO_LOGGER_F(s)
-#define INFO_LOGGER(s)
-#endif // SAL_LOG_INFO
-
-class TeleConferenceImpl
-{
-public:
-    guint                   maObjectRegistrationId;
-    GDBusConnection*        mpTube;
-    bool                    mbTubeOfferedHandlerInvoked : 1;
-
-    TeleConferenceImpl() :
-        mpTube( nullptr ),
-        mbTubeOfferedHandlerInvoked( false )
-    {}
-
-    ~TeleConferenceImpl() {}
-};
-
-static void TeleConference_MethodCallHandler(
-    GDBusConnection*       /*pConnection*/,
-    const gchar*           pSender,
-    const gchar*           /*pObjectPath*/,
-    const gchar*           pInterfaceName,
-    const gchar*           pMethodName,
-    GVariant*              pParameters,
-    GDBusMethodInvocation* pInvocation,
-    void*                  pUserData)
-{
-    INFO_LOGGER_F( "TeleConference_MethodCallHandler");
-
-    TeleConference* pConference = static_cast<TeleConference*>(pUserData);
-    SAL_WARN_IF( !pConference, "tubes", "TeleConference_MethodCallHandler: no conference");
-    if (!pConference)
-        return;
-
-    if (tp_strdiff (pMethodName, LIBO_TUBES_DBUS_MSG_METHOD))
-    {
-        g_dbus_method_invocation_return_error ( pInvocation,
-                G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD,
-                "Unknown method '%s' on interface %s",
-                pMethodName, pInterfaceName );
-        return;
-    }
-
-    if (!g_variant_is_of_type ( pParameters, G_VARIANT_TYPE ("(ay)")))
-    {
-        g_dbus_method_invocation_return_error ( pInvocation,
-                G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS,
-                "'%s' takes an array of bytes, not %s",
-                pMethodName,
-                g_variant_get_type_string (pParameters));
-        return;
-    }
-
-    GVariant *ay;
-    g_variant_get( pParameters, "(@ay)", &ay);
-    const char* pPacketData = static_cast<const char*>( g_variant_get_data( ay));
-    gsize nPacketSize = g_variant_get_size( ay);
-
-    SAL_WARN_IF( !pPacketData, "tubes", "TeleConference_MethodCallHandler: couldn't get packet data");
-    if (!pPacketData)
-        return;
-
-    SAL_INFO( "tubes", "TeleConference_MethodCallHandler: received packet from sender "
-            << (pSender ? pSender : "(null)") << " with size " << nPacketSize);
-    OString aPacket( pPacketData, nPacketSize );
-    if (pConference->getCollaboration())
-        pConference->getCollaboration()->PacketReceived( aPacket );
-    // Master needs to send the packet back to impose ordering,
-    // so the slave can execute his command.
-    if (pConference->isMaster())
-        pConference->sendPacket( aPacket );
-
-    g_dbus_method_invocation_return_value( pInvocation, nullptr );
-
-    g_variant_unref( ay);
-}
-
-
-static void TeleConference_ChannelCloseHandler(
-        TpChannel*      /*proxy*/,
-        const GError*   pError,
-        gpointer        pUserData,
-        GObject*        /*weak_object*/
-        )
-{
-    INFO_LOGGER_F( "TeleConference_ChannelCloseHandler");
-
-    TeleConference* pConference = static_cast<TeleConference*>(pUserData);
-    SAL_WARN_IF( !pConference, "tubes", "TeleConference_ChannelCloseHandler: no conference");
-    if (!pConference)
-        return;
-
-    if (pError)
-    {
-        SAL_WARN( "tubes", "TeleConference_ChannelCloseHandler: entered with error: " << pError->message);
-        pConference->finalize();
-        return;
-    }
-
-    pConference->finalize();
-}
-
-
-static void TeleConference_TubeOfferedHandler(
-        GObject*      pSource,
-        GAsyncResult* pResult,
-        gpointer      pUserData)
-{
-    INFO_LOGGER_F( "TeleConference_TubeOfferedHandler");
-
-    TeleConference* pConference = static_cast<TeleConference*>(pUserData);
-    SAL_WARN_IF( !pConference, "tubes", "TeleConference_TubeOfferedHandler: no conference");
-    if (!pConference)
-        return;
-
-    pConference->setTubeOfferedHandlerInvoked( true);
-
-    TpDBusTubeChannel* pChannel = TP_DBUS_TUBE_CHANNEL( pSource);
-    GError* pError = nullptr;
-    GDBusConnection* pTube = tp_dbus_tube_channel_offer_finish(
-            pChannel, pResult, &pError);
-
-    // "can't find contact ... presence" means contact is not a contact.
-    /* FIXME: detect and handle */
-    SAL_WARN_IF( !pTube, "tubes", "TeleConference_TubeOfferedHandler: entered with error: " << pError->message);
-    if (pError) {
-        g_error_free( pError);
-        return;
-    }
-
-    pConference->setTube( pTube);
-}
-
-
-static void TeleConference_TubeAcceptedHandler(
-        GObject*      pSource,
-        GAsyncResult* pResult,
-        gpointer      pUserData)
-{
-    INFO_LOGGER_F( "TeleConference_TubeAcceptedHandler");
-
-    TeleConference* pConference = static_cast<TeleConference*>(pUserData);
-    SAL_WARN_IF( !pConference, "tubes", "TeleConference_TubeAcceptedHandler: no conference");
-    if (!pConference)
-        return;
-
-    pConference->setTubeOfferedHandlerInvoked( true);
-
-    TpDBusTubeChannel* pChannel = TP_DBUS_TUBE_CHANNEL( pSource);
-    GError* pError = nullptr;
-    GDBusConnection* pTube = tp_dbus_tube_channel_accept_finish(
-            pChannel, pResult, &pError);
-
-    SAL_WARN_IF( !pTube, "tubes", "TeleConference_TubeAcceptedHandler: entered with error: " << pError->message);
-    if (pError) {
-        g_error_free( pError);
-        return;
-    }
-    GHashTable* pParameters = tp_dbus_tube_channel_get_parameters( pChannel);
-    const char* sUuid = tp_asv_get_string( pParameters, LIBO_TUBES_UUID);
-    pConference->setUuid( OString( sUuid));
-
-    pConference->setTube( pTube);
-}
-
-
-TeleConference::TeleConference( TpAccount* pAccount,
-        TpDBusTubeChannel* pChannel, const OString & sUuid, bool bMaster )
-    :
-        mpCollaboration( nullptr ),
-        mpAccount( nullptr ),
-        mpChannel( nullptr ),
-        msUuid( sUuid ),
-        mbMaster( bMaster ),
-        pImpl( new TeleConferenceImpl() )
-{
-    setChannel( pAccount, pChannel );
-}
-
-
-TeleConference::~TeleConference()
-{
-    // We're destructed from finalize()
-    delete pImpl;
-}
-
-static void channel_closed_cb( TpChannel *channel, gpointer user_data, GObject * /* weak_object */ )
-{
-    Collaboration* pCollaboration = static_cast<Collaboration*> (user_data);
-    if (TeleManager::existsCollaboration( pCollaboration ))
-    {
-        GtkWidget *dialog = gtk_message_dialog_new( nullptr, static_cast<GtkDialogFlags> (0),
-                GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE,
-                "Contact %s lost, you'll now be working locally.",
-                tp_contact_get_alias (tp_channel_get_target_contact (channel)) );
-        g_signal_connect_swapped (dialog, "response",
-                G_CALLBACK (gtk_widget_destroy), dialog);
-        gtk_widget_show_all (dialog);
-
-        pCollaboration->EndCollaboration();
-    }
-}
-
-
-void TeleConference::setChannel( TpAccount *pAccount, TpDBusTubeChannel* pChannel )
-{
-    SAL_WARN_IF( mpChannel, "tubes", "TeleConference::setChannel: already have channel");
-    if (mpChannel)
-        g_object_unref( mpChannel);
-    if (mpAccount)
-        g_object_unref( mpAccount);
-
-    mpChannel = pChannel;
-    if (mpChannel)
-        g_object_ref( mpChannel);
-
-    mpAccount = pAccount;
-    if (mpAccount)
-        g_object_ref( mpAccount);
-}
-
-
-bool TeleConference::spinUntilTubeEstablished()
-{
-    while (!isTubeOfferedHandlerInvoked())
-    {
-        g_main_context_iteration( nullptr, TRUE );
-    }
-
-    bool bOpen = pImpl->mpTube != nullptr;
-    SAL_INFO( "tubes", "TeleConference::spinUntilTubeEstablished: tube open: " << bOpen);
-    return bOpen;
-}
-
-
-bool TeleConference::acceptTube()
-{
-    INFO_LOGGER( "TeleConference::acceptTube");
-
-    SAL_WARN_IF( !mpChannel, "tubes", "TeleConference::acceptTube: no channel setup");
-    SAL_WARN_IF( pImpl->mpTube, "tubes", "TeleConference::acceptTube: already tubed");
-    if (!mpChannel || pImpl->mpTube)
-        return false;
-
-    tp_dbus_tube_channel_accept_async( mpChannel,
-            TeleConference_TubeAcceptedHandler,
-            this);
-    return spinUntilTubeEstablished();
-}
-
-
-bool TeleConference::offerTube()
-{
-    INFO_LOGGER( "TeleConference::offerTube");
-
-    SAL_WARN_IF( !mpChannel, "tubes", "TeleConference::offerTube: no channel");
-    if (!mpChannel)
-        return false;
-
-    GHashTable* pParameters = tp_asv_new (
-            LIBO_TUBES_UUID, G_TYPE_STRING, msUuid.getStr(),
-            nullptr);
-
-    tp_dbus_tube_channel_offer_async(
-            mpChannel,
-            pParameters,
-            TeleConference_TubeOfferedHandler,
-            this);
-
-    return spinUntilTubeEstablished();
-}
-
-
-bool TeleConference::setTube( GDBusConnection* pTube)
-{
-    INFO_LOGGER( "TeleConference::setTube");
-
-    SAL_WARN_IF( pImpl->mpTube, "tubes", "TeleConference::setTube: already tubed");
-
-    pImpl->mpTube = pTube;
-
-    GDBusNodeInfo *introspection_data;
-    static const GDBusInterfaceVTable interface_vtable =
-    {
-        TeleConference_MethodCallHandler,
-        nullptr,
-        nullptr,
-        { nullptr },
-    };
-    static const gchar introspection_xml[] =
-        "<node>"
-        "  <interface name='" LIBO_TUBES_DBUS_INTERFACE "'>"
-        "    <method name='" LIBO_TUBES_DBUS_MSG_METHOD "'>"
-        "      <arg type='ay' name='packet' direction='in'/>"
-        "    </method>"
-        "  </interface>"
-        "</node>";
-
-    introspection_data = g_dbus_node_info_new_for_xml (introspection_xml, nullptr);
-    g_assert (introspection_data != nullptr);
-
-    pImpl->maObjectRegistrationId = g_dbus_connection_register_object( pImpl->mpTube,
-            LIBO_TUBES_DBUS_PATH, introspection_data->interfaces[0],
-            &interface_vtable, this, nullptr, nullptr);
-    g_assert (pImpl->maObjectRegistrationId > 0);
-
-    g_dbus_node_info_unref (introspection_data);
-
-    return true;
-}
-
-void TeleConference::setTubeOfferedHandlerInvoked( bool b )
-{
-    pImpl->mbTubeOfferedHandlerInvoked = b;
-}
-
-bool TeleConference::isTubeOfferedHandlerInvoked() const
-{
-    return pImpl->mbTubeOfferedHandlerInvoked;
-}
-
-bool TeleConference::isReady() const
-{
-    return mpChannel && pImpl->mpTube;
-}
-
-void TeleConference::close()
-{
-    INFO_LOGGER( "TeleConference::close");
-
-    if (mpChannel)
-        tp_cli_channel_call_close( TP_CHANNEL( mpChannel), 5000, TeleConference_ChannelCloseHandler, this, nullptr, nullptr);
-    else
-        finalize();
-}
-
-
-void TeleConference::finalize()
-{
-    INFO_LOGGER( "TeleConference::finalize");
-
-    TeleManager::unregisterDemoConference( this );
-
-    if (mpChannel)
-    {
-        g_object_unref( mpChannel);
-        mpChannel = nullptr;
-    }
-
-    if (mpAccount)
-    {
-        g_object_unref( mpAccount);
-        mpAccount = nullptr;
-    }
-
-    if (pImpl->mpTube)
-    {
-        g_dbus_connection_unregister_object( pImpl->mpTube, pImpl->maObjectRegistrationId);
-        g_dbus_connection_close_sync( pImpl->mpTube, nullptr, nullptr );
-        g_object_unref( pImpl->mpTube );
-        pImpl->mpTube = nullptr;
-    }
-
-    //! *this gets destructed here!
-}
-
-
-bool TeleConference::sendPacket( const OString& rPacket )
-{
-    INFO_LOGGER( "TeleConference::sendPacket");
-
-    if (!mpChannel && !pImpl->mpTube)
-    {
-        TeleManager::broadcastPacket( rPacket );
-        return true;
-    }
-
-    SAL_WARN_IF( !pImpl->mpTube, "tubes", "TeleConference::sendPacket: no tube");
-    if (!pImpl->mpTube)
-        return false;
-
-    /* FIXME: in GLib 2.32 we can use g_variant_new_fixed_array(). It does
-     * essentially this.
-     */
-    void* pData = g_memdup( rPacket.getStr(), rPacket.getLength() );
-    GVariant *pParameters = g_variant_new_from_data( G_VARIANT_TYPE("(ay)"),
-            pData, rPacket.getLength(),
-            FALSE,
-            g_free, pData);
-

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list