LeviLamina
Loading...
Searching...
No Matches
DataStoreSync.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/pub_sub/Publisher.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace Bedrock::DDUI::PathUtility { struct PathQueryError; }
11namespace Bedrock::PubSub { class Subscription; }
12namespace Bedrock::PubSub::ThreadModel { struct SingleThreaded; }
13namespace cereal { class DynamicValue; }
14// clang-format on
15
16namespace Bedrock::DDUI {
17
18class DataStoreSync {
19public:
20 // member variables
21 // NOLINTBEGIN
26 // NOLINTEND
27
28public:
29 // prevent constructor by default
30 DataStoreSync& operator=(DataStoreSync const&);
31 DataStoreSync(DataStoreSync const&);
32
33public:
34 // virtual functions
35 // NOLINTBEGIN
36 virtual ~DataStoreSync();
37
38 virtual void clear(::std::string const& datastoreName, bool addToOutgoingChanges);
39
40 virtual void assertAppropriateThread() const = 0;
41 // NOLINTEND
42
43public:
44 // member functions
45 // NOLINTBEGIN
46 MCNAPI_C DataStoreSync();
47
48 MCNAPI ::cereal::DynamicValue const* get(::std::string const& datastoreName, ::std::string const& property) const;
49
50 MCNAPI ::nonstd::
51 expected<::gsl::not_null<::cereal::DynamicValue const*>, ::Bedrock::DDUI::PathUtility::PathQueryError>
52 getPath(::std::string const& dataStoreName, ::std::string const& property, ::std::string const& path) const;
53
54 MCNAPI ::Bedrock::PubSub::Subscription listen(
55 ::std::string const& datastoreName,
56 ::std::string const& property,
57 ::std::function<void(::cereal::DynamicValue const*)> onChange
58 );
59
60 MCNAPI void
61 set(::std::string const& datastoreName,
62 ::std::string const& property,
63 ::cereal::DynamicValue const& obj,
64 bool addToOutgoingChanges);
65
66 MCNAPI ::nonstd::expected<void, ::Bedrock::DDUI::PathUtility::PathQueryError> setPath(
67 ::std::string const& dataStoreName,
68 ::std::string const& propertyName,
69 ::std::string const& path,
70 ::std::variant<double, bool, ::std::string> const& data,
71 bool addToOutgoing
72 );
73 // NOLINTEND
74
75public:
76 // constructor thunks
77 // NOLINTBEGIN
78 MCNAPI_C void* $ctor();
79 // NOLINTEND
80
81public:
82 // destructor thunk
83 // NOLINTBEGIN
84 MCNAPI void $dtor();
85 // NOLINTEND
86
87public:
88 // virtual function thunks
89 // NOLINTBEGIN
90 MCNAPI void $clear(::std::string const& datastoreName, bool addToOutgoingChanges);
91
92
93 // NOLINTEND
94
95public:
96 // vftables
97 // NOLINTBEGIN
98 MCNAPI static void** $vftable();
99 // NOLINTEND
100};
101
102} // namespace Bedrock::DDUI
MCAPI ::nonstd::expected< void, ::Bedrock::DDUI::PathUtility::PathQueryError > setPath(::std::string const &dataStoreName, ::std::string const &propertyName, ::std::string const &path, ::std::variant< double, bool, ::std::string > const &data, bool addToOutgoing)
MCAPI ::nonstd::expected<::gsl::not_null<::cereal::DynamicValue const * >, ::Bedrock::DDUI::PathUtility::PathQueryError > getPath(::std::string const &dataStoreName, ::std::string const &property, ::std::string const &path) const
MCAPI::cereal::DynamicValue const * get(::std::string const &datastoreName, ::std::string const &property) const
MCAPI void $clear(::std::string const &datastoreName, bool addToOutgoingChanges)
MCAPI void set(::std::string const &datastoreName, ::std::string const &property, ::cereal::DynamicValue const &obj, bool addToOutgoingChanges)
MCAPI::Bedrock::PubSub::Subscription listen(::std::string const &datastoreName, ::std::string const &property, ::std::function< void(::cereal::DynamicValue const *)> onChange)
static MCAPI void ** $vftable()
Definition Subscription.h:10
Definition DynamicValue.h:12
Definition PathQueryError.h:7
Definition Alias.h:14