ibus-qt
1.3.1
|
00001 #ifndef __Q_IBUS_ENGINE_DESC_H_ 00002 #define __Q_IBUS_ENGINE_DESC_H_ 00003 00004 #include <QDebug> 00005 #include <QXmlStreamWriter> 00006 #include <QtXml/QDomNode> 00007 #include "qibusserializable.h" 00008 00009 namespace IBus { 00010 00011 class EngineDesc; 00012 typedef Pointer<EngineDesc> EngineDescPointer; 00013 00014 class EngineDesc : public Serializable 00015 { 00016 Q_OBJECT; 00017 00018 public: 00019 EngineDesc (): m_rank(0) 00020 {} 00021 EngineDesc (QString name, 00022 QString lname, 00023 QString desc, 00024 QString lang, 00025 QString lics, 00026 QString auth, 00027 QString icon, 00028 QString layout, 00029 QString hotkeys = "", 00030 uint rank = 0): 00031 m_name(name), 00032 m_longname(lname), 00033 m_description(desc), 00034 m_language(lang), 00035 m_license(lics), 00036 m_author(auth), 00037 m_icon(icon), 00038 m_layout(layout), 00039 m_hotkeys(hotkeys), 00040 m_rank(rank) 00041 { 00042 m_engineInfo.insert("name", m_name); 00043 m_engineInfo.insert("longname", m_longname); 00044 m_engineInfo.insert("description", m_description); 00045 m_engineInfo.insert("language", m_language); 00046 m_engineInfo.insert("license", m_license); 00047 m_engineInfo.insert("author", m_author); 00048 m_engineInfo.insert("icon", m_icon); 00049 m_engineInfo.insert("layout", m_layout); 00050 m_engineInfo.insert("hotkeys", m_hotkeys); 00051 00052 QString stringRank; 00053 stringRank = stringRank.number(m_rank); 00054 m_engineInfo.insert("rank", stringRank); 00055 } 00056 00057 virtual ~EngineDesc() {} 00058 00059 public : 00060 virtual bool serialize (QDBusArgument &argument); 00061 virtual bool deserialize (const QDBusArgument &argument); 00062 00063 void output (QString & output) const; 00064 bool parseXmlNode (const QDomNode & node); 00065 00066 const QMap<QString, QString> & getEngineInfo() const 00067 { 00068 return m_engineInfo; 00069 } 00070 00071 private : 00072 QString m_name; 00073 QString m_longname; 00074 QString m_description; 00075 QString m_language; 00076 QString m_license; 00077 QString m_author; 00078 QString m_icon; 00079 QString m_layout; 00080 QString m_hotkeys; 00081 uint m_rank; 00082 00083 QMap<QString, QString> m_engineInfo; 00084 00085 IBUS_SERIALIZABLE 00086 }; 00087 00088 }; 00089 00090 #endif