LeviLamina
Loading...
Searching...
No Matches
PersistenceGroup.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/editor/PersistenceGroupItemChangeAction.h"
7#include "mc/deps/game_refs/EnableGetWeakRef.h"
8#include "mc/deps/game_refs/StackRefResult.h"
9#include "mc/deps/scripting/runtime/Result_deprecated.h"
10
11// auto generated forward declare list
12// clang-format off
13namespace Bedrock::PubSub { class Subscription; }
14namespace Editor::Services { class PersistenceItem; }
15// clang-format on
16
17namespace Editor::Services {
18
19class PersistenceGroup : public ::EnableGetWeakRef<::Editor::Services::PersistenceGroup>,
20 public ::std::enable_shared_from_this<::Editor::Services::PersistenceGroup> {
21public:
22 // member variables
23 // NOLINTBEGIN
34 // NOLINTEND
35
36public:
37 // prevent constructor by default
38 PersistenceGroup& operator=(PersistenceGroup const&);
39 PersistenceGroup(PersistenceGroup const&);
40 PersistenceGroup();
41
42public:
43 // member functions
44 // NOLINTBEGIN
45 MCNAPI ::std::string _getValidKeyName(::std::string const& key) const;
46
47 MCNAPI bool _hasItem(::std::string const& itemName) const;
48
49 MCNAPI void _loadItems();
50
52
53 MCNAPI ::Scripting::Result_deprecated<::StackRefResult<::Editor::Services::PersistenceItem>>
54 createItem(::std::string const& itemName, ::std::optional<::std::string> defaultJsonValue);
55
56 MCNAPI ::Scripting::Result_deprecated<void> deleteItem(::std::string const& itemName);
57
58 MCNAPI ::Scripting::Result_deprecated<::StackRefResult<::Editor::Services::PersistenceItem>>
59 fetchItem(::std::string const& itemName) const;
60
61 MCNAPI ::std::string getNamespaceVersionedName() const;
62
63 MCNAPI ::Scripting::Result_deprecated<::StackRefResult<::Editor::Services::PersistenceItem>>
64 getOrCreateItem(::std::string const& itemName, ::std::optional<::std::string> defaultJsonValue);
65
66 MCNAPI ::std::vector<::std::string> listItems() const;
67
68 MCNAPI ::Bedrock::PubSub::Subscription onItemChange(
69 ::std::function<void(
70 ::Editor::Services::PersistenceGroupItemChangeAction,
72 )> callback
73 );
74
75 MCNAPI bool operator==(::Editor::Services::PersistenceGroup const& other) const;
76
78 // NOLINTEND
79
80public:
81 // destructor thunk
82 // NOLINTBEGIN
83 MCNAPI void $dtor();
84 // NOLINTEND
85};
86
87} // namespace Editor::Services
Definition Subscription.h:10
Definition PersistenceGroup.h:20
MCAPI bool _hasItem(::std::string const &itemName) const
MCAPI::std::string _getValidKeyName(::std::string const &key) const
MCAPI void _notifyItemChanged(::Editor::Services::PersistenceItem const &item)
MCAPI ::Scripting::Result_deprecated<::StackRefResult<::Editor::Services::PersistenceItem > > createItem(::std::string const &itemName, ::std::optional<::std::string > defaultJsonValue)
MCAPI::Bedrock::PubSub::Subscription onItemChange(::std::function< void(::Editor::Services::PersistenceGroupItemChangeAction, ::StackRefResult<::Editor::Services::PersistenceItem > &)> callback)
MCAPI bool operator==(::Editor::Services::PersistenceGroup const &other) const
MCAPI ::Scripting::Result_deprecated< void > deleteItem(::std::string const &itemName)
MCAPI ::Scripting::Result_deprecated<::StackRefResult<::Editor::Services::PersistenceItem > > fetchItem(::std::string const &itemName) const
MCAPI ::Scripting::Result_deprecated<::StackRefResult<::Editor::Services::PersistenceItem > > getOrCreateItem(::std::string const &itemName, ::std::optional<::std::string > defaultJsonValue)
MCAPI ::std::vector<::std::string > listItems() const
MCAPI::std::string getNamespaceVersionedName() const
Definition PersistenceItem.h:18
Definition EnableGetWeakRef.h:6
Definition StackRefResult.h:7
Definition Alias.h:14