1
/* * This file is part of Maliit framework *
3
* Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
6
* Contact: maliit-discuss@lists.maliit.org
8
* This library is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU Lesser General Public
10
* License version 2.1 as published by the Free Software Foundation
11
* and appearing in the file LICENSE.LGPL included in the packaging
15
#ifndef GLIBDBUSIMSERVERPROXY_H
16
#define GLIBDBUSIMSERVERPROXY_H
23
#include "mimserverconnection.h"
24
#include "inputcontextdbusaddress.h"
26
#include <QSharedPointer>
28
class GlibDBusIMServerProxyPrivate;
33
/* \brief Glib D-Bus implementation of a connection with the input method server.
35
* The input context is exposed over DBus so that the input method server can communicate with it,
36
* and methods can be called to communicate with the input method server.
39
// TODO: rename to MImGlibDBusServerConnection, or similar
40
class GlibDBusIMServerProxy: public MImServerConnection
45
GlibDBusIMServerProxy(const QSharedPointer<Maliit::InputContext::DBus::Address> &address, QObject *parent = 0);
46
virtual ~GlibDBusIMServerProxy();
49
virtual bool pendingResets();
51
/* Outbound communication */
52
virtual void activateContext();
54
virtual void showInputMethod();
56
virtual void hideInputMethod();
58
virtual void mouseClickedOnPreedit(const QPoint &pos, const QRect &preeditRect);
60
virtual void setPreedit(const QString &text, int cursorPos);
62
virtual void updateWidgetInformation(const QMap<QString, QVariant> &stateInformation,
65
virtual void reset(bool requireSynchronization);
67
virtual void appOrientationAboutToChange(int angle);
69
virtual void appOrientationChanged(int angle);
71
virtual void setCopyPasteState(bool copyAvailable, bool pasteAvailable);
73
virtual void processKeyEvent(QEvent::Type keyType, Qt::Key keyCode,
74
Qt::KeyboardModifiers modifiers,
75
const QString &text, bool autoRepeat, int count,
76
quint32 nativeScanCode, quint32 nativeModifiers, unsigned long time);
78
virtual void registerAttributeExtension(int id, const QString &fileName);
80
virtual void unregisterAttributeExtension(int id);
82
virtual void setExtendedAttribute(int id, const QString &target, const QString &targetItem,
83
const QString &attribute, const QVariant &value);
85
virtual void loadPluginSettings(const QString &descriptionLanguage);
88
void onInvokeAction(const QString &action, const QString &sequence);
92
void openDBusConnection(const QString &addressString);
93
void connectToDBusFailed(const QString &errorMessage);
96
void onDisconnection();
97
static void onDisconnectionTrampoline(void *proxy, void* userData);
98
static void onInvokeActionTrampoline(void *proxy, const char *action, const char *sequence, void* userData);
100
const QScopedPointer<GlibDBusIMServerProxyPrivate> d_ptr;
101
Q_DECLARE_PRIVATE(GlibDBusIMServerProxy)