Sandboxie/SandboxiePlus/SandMan/Engine/SysObject.h

62 lines
2.3 KiB
C++

#pragma once
#include "BoxEngine.h"
class JSysObject : public QObject
{
Q_OBJECT
public:
JSysObject(CBoxEngine* pEngine);
Q_INVOKABLE void log(const QString& line);
Q_INVOKABLE void sleep(qint64 ms);
// FS
Q_INVOKABLE QJSValue listDir(const QString& Path, const QStringList& filter = QStringList(), bool bSubDirs = false);
Q_INVOKABLE QJSValue mkDir(const QString& Path);
Q_INVOKABLE QJSValue remove(const QString& Path);
Q_INVOKABLE QJSValue exists(const QString& Path);
Q_INVOKABLE QJSValue readFile(const QString& Path, quint64 pos = 0, quint64 length = -1);
Q_INVOKABLE QJSValue writeFile(const QString& Path, const QByteArray& Data, quint64 pos = -1);
Q_INVOKABLE QJSValue getFileInfo(const QString& Path);
// REG
Q_INVOKABLE QJSValue listRegKey(const QString& Key);
Q_INVOKABLE QJSValue setRegValue(const QString& Key, const QString& Name, const QVariant& Value, const QString& Type = QString());
Q_INVOKABLE QJSValue getRegValue(const QString& Key, const QString& Name);
Q_INVOKABLE QJSValue removeRegKey(const QString& Key);
Q_INVOKABLE QJSValue removeRegValue(const QString& Key, const QString& Name);
// SYS
Q_INVOKABLE QJSValue execute(const QString& Path, const QVariant& Arguments, const QVariantMap& Options = QVariantMap());
Q_INVOKABLE QJSValue expand(const QString& name);
// OS
static QVariantMap GetOSVersion();
Q_INVOKABLE QJSValue version();
Q_INVOKABLE QJSValue language();
//
Q_INVOKABLE void resetData();
Q_INVOKABLE QJSValue enumClasses();
Q_INVOKABLE QJSValue enumServices();
Q_INVOKABLE QJSValue enumProducts();
Q_INVOKABLE QJSValue enumObjects();
Q_INVOKABLE QJSValue enumUpdates(); // this can take quite a while
Q_INVOKABLE QJSValue expandPath(const QString& path);
Q_INVOKABLE QJSValue checkFile(const QString& value);
Q_INVOKABLE QJSValue checkRegKey(const QString& value);
Q_INVOKABLE QJSValue checkClasses(const QString& value);
Q_INVOKABLE QJSValue checkServices(const QString& value);
Q_INVOKABLE QJSValue checkProducts(const QString& value);
Q_INVOKABLE QJSValue checkObjects(const QString& value);
Q_INVOKABLE QJSValue checkUpdates(const QString& value);
protected:
CBoxEngine* m_pEngine;
};