ibus-qt  1.3.1
/builddir/build/BUILD/ibus-qt-1.3.1-Source/src/qibusbus.h
00001 #ifndef __Q_IBUS_BUS_H_
00002 #define __Q_IBUS_BUS_H_
00003 
00004 #include <QFileSystemWatcher>
00005 #include <QDBusConnection>
00006 #include "qibusobject.h"
00007 #include "qibusserializable.h"
00008 #include "qibusenginedesc.h"
00009 #include "qibuscomponent.h"
00010 #include "qibusengine.h"
00011 
00012 class QDBusConnection;
00013 class IBusProxy;
00014 class DBusProxy;
00015 
00016 namespace IBus {
00017 
00018 class Bus;
00019 typedef Pointer<Bus> BusPointer;
00020 
00021 class Bus : public Object
00022 {
00023     Q_OBJECT;
00024 
00025 protected:
00026 
00027 public:
00028     Bus (void);
00029     ~Bus (void);
00030     bool isConnected (void);
00031     const QDBusConnection &getConnection (void);
00032 
00033     /* org.freedesktop.DBus methods */
00034     QString hello (void);
00035     void addMatch (const QString &rule);
00036     void removeMatch (const QString &rule);
00037     QString getId (void);
00038     QString getNameOwner (const QString &name);
00039     QStringList listNames (void);
00040     bool nameHasOwner (const QString &name);
00041     uint requestName (const QString &name, uint flag);
00042     uint releaseName (const QString &name);
00043 
00044     /* org.freedesktop.IBus methods */
00045     QString createInputContext (const QString &name);
00046     bool registerComponent (const ComponentPointer &component);
00047     bool registerObject (const QString &path, QObject *obj);
00048 
00049     QList<EngineDescPointer> listEngines (void);
00050     QList<EngineDescPointer> listActiveEngines (void);
00051     bool exit (bool restart = false);
00052     SerializablePointer ping (const SerializablePointer &data);
00053 
00054 private:
00055     bool open (void);
00056     void reset (void);
00057     QString getSocketPath (void);
00058     QString getAddress (void);
00059 
00060 signals:
00064     void disconnected (void);
00065 
00069     void connected (void);
00070 
00071 private slots:
00072     void slotAddressChanged (const QString &path);
00073     void slotIBusDisconnected (void);
00074 
00075 private:
00076     QFileSystemWatcher m_watcher;
00077     QDBusConnection *m_connection;
00078     DBusProxy *m_dbus;
00079     IBusProxy *m_ibus;
00080 };
00081 
00082 };
00083 
00084 #endif
 All Classes Namespaces Functions Enumerations Enumerator