on master help sign in
unity8/plugins/Unity/DashCommunicator/dashcommunicator.cpp
58 lines 1.7 kB history raw
1/*
2 * Copyright (C) 2014 Canonical, Ltd.
3 *
4 * This program is free software: you can redistribute it and/or modify it under
5 * the terms of the GNU Lesser General Public License version 3, as published by
6 * the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
10 * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
17#include "dashcommunicator.h"
18#include "dashconnection.h"
20#include <QObject>
22DashCommunicator::DashCommunicator(QObject *parent):
23 QThread(parent),
24 m_dashConnection(nullptr),
25 m_created(false)
27 start();
30DashCommunicator::~DashCommunicator()
32 quit();
33 wait();
36void DashCommunicator::setCurrentScope(int index, bool animate, bool isSwipe)
38 m_mutex.lock();
39 if (m_created) {
40 QMetaObject::invokeMethod(m_dashConnection, "setCurrentScope",
41 Q_ARG(int, index),
42 Q_ARG(bool, animate),
43 Q_ARG(bool, isSwipe));
44 }
45 m_mutex.unlock();
48void DashCommunicator::run()
50 m_dashConnection = new DashConnection(QStringLiteral("com.canonical.UnityDash"),
51 QStringLiteral("/com/canonical/UnityDash"),
52 QLatin1String(""), this);
53 m_mutex.lock();
54 m_created = true;
55 m_mutex.unlock();
57 exec();