ibus-qt  1.3.1
 All Classes Namespaces Functions Enumerations Enumerator
qibusenginedesc.h
1 #ifndef __Q_IBUS_ENGINE_DESC_H_
2 #define __Q_IBUS_ENGINE_DESC_H_
3 
4 #include <QDebug>
5 #include <QXmlStreamWriter>
6 #include <QtXml/QDomNode>
7 #include "qibusserializable.h"
8 
9 namespace IBus {
10 
11 class EngineDesc;
12 typedef Pointer<EngineDesc> EngineDescPointer;
13 
14 class EngineDesc : public Serializable
15 {
16  Q_OBJECT;
17 
18 public:
19  EngineDesc (): m_rank(0)
20  {}
21  EngineDesc (QString name,
22  QString lname,
23  QString desc,
24  QString lang,
25  QString lics,
26  QString auth,
27  QString icon,
28  QString layout,
29  QString hotkeys = "",
30  uint rank = 0):
31  m_name(name),
32  m_longname(lname),
33  m_description(desc),
34  m_language(lang),
35  m_license(lics),
36  m_author(auth),
37  m_icon(icon),
38  m_layout(layout),
39  m_hotkeys(hotkeys),
40  m_rank(rank)
41  {
42  m_engineInfo.insert("name", m_name);
43  m_engineInfo.insert("longname", m_longname);
44  m_engineInfo.insert("description", m_description);
45  m_engineInfo.insert("language", m_language);
46  m_engineInfo.insert("license", m_license);
47  m_engineInfo.insert("author", m_author);
48  m_engineInfo.insert("icon", m_icon);
49  m_engineInfo.insert("layout", m_layout);
50  m_engineInfo.insert("hotkeys", m_hotkeys);
51 
52  QString stringRank;
53  stringRank = stringRank.number(m_rank);
54  m_engineInfo.insert("rank", stringRank);
55  }
56 
57  virtual ~EngineDesc() {}
58 
59 public :
60  virtual bool serialize (QDBusArgument &argument);
61  virtual bool deserialize (const QDBusArgument &argument);
62 
63  void output (QString & output) const;
64  bool parseXmlNode (const QDomNode & node);
65 
66  const QMap<QString, QString> & getEngineInfo() const
67  {
68  return m_engineInfo;
69  }
70 
71 private :
72  QString m_name;
73  QString m_longname;
74  QString m_description;
75  QString m_language;
76  QString m_license;
77  QString m_author;
78  QString m_icon;
79  QString m_layout;
80  QString m_hotkeys;
81  uint m_rank;
82 
83  QMap<QString, QString> m_engineInfo;
84 
85  IBUS_SERIALIZABLE
86 };
87 
88 };
89 
90 #endif