blob: 7381f0a1f84075f597f3e43c21904e734b7ada9b (
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
25
26
27
28
29
30
31
32
33
34
35
36
|
#pragma once
#include <djinterop/impl/crate_impl.hpp>
namespace djinterop
{
class track;
namespace enginelibrary
{
class el_storage;
class el_crate_impl : public djinterop::crate_impl
{
public:
el_crate_impl(std::shared_ptr<el_storage> storage, int64_t id);
void add_track(track tr) override;
std::vector<crate> children() override;
void clear_tracks() override;
database db() override;
std::vector<crate> descendants() override;
bool is_valid() override;
std::string name() override;
boost::optional<crate> parent() override;
void remove_track(track tr) override;
void set_name(boost::string_view name) override;
void set_parent(boost::optional<crate> parent) override;
std::vector<track> tracks() override;
private:
std::shared_ptr<el_storage> storage_;
};
} // namespace enginelibrary
} // namespace djinterop
|