Files
asarium dc71bb47d7 Add scripting file handle auto-closing and error message
This adds some auto-closing code to the scripting API of the CFile
system. If a file has to be auto-closed then an error will be displayed
to let the the script writer know that something is wrong.

This should not break existing scripts since causing file handle leaks
should never happen and if it does, this will make it easier to find
these issues.
2019-02-27 21:16:30 +01:00

31 lines
491 B
C++

#pragma once
#include "scripting/ade_api.h"
#include "cfile/cfile.h"
namespace scripting {
namespace api {
class cfile_h {
std::unique_ptr<CFILE> _cfp;
public:
explicit cfile_h(CFILE* cfp = nullptr);
~cfile_h();
cfile_h(cfile_h&& other) noexcept = default; // NOLINT
cfile_h& operator=(cfile_h&& other) noexcept = default; // NOLINT
void close();
bool isValid() const;
CFILE* get() const;
};
DECLARE_ADE_OBJ(l_File, cfile_h);
} // namespace api
} // namespace scripting