summaryrefslogtreecommitdiff
path: root/ui/qfileaccessor.h
blob: 1686eccc41045892e64c5cf252d89c792f4d0657 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#pragma once

#include <QtCore/QFile>
#include "binaryninjaapi.h"
#include "action.h"

class BINARYNINJAUIAPI QFileAccessor : public BinaryNinja::FileAccessor
{
	QFile* m_file;
	QString m_error;

  public:
	QFileAccessor(const QString& name, bool write = false);
	virtual ~QFileAccessor();

	virtual bool IsValid() const;
	virtual QString GetError() const;
	virtual uint64_t GetLength() const;

	virtual size_t Read(void* dest, uint64_t offset, size_t len);
	virtual size_t Write(uint64_t offset, const void* src, size_t len);

	void Close();
};