~canonical-platform-qa/autopilot-qt/overlay

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*
Copyright 2012 Canonical

This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License version 3, as published
by the Free Software Foundation.
*/

#include "qttestability.h"
#include "dbus_adaptor.h"
#include "dbus_adaptor_qt.h"
#include "dbus_object.h"
#include "qtnode.h"

#include <QCoreApplication>
#include <QDebug>
#include <QtDBus>

const QString DBUS_OBJECT_PATH("/com/canonical/Autopilot/Introspection");

void qt_testability_init(void)
{
    qDebug() << "Loading testability driver.";
    qDBusRegisterMetaType<NodeIntrospectionData>();
    qDBusRegisterMetaType<QList<NodeIntrospectionData> >();

    DBusObject* obj = new DBusObject;
    new AutopilotAdaptor(obj);
    new AutopilotQtSpecificAdaptor(obj);

    QDBusConnection connection = QDBusConnection::sessionBus();

    if (!connection.registerObject(DBUS_OBJECT_PATH, obj))
    {
        qDebug("Unable to register object on D-Bus! Testability interface will not be available.");
    }
}