src.ctf.fs: make ctf_fs_file::fp a FileUP
[babeltrace.git] / src / plugins / ctf / fs-src / file.hpp
1 /*
2 * SPDX-License-Identifier: MIT
3 *
4 * Copyright (C) 2016 Philippe Proulx <pproulx@efficios.com>
5 */
6
7 #ifndef CTF_FS_FILE_H
8 #define CTF_FS_FILE_H
9
10 #include <memory>
11
12 #include <babeltrace2/babeltrace.h>
13
14 #include "cpp-common/bt2c/libc-up.hpp"
15 #include "cpp-common/bt2c/logging.hpp"
16
17 struct ctf_fs_file_deleter
18 {
19 void operator()(struct ctf_fs_file *file) noexcept;
20 };
21
22 struct ctf_fs_file
23 {
24 using UP = std::unique_ptr<ctf_fs_file, ctf_fs_file_deleter>;
25
26 explicit ctf_fs_file(const bt2c::Logger& parentLogger) :
27 logger {parentLogger, "PLUGIN/SRC.CTF.FS/FILE"}
28 {
29 }
30
31 bt2c::Logger logger;
32
33 /* Owned by this */
34 GString *path = nullptr;
35
36 bt2c::FileUP fp;
37
38 off_t size = 0;
39 };
40
41 void ctf_fs_file_destroy(struct ctf_fs_file *file);
42
43 ctf_fs_file::UP ctf_fs_file_create(const bt2c::Logger& parentLogger);
44
45 int ctf_fs_file_open(struct ctf_fs_file *file, const char *mode);
46
47 #endif /* CTF_FS_FILE_H */
This page took 0.030846 seconds and 4 git commands to generate.