ibus-qt  1.3.1
/builddir/build/BUILD/ibus-qt-1.3.1-Source/src/qibusenginedesc.h
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
 All Classes Namespaces Functions Enumerations Enumerator