Sandboxie/SandboxiePlus/SandMan/Engine/SysObject.h

61 lines
2.2 KiB
C
Raw Normal View History

2023-07-01 17:54:53 +01:00
#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 QStringList& Arguments, const QVariantMap& Options = QVariantMap());
Q_INVOKABLE QJSValue expand(const QString& name);
// OS
static QVariantMap GetOSVersion();
Q_INVOKABLE QJSValue version();
//
2023-07-02 17:09:18 +01:00
Q_INVOKABLE void resetData();
2023-07-01 17:54:53 +01:00
Q_INVOKABLE QJSValue enumClasses();
Q_INVOKABLE QJSValue enumServices();
Q_INVOKABLE QJSValue enumProducts();
Q_INVOKABLE QJSValue enumObjects();
2023-07-02 17:09:18 +01:00
Q_INVOKABLE QJSValue enumUpdates(); // this can take quite a while
2023-07-01 17:54:53 +01:00
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);
2023-07-02 17:09:18 +01:00
Q_INVOKABLE QJSValue checkUpdates(const QString& value);
2023-07-01 17:54:53 +01:00
protected:
2023-07-02 17:09:18 +01:00
2023-07-01 17:54:53 +01:00
CBoxEngine* m_pEngine;
};