diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2016-10-27 20:56:43 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2016-10-28 08:52:46 +0200 |
commit | f479e6878e03ff3a6090b2b617175ebc1036915f (patch) | |
tree | 38a0eb798d7ddbc14fbe69b9ee26e0fb298de5b6 /tubes | |
parent | 97c28ad74f09da7337119f3acf2e6b911b48523f (diff) |
Move internal include files from include/tubes/ to tubes/source/
Change-Id: I2fa9334721c203d4d977f0638a9030e8e74efc06
Diffstat (limited to 'tubes')
-rw-r--r-- | tubes/source/approver.c | 2 | ||||
-rw-r--r-- | tubes/source/collaboration.cxx | 3 | ||||
-rw-r--r-- | tubes/source/conference.cxx | 8 | ||||
-rw-r--r-- | tubes/source/conference.hxx | 83 | ||||
-rw-r--r-- | tubes/source/constants.h | 35 | ||||
-rw-r--r-- | tubes/source/contacts.cxx | 2 | ||||
-rw-r--r-- | tubes/source/file-transfer-helper.c | 2 | ||||
-rw-r--r-- | tubes/source/file-transfer-helper.h | 121 | ||||
-rw-r--r-- | tubes/source/manager.cxx | 8 |
9 files changed, 251 insertions, 13 deletions
diff --git a/tubes/source/approver.c b/tubes/source/approver.c index d8d8901e4a26..6d6e28050d71 100644 --- a/tubes/source/approver.c +++ b/tubes/source/approver.c @@ -16,7 +16,7 @@ #include <telepathy-glib/debug.h> #include <telepathy-glib/simple-approver.h> -#include <tubes/constants.h> +#include <constants.h> GMainLoop *mainloop = NULL; diff --git a/tubes/source/collaboration.cxx b/tubes/source/collaboration.cxx index ce097b2c38b6..fe397f8381fd 100644 --- a/tubes/source/collaboration.cxx +++ b/tubes/source/collaboration.cxx @@ -8,10 +8,9 @@ */ #include <tubes/collaboration.hxx> - -#include <tubes/conference.hxx> #include <tubes/manager.hxx> +#include <conference.hxx> #include <contacts.hxx> Collaboration::Collaboration() : diff --git a/tubes/source/conference.cxx b/tubes/source/conference.cxx index 57d0e9d01cc1..373a564692b0 100644 --- a/tubes/source/conference.cxx +++ b/tubes/source/conference.cxx @@ -7,13 +7,13 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#include <tubes/conference.hxx> - #include <tubes/collaboration.hxx> -#include <tubes/constants.h> -#include <tubes/file-transfer-helper.h> #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> diff --git a/tubes/source/conference.hxx b/tubes/source/conference.hxx new file mode 100644 index 000000000000..3b80eb13eb33 --- /dev/null +++ b/tubes/source/conference.hxx @@ -0,0 +1,83 @@ +/* -*- 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_CONFERENCE_HXX +#define INCLUDED_TUBES_CONFERENCE_HXX + +#include <sal/config.h> +#include <rtl/ustring.hxx> + +class Collaboration; +class TeleConferenceImpl; +typedef struct _TpAccount TpAccount; +typedef struct _TpContact TpContact; +typedef struct _TpDBusTubeChannel TpDBusTubeChannel; +typedef struct _GDBusConnection GDBusConnection; + +/** Conference setup by TeleManager */ +class TeleConference +{ +public: + + TeleConference( TpAccount* pAccount, + TpDBusTubeChannel* pChannel, + const OString & sUuid = OString(), + bool bMaster = false ); + ~TeleConference(); + + /// Close channel and call finalize() + void close(); + + /// Unrefs, unregisters from manager and calls dtor if last reference! + void finalize(); + + bool sendPacket( const OString& rPacket ); + + void invite( TpContact *pContact ); + + typedef void (*FileSentCallback)( bool aSuccess, void* pUserData); + void sendFile( TpContact* pContact, const OUString& rURL, FileSentCallback pCallback, void* pUserData); + const OString& getUuid() const { return msUuid; } + + Collaboration* getCollaboration() const; + void setCollaboration( Collaboration* pCollaboration ); + + // --- following only to be called only by manager's callbacks --- + // TODO: make friends instead + void setChannel( TpAccount* pAccount, TpDBusTubeChannel* pChannel ); + bool offerTube(); + bool acceptTube(); + + // Only for callbacks. + bool setTube( GDBusConnection* pTube ); + void setTubeOfferedHandlerInvoked( bool b ); + bool isTubeOfferedHandlerInvoked() const; + bool isMaster() const; + void setUuid( const OString& rUuid ) { msUuid = rUuid; } + +private: + friend class TeleManager; + // Used only by TeleManager: + /// got tube accepted on other end as well? + bool isReady() const; + + // Private: + bool spinUntilTubeEstablished(); + + Collaboration* mpCollaboration; + TpAccount* mpAccount; + TpDBusTubeChannel* mpChannel; + OString msUuid; + bool mbMaster; + TeleConferenceImpl* pImpl; +}; + +#endif // INCLUDED_TUBES_CONFERENCE_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/tubes/source/constants.h b/tubes/source/constants.h new file mode 100644 index 000000000000..5f861e5ea738 --- /dev/null +++ b/tubes/source/constants.h @@ -0,0 +1,35 @@ +/* -*- 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_CONSTANTS_H +#define INCLUDED_TUBES_CONSTANTS_H + +/* DBusTube.ServiceName. + * + * FIXME: Should be something like + * + * org.libreoffice.calc + * org.libreoffice.writer + * + * etc. This does not need to include the org.freedesktop.Telepathy.Client + * stuff. + */ +#define LIBO_DTUBE_SERVICE "org.libreoffice.calc" + +/* Client name suffix, for passing as 'name' to + * tp_simple_handler_new_with_am(). */ +#define LIBO_CLIENT_SUFFIX "LibreOffice" + +/* Key value storing UUID for TeleConference + */ +#define LIBO_TUBES_UUID "LIBO_TUBES_UUID" + +#endif // INCLUDED_TUBES_CONSTANTS_H + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/tubes/source/contacts.cxx b/tubes/source/contacts.cxx index fd7855407146..96a1b25b9d45 100644 --- a/tubes/source/contacts.cxx +++ b/tubes/source/contacts.cxx @@ -10,11 +10,11 @@ #include <sal/config.h> #include <vcl/graphicfilter.hxx> -#include <tubes/conference.hxx> #include <tubes/collaboration.hxx> #include <telepathy-glib/telepathy-glib.h> +#include <conference.hxx> #include <contacts.hxx> void tubes::TubeContacts::Invite() diff --git a/tubes/source/file-transfer-helper.c b/tubes/source/file-transfer-helper.c index d2dc4fd3d505..043d464df820 100644 --- a/tubes/source/file-transfer-helper.c +++ b/tubes/source/file-transfer-helper.c @@ -29,7 +29,7 @@ #include <telepathy-glib/dbus.h> #include <telepathy-glib/interfaces.h> -#include <tubes/file-transfer-helper.h> +#include <file-transfer-helper.h> #define DEBUG(...) diff --git a/tubes/source/file-transfer-helper.h b/tubes/source/file-transfer-helper.h new file mode 100644 index 000000000000..ffcbc4b19837 --- /dev/null +++ b/tubes/source/file-transfer-helper.h @@ -0,0 +1,121 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * empathy-ft-handler.h - Header for EmpathyFTHandler + * Copyright (C) 2009 Collabora Ltd. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + * Author: Cosimo Cecchi <cosimo.cecchi@collabora.co.uk> + */ + +/* empathy-ft-handler.h */ + +#ifndef INCLUDED_TUBES_FILE_TRANSFER_HELPER_H +#define INCLUDED_TUBES_FILE_TRANSFER_HELPER_H + +#include <config_lgpl.h> +#include <glib-object.h> +#include <gio/gio.h> + +#include <telepathy-glib/contact.h> +#include <telepathy-glib/file-transfer-channel.h> + +G_BEGIN_DECLS + +#define EMPATHY_TYPE_FT_HANDLER empathy_ft_handler_get_type() +#define EMPATHY_FT_HANDLER(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ + EMPATHY_TYPE_FT_HANDLER, EmpathyFTHandler)) +#define EMPATHY_IS_FT_HANDLER(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EMPATHY_TYPE_FT_HANDLER)) + +typedef struct EmpathyFTHandlerPriv_ EmpathyFTHandlerPriv; + +typedef struct { + GObject parent; + EmpathyFTHandlerPriv *priv; +} EmpathyFTHandler; + +typedef struct { + GObjectClass parent_class; +} EmpathyFTHandlerClass; + +#define EMPATHY_FT_ERROR_QUARK g_quark_from_static_string ("EmpathyFTError") + +typedef enum { + EMPATHY_FT_ERROR_FAILED, + EMPATHY_FT_ERROR_HASH_MISMATCH, + EMPATHY_FT_ERROR_TP_ERROR, + EMPATHY_FT_ERROR_SOCKET, + EMPATHY_FT_ERROR_NOT_SUPPORTED, + EMPATHY_FT_ERROR_INVALID_SOURCE_FILE, + EMPATHY_FT_ERROR_EMPTY_SOURCE_FILE +} EmpathyFTErrorEnum; + +/** + * EmpathyFTHandlerReadyCallback: + * @handler: the handler which is now ready + * @error: a #GError if the operation failed, or %NULL + * @user_data: user data passed to the callback + */ +typedef void (* EmpathyFTHandlerReadyCallback) (EmpathyFTHandler *handler, + GError *error, + gpointer user_data); + +GType empathy_ft_handler_get_type (void); + +/* public methods */ +void empathy_ft_handler_new_outgoing ( + TpAccount *account, + TpContact *contact, + GFile *source, + gint64 action_time, + EmpathyFTHandlerReadyCallback callback, + gpointer user_data); +void empathy_ft_handler_set_service_name ( + EmpathyFTHandler *self, + const gchar *service_name); +void empathy_ft_handler_set_description ( + EmpathyFTHandler *self, + const gchar *description); + + +void empathy_ft_handler_new_incoming (TpFileTransferChannel *channel, + EmpathyFTHandlerReadyCallback callback, + gpointer user_data); +void empathy_ft_handler_incoming_set_destination (EmpathyFTHandler *handler, + GFile *destination); + +void empathy_ft_handler_start_transfer (EmpathyFTHandler *handler); +void empathy_ft_handler_cancel_transfer (EmpathyFTHandler *handler); + +/* properties of the transfer */ +const char * empathy_ft_handler_get_filename (EmpathyFTHandler *handler); +const char * empathy_ft_handler_get_content_type (EmpathyFTHandler *handler); +TpContact * empathy_ft_handler_get_contact (EmpathyFTHandler *handler); +GFile * empathy_ft_handler_get_gfile (EmpathyFTHandler *handler); +const char *empathy_ft_handler_get_description(EmpathyFTHandler*); +gboolean empathy_ft_handler_get_use_hash (EmpathyFTHandler *handler); +gboolean empathy_ft_handler_is_incoming (EmpathyFTHandler *handler); +guint64 empathy_ft_handler_get_transferred_bytes (EmpathyFTHandler *handler); +guint64 empathy_ft_handler_get_total_bytes (EmpathyFTHandler *handler); +gboolean empathy_ft_handler_is_completed (EmpathyFTHandler *handler); +gboolean empathy_ft_handler_is_cancelled (EmpathyFTHandler *handler); + +G_END_DECLS + +#endif // INCLUDED_TUBES_FILE_TRANSFER_HELPER_H + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/tubes/source/manager.cxx b/tubes/source/manager.cxx index 909904e2f7b6..aa550058d6f5 100644 --- a/tubes/source/manager.cxx +++ b/tubes/source/manager.cxx @@ -7,12 +7,12 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#include <tubes/collaboration.hxx> #include <tubes/manager.hxx> -#include <tubes/collaboration.hxx> -#include <tubes/conference.hxx> -#include <tubes/constants.h> -#include <tubes/file-transfer-helper.h> +#include <conference.hxx> +#include <constants.h> +#include <file-transfer-helper.h> #include <com/sun/star/uno/Sequence.hxx> #include <com/sun/star/frame/Desktop.hpp> |