ibus-qt 1.3.0

/builddir/build/BUILD/ibus-qt-1.3.0-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                 m_name(name),
00030                 m_longname(lname),
00031                 m_description(desc),
00032                 m_language(lang),
00033                 m_license(lics),
00034                 m_author(auth),
00035                 m_icon(icon),
00036                 m_layout(layout)
00037     {    
00038             m_engineInfo.insert("name", m_name);
00039             m_engineInfo.insert("longname", m_longname);
00040             m_engineInfo.insert("description", m_description);
00041         m_engineInfo.insert("language", m_language);
00042         m_engineInfo.insert("license", m_license);
00043         m_engineInfo.insert("author", m_author);
00044         m_engineInfo.insert("icon", m_icon);
00045         m_engineInfo.insert("layout", m_layout);
00046         m_engineInfo.insert("rank", 0);
00047     }
00048 
00049     virtual ~EngineDesc() {}
00050 
00051 public :
00052     virtual bool serialize (QDBusArgument &argument);
00053     virtual bool deserialize (const QDBusArgument &argument);
00054 
00055     void output (QString & output) const;
00056     bool parseXmlNode (const QDomNode & node);
00057 
00058     const QMap<QString, QString> & getEngineInfo() const
00059     {
00060         return m_engineInfo;
00061     }
00062 
00063 private :
00064     QString m_name;
00065     QString m_longname;
00066     QString m_description;
00067     QString m_language;
00068     QString m_license;
00069     QString m_author;
00070     QString m_icon;
00071     QString m_layout;
00072     uint    m_rank;
00073 
00074     QMap<QString, QString> m_engineInfo;
00075 
00076     IBUS_SERIALIZABLE
00077 };
00078 
00079 };
00080 
00081 #endif
 All Classes Namespaces Functions Enumerations Enumerator