summaryrefslogtreecommitdiffstats
path: root/examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackendplugin.h
diff options
context:
space:
mode:
Diffstat (limited to 'examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackendplugin.h')
-rw-r--r--examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackendplugin.h47
1 files changed, 27 insertions, 20 deletions
diff --git a/examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackendplugin.h b/examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackendplugin.h
index 8c14f3c1..e83efce8 100644
--- a/examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackendplugin.h
+++ b/examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackendplugin.h
@@ -47,10 +47,16 @@
#include <QtCore/QDir>
#include <QtCore/QHash>
#include <QtCore/QObjectList>
+#include <QtCore/QObject>
#include <QtCore/QStringList>
#include <QtCore/QMetaType>
#include <QtCore/QVariant>
+#include "xmlfilemanager.h"
+#include "xmlfilereader.h"
+
+#include "gccxmlarchitecturerecoverybackend_export.h"
+
QT_BEGIN_NAMESPACE
class QXmlStreamReader;
QT_END_NAMESPACE
@@ -58,7 +64,7 @@ QT_END_NAMESPACE
namespace DuSE
{
-class GccXmlArchitectureRecoveryBackendPlugin : public IPlugin, public IArchitectureRecoveryBackend
+class GCCXMLARCHITECTURERECOVERYBACKEND_EXPORT GccXmlArchitectureRecoveryBackendPlugin : public IPlugin, public IArchitectureRecoveryBackend
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.liveblue.DuSE.IPlugin" FILE "gccxmlarchitecturerecoverybackend.json")
@@ -68,35 +74,36 @@ public:
virtual bool initialize();
- void setRootProjectDir(const QDir &rootProjectDir);
-
virtual QObjectList components();
virtual QObjectList connectors();
+ void run();
+ void runGccXml();
+ void recoverDependencyRelations();
+ void fieldAdjacencies();
+ void baseAdjacencies();
+ void argumentsAdjacencies();
private Q_SLOTS:
- void newArchitectureRecoveryProcess();
private:
- QStringList generateXmlFiles(const QStringList &codeFiles) const;
- bool openXmlFile(const QString &filePath);
- QStringList findConstructorsFromXml();
- QObject *extractComponent();
- void findFunctionsFromXml(QObject *component);
- QHash<QString, QMultiHash<QString, QString> > classFunctionsContainer(QString xmlAttribute, QHash<QString, QMultiHash<QString, QString> > &classFunctions);
- void findFunctionParameters(const QString &functionName, QMultiHash<QString, QString> &function);
- QString findTypeNumber(const QString &typeID);
- QString findType(const QString &typeNumber);
-
- QDir _rootProjectDir;
- QFile _xmlFile;
- QString _xmlFileName;
- QXmlStreamReader *_xmlReader;
+ int _xmlCount;
+ QDir _rootProjectDirectory;
+ QString _rootProjectDirectoryString;
+ QStringList _xmlFilesList;
+ XmlFileManager *_xmlFileManager;
+ XmlFileReader *_reader;
+ QMap<QString, QMap<QString, QString> > _fileClasses;
+ QMap<QString, QList<QPair<QString, QString> > > _fileFields;
+ QMap<QString, QMap<QString, QString> > _filePointers;
+ QMap<QString, QList<QPair<QString, QString> > > _fileBases;
+ QMap<QString, QList<QPair<QString, QString> > > _fileArguments;
+ QMultiMap<QString, QString> _dependencyRelations;
};
-typedef QHash<QString, QMultiHash<QString, QString> > ClassFunctions;
+typedef QMultiMap<QString, QString> DependencyRelations;
#endif // GCCXMLARCHITECTURERECOVERYBACKENDPLUGIN
}
-Q_DECLARE_METATYPE(DuSE::ClassFunctions);
+Q_DECLARE_METATYPE(DuSE::DependencyRelations);