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
27 // NOLINTEND
28
29public:
30 // prevent constructor by default
31 DataStoreSync& operator=(DataStoreSync const&);
32 DataStoreSync(DataStoreSync const&);
33
34public:
35 // virtual functions
36 // NOLINTBEGIN
37 virtual ~DataStoreSync();
38
39 virtual void clear(::std::string const& datastoreName, bool addToOutgoingChanges);
40
41 virtual void assertAppropriateThread() const = 0;
42 // NOLINTEND
43
44public:
45 // member functions
46 // NOLINTBEGIN
47 MCNAPI DataStoreSync();
48
49 MCNAPI ::cereal::DynamicValue const* get(::std::string const& datastoreName, ::std::string const& property) const;
50
51 MCNAPI ::nonstd::
52 expected<::gsl::not_null<::cereal::DynamicValue const*>, ::Bedrock::DDUI::PathUtility::PathQueryError>
53 getPath(::std::string const& dataStoreName, ::std::string const& property, ::std::string const& path) const;
54
55 MCNAPI ::Bedrock::PubSub::Subscription listen(
56 ::std::string const& datastoreName,
57 ::std::string const& property,
58 ::std::string const& path,
59 ::std::function<void(::cereal::DynamicValue const*)> onChange
60 );
61
62 MCNAPI void
63 set(::std::string const& datastoreName,
64 ::std::string const& property,
65 ::cereal::DynamicValue const& obj,
66 bool addToOutgoingChanges);
67
68 MCNAPI ::nonstd::expected<void, ::Bedrock::DDUI::PathUtility::PathQueryError> setObjectPath(
69 ::std::string const& dataStoreName,
70 ::std::string const& propertyName,
71 ::std::string const& path,
72 ::cereal::DynamicValue const& currentData,
73 ::std::string const& newDataString
74 );
75
76 MCNAPI ::nonstd::expected<void, ::Bedrock::DDUI::PathUtility::PathQueryError> setPath(
77 ::std::string const& dataStoreName,
78 ::std::string const& propertyName,
79 ::std::string const& path,
80 ::std::variant<double, bool, ::std::string> const& data,
81 bool addToOutgoing,
82 bool allowStringToObjectUpdates
83 );
84 // NOLINTEND
85
86public:
87 // constructor thunks
88 // NOLINTBEGIN
89 MCNAPI void* $ctor();
90 // NOLINTEND
91
92public:
93 // destructor thunk
94 // NOLINTBEGIN
95 MCNAPI void $dtor();
96 // NOLINTEND
97
98public:
99 // virtual function thunks
100 // NOLINTBEGIN
101 MCNAPI void $clear(::std::string const& datastoreName, bool addToOutgoingChanges);
102
103
104 // NOLINTEND
105
106public:
107 // vftables
108 // NOLINTBEGIN
109 MCNAPI static void** $vftable();
110 // NOLINTEND
111};
112
113} // namespace Bedrock::DDUI
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 ::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, bool allowStringToObjectUpdates)
MCAPI void $clear(::std::string const &datastoreName, bool addToOutgoingChanges)
MCAPI ::nonstd::expected< void, ::Bedrock::DDUI::PathUtility::PathQueryError > setObjectPath(::std::string const &dataStoreName, ::std::string const &propertyName, ::std::string const &path, ::cereal::DynamicValue const &currentData, ::std::string const &newDataString)
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::string const &path, ::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