Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • release/202005
  • release/202001
  • release/201912
  • release/201911
  • release/releaseWindowsTestOne
  • release/releaseTest
  • release/releaseWindowsTest
  • release/windowsReleaseTest
  • 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
  • 1.0.0
  • 0.3.0
  • 0.2.1
  • 0.2.0
  • 0.1.0
25 results

instancemanager.cpp

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    instancemanager.cpp 2.81 KiB
    /****************************************************************************
     *   Copyright (C) 2009-2014 by Savoir-Faire Linux                          *
     *   Authors : Alexandre Lision alexandre.lision@savoirfairelinux.com       *
     *   Author : Alexandre Lision <alexandre.lision@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 "instancemanager_wrap.h"
    #include "callmanager.h"
    #include "presencemanager.h"
    #include "configurationmanager.h"
    #ifdef ENABLE_VIDEO
     #include "videomanager.h"
    #endif //ENABLE_VIDEO
    
    static int ringFlags = 0;
    
    void pollEvents();
    
    InstanceInterface::InstanceInterface() : m_pTimer(nullptr)
    {
        using namespace std::placeholders;
    
        using std::bind;
        using DRing::exportable_callback;
        using DRing::CallSignal;
        using DRing::ConfigurationSignal;
        using DRing::PresenceSignal;
    
    #ifdef ENABLE_VIDEO
        using DRing::VideoSignal;
    #endif
    
       m_pTimer = new QTimer(this);
       m_pTimer->setInterval(50);
       connect(m_pTimer,SIGNAL(timeout()),this,SLOT(pollEvents()));
       m_pTimer->start();
       ringFlags |= DRing::DRING_FLAG_DEBUG;
       ringFlags |= DRing::DRING_FLAG_CONSOLE_LOG;
    
        DRing::init(static_cast<DRing::InitFlag>(ringFlags));
    
        registerCallHandlers(DBus::CallManager::instance().callHandlers);
        registerConfHandlers(DBus::ConfigurationManager::instance().confHandlers);
        registerPresHandlers(DBus::PresenceManager::instance().presHandlers);
    #ifdef ENABLE_VIDEO
        registerVideoHandlers(DBus::VideoManager::instance().videoHandlers);
    #endif
    
        if (!DRing::start())
            printf("Error initializing daemon\n");
        else
            printf("Daemon is running\n");
    }
    
    InstanceInterface::~InstanceInterface()
    {
    
    }
    
    void InstanceInterface::pollEvents()
    {
        DRing::pollEvents();
    }
    
    bool InstanceInterface::isConnected()
    {
       return true;
    }