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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
/* * This file is part of Maliit framework *
*
* Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
*
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1 as published by the Free Software Foundation
* and appearing in the file LICENSE.LGPL included in the packaging
* of this file.
*/
#include "inputcontextdbusaddress.h"
#include <QDBusConnection>
#include <QDBusMessage>
#include <QDBusVariant>
#include <QDBusError>
namespace {
const char * const MaliitServerName = "org.maliit.server";
const char * const MaliitServerObjectPath = "/org/maliit/server/address";
const char * const MaliitServerInterface = "org.maliit.Server.Address";
const char * const MaliitServerAddressProperty = "address";
const char * const DBusPropertiesInterface = "org.freedesktop.DBus.Properties";
const char * const DBusPropertiesGetMethod = "Get";
}
namespace Maliit {
namespace InputContext {
namespace DBus {
Address::Address()
{
}
Address::~Address()
{
}
void DynamicAddress::get()
{
QList<QVariant> arguments;
arguments.push_back(QVariant(QString::fromLatin1(MaliitServerInterface)));
arguments.push_back(QVariant(QString::fromLatin1(MaliitServerAddressProperty)));
QDBusMessage message = QDBusMessage::createMethodCall(MaliitServerName, MaliitServerObjectPath,
DBusPropertiesInterface, DBusPropertiesGetMethod);
message.setArguments(arguments);
QDBusConnection::sessionBus().callWithCallback(message, this,
SLOT(successCallback(QDBusVariant)),
SLOT(errorCallback(QDBusError)));
}
void DynamicAddress::successCallback(const QDBusVariant &address)
{
Q_EMIT addressReceived(address.variant().toString());
}
void DynamicAddress::errorCallback(const QDBusError &error)
{
Q_EMIT addressFetchError(error.message());
}
FixedAddress::FixedAddress(const QString &address)
: mAddress(address)
{
}
void FixedAddress::get()
{
Q_EMIT this->addressReceived(mAddress);
}
} // namespace DBus
} // namespace InputContext
} // namespace Maliit
|