mirror of
https://github.com/QuasarApp/CQtDeployer.git
synced 2025-05-12 09:29:35 +00:00
48 lines
978 B
C++
48 lines
978 B
C++
/*
|
|
* Copyright (C) 2018-2019 QuasarApp.
|
|
* Distributed under the lgplv3 software license, see the accompanying
|
|
* Everyone is permitted to copy and distribute verbatim copies
|
|
* of this license document, but changing it is not allowed.
|
|
*/
|
|
|
|
#ifndef WINDEPENDENCIESSCANNER_H
|
|
#define WINDEPENDENCIESSCANNER_H
|
|
|
|
#include <QMultiMap>
|
|
#include <QStringList>
|
|
#include "deploy_global.h"
|
|
#include "structs.h"
|
|
#include "pe.h"
|
|
|
|
enum class PrivateScaner: unsigned char {
|
|
UNKNOWN,
|
|
PE,
|
|
ELF
|
|
};
|
|
|
|
class DEPLOYSHARED_EXPORT DependenciesScanner {
|
|
|
|
|
|
private:
|
|
QStringList _env;
|
|
QMap<QString, QString> _EnvLibs;
|
|
|
|
PE _peScaner;
|
|
|
|
PrivateScaner getScaner(const QString& lib) const;
|
|
|
|
bool fillLibInfo(LibInfo& info ,const QString& file);
|
|
public:
|
|
explicit DependenciesScanner();
|
|
|
|
void setEnvironment(const QStringList &env);
|
|
|
|
QStringList scan(const QString& path);
|
|
|
|
~DependenciesScanner();
|
|
|
|
friend class deploytest;
|
|
};
|
|
|
|
#endif // WINDEPENDENCIESSCANNER_H
|