ibus-qt 1.3.1

/builddir/build/BUILD/ibus-qt-1.3.1-Source/src/qibuscomponent.h

00001 #ifndef __Q_IBUS_COMPONENT_H_
00002 #define __Q_IBUS_COMPONENT_H_
00003 
00004 #include <QFile>
00005 #include <QDebug>
00006 #include <QVector>
00007 #include <QProcess>
00008 #include <QXmlStreamWriter>
00009 #include <QtXml/QDomNode>
00010 #include "qibusserializable.h"
00011 #include "qibusenginedesc.h"
00012 #include "qibusobservedpath.h"
00013 
00014 namespace IBus {
00015 
00016 class Component;
00017 typedef Pointer<Component> ComponentPointer;
00018 
00019 class Component : public Serializable
00020 {
00021     Q_OBJECT;
00022 
00023 public:
00024     Component () {}
00025     Component (const QString & name,
00026                const QString & desc,
00027                const QString & vers,
00028                const QString & lics,
00029                const QString & auth,
00030                const QString & hmpg,
00031                const QString & exec,
00032                const QString & textdomain):
00033                m_name(name),
00034                m_description(desc),
00035                m_version(vers),
00036                m_license(lics),
00037                m_author(auth),
00038                m_homepage(hmpg),
00039                m_exec(exec),
00040                m_textdomain(textdomain) {}
00041 
00042     virtual ~Component () {}
00043 
00044 public:
00045     virtual bool serialize (QDBusArgument &argument);
00046     virtual bool deserialize (const QDBusArgument &argument);
00047 
00048     void output (QString &output) const;
00049     bool parseXmlNode (const QDomNode &node);
00050     // bool parseEnginesNode (QDomNode &node);
00051     // bool parseObservedPaths (const QDomNode &node);
00052 
00053     void addObservedPath (const ObservedPathPointer &obsPath);
00054     void addEngine (const EngineDescPointer &edp);
00055 
00056     QVector<ObservedPathPointer> observedPaths () const;
00057     const QVector<EngineDescPointer> & engines () const;
00058 
00059 #if 0
00060 
00061     bool start (bool verbose) const;
00062     bool stop () const;
00063     bool isRunning () const;
00064     bool isComponentModified () const;
00065     const ComponentPointer getComponentFromEngine (EngineDescPointer edp) const;
00066 
00067 
00068     friend bool newComponentFromFile (Component &obj, const QString & filename);
00069 
00070 private:
00071     const QDomDocument * parseXmlFile (const QString & filename) const;
00072     const QDomDocument * parseXmlBuffer (const QByteArray & buf);
00073 
00074 #endif
00075 
00076 private:
00077     QString m_name;
00078     QString m_description;
00079     QString m_version;
00080     QString m_license;
00081     QString m_author;
00082     QString m_homepage;
00083     QString m_exec;
00084     QString m_textdomain;
00085 
00086     QVector<ObservedPathPointer>    m_observedPaths;
00087     QVector<EngineDescPointer>      m_engines;
00088 
00089     IBUS_SERIALIZABLE
00090 };
00091 
00092 };
00093 
00094 #endif
 All Classes Namespaces Functions Enumerations Enumerator