Skip to content
Snippets Groups Projects
Select Git revision
  • 50bf08e18a7aebf537fb1d757fdc1b2651c5ef7a
  • master default protected
  • release/202005
  • release/202001
  • release/201912
  • release/201911
  • release/releaseWindowsTestOne
  • release/windowsReleaseTest
  • release/releaseTest
  • release/releaseWindowsTest
  • release/201910
  • release/qt/201910
  • release/windows-test/201910
  • release/201908
  • release/201906
  • release/201905
  • release/201904
  • release/201903
  • release/201902
  • release/201901
  • release/201812
  • 4.0.0
  • 2.2.0
  • 2.1.0
  • 2.0.1
  • 2.0.0
  • 1.4.1
  • 1.4.0
  • 1.3.0
  • 1.2.0
  • 1.1.0
31 results

managerimpl.cpp

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    presencemanager.cpp 2.28 KiB
    /****************************************************************************
     *   Copyright (C) 2013-2015 by Savoir-faire Linux                          *
     *   Author : Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com> *
     *                                                                          *
     *   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 General Public License      *
     *   along with this program.  If not, see <http://www.gnu.org/licenses/>.  *
     ***************************************************************************/
    #include "presencemanager.h"
    
    #include "../globalinstances.h"
    #include "../interfaces/dbuserrorhandleri.h"
    
    PresenceManagerInterface* DBus::PresenceManager::interface = nullptr;
    
    PresenceManagerInterface& DBus::PresenceManager::instance()
    {
    #ifdef ENABLE_LIBWRAP
        if (!interface)
            interface = new PresenceManagerInterface();
    #else
        if (!dbus_metaTypeInit) registerCommTypes();
        if (!interface)
            interface = new PresenceManagerInterface("cx.ring.Ring", "/cx/ring/Ring/PresenceManager", QDBusConnection::sessionBus());
        if (!interface->connection().isConnected()) {
            GlobalInstances::dBusErrorHandler().connectionError(
                "Error : dring not connected. Service " + interface->service() + " not connected. From presence interface."
            );
        }
        if (!interface->isValid()) {
            GlobalInstances::dBusErrorHandler().invalidInterfaceError(
                "Error : dring is not available, make sure it is running"
            );
        }
    #endif
        return *interface;
    }