File: file.h

package info (click to toggle)
freespace2 24.2.0%2Brepack-1
  • links: PTS, VCS
  • area: non-free
  • in suites: forky, sid
  • size: 43,716 kB
  • sloc: cpp: 595,001; ansic: 21,741; python: 1,174; sh: 457; makefile: 248; xml: 181
file content (30 lines) | stat: -rw-r--r-- 491 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

#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