1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
10 #ifndef INCLUDED_TUBES_COLLABORATION_HXX
11 #define INCLUDED_TUBES_COLLABORATION_HXX
13 #include <sal/config.h>
15 #include <rtl/ustring.hxx>
16 #include <tubes/tubesdllapi.h>
19 typedef struct _TpContact TpContact
;
21 class TUBES_DLLPUBLIC Collaboration
23 TeleConference
* mpConference
;
24 // This is in fact of type TubeContacts* from anonymous namespace
28 virtual ~Collaboration();
30 /** Returns to normal editing mode */
31 virtual void EndCollaboration() const = 0;
32 virtual void PacketReceived( const OString
& rPacket
) const = 0;
33 /** Saves current document and then calls SendFile() with the file URL */
34 virtual void SaveAndSendFile( TpContact
* pContact
) const = 0;
35 /** Prepares document for collaboration and should call SetConference() */
36 virtual void StartCollaboration( TeleConference
* pConference
) = 0;
38 TUBES_DLLPRIVATE sal_uInt64
GetId() const;
39 TUBES_DLLPRIVATE
void Invite( TpContact
* pContact
) const;
41 /** Application calls this to display contacts dialog from where can the collaboration start */
42 void DisplayContacts();
43 void SendFile( TpContact
* pContact
, const OUString
& rURL
) const;
44 void SendPacket( const OString
& rPacket
) const;
45 void SetConference( TeleConference
* pConference
);
48 #endif // INCLUDED_TUBES_COLLABORATION_HXX
50 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */