ibus-qt  1.3.3
qibusenginefactory.h
1 #ifndef __Q_IBUS_FACTORY_ADAPTOR_H_
2 #define __Q_IBUS_FACTORY_ADAPTOR_H_
3 
4 #include <QLinkedList>
5 #include <QDBusConnection>
6 #include <QDBusObjectPath>
7 #include "qibusobject.h"
8 
9 class IBusFactoryAdaptor;
10 
11 namespace IBus {
12 
13 class Engine;
14 typedef Pointer<Engine> EnginePointer;
15 
16 class EngineFactory : public Object
17 {
18  Q_OBJECT;
19 
20 private :
21  Q_INVOKABLE EngineFactory (const QDBusConnection &conn, uint id = 0);
22  ~EngineFactory ();
23 
24 public:
25  void addMetaObject (const QString &name, const QMetaObject *metaObject);
26  static EngineFactory *getEngineFactory (const QDBusConnection &conn);
27 
28 protected:
29  virtual QString createEngine (const QString &name);
30 
31 private Q_SLOTS:
32  Q_INVOKABLE QDBusObjectPath CreateEngine (const QString &name);
33  Q_INVOKABLE void Destroy ();
34 
35 private :
36 
37  uint m_id;
38  QDBusConnection m_conn;
39  QMap<QString, const QMetaObject *> m_engineMap;
40  QLinkedList<EnginePointer> m_engineLList;
41  IBusFactoryAdaptor *m_factoryAdaptor;
42 
43  static EngineFactory *m_factory;
44 };
45 
46 };
47 
48 #endif
Definition: qibusenginefactory.h:17
Definition: qibusobject.h:19
Definition: qibusattribute.cpp:3