1#pragma once
2
3#include <container/seadPtrArray.h>
4#include <heap/seadDisposer.h>
5#include <hostio/seadHostIONode.h>
6#include <prim/seadSafeString.h>
7#include <thread/seadCriticalSection.h>
8
9namespace agl::utl {
10
11class ParameterStringMgr : public sead::hostio::Node {
12 SEAD_SINGLETON_DISPOSER(ParameterStringMgr)
13 ParameterStringMgr();
14 virtual ~ParameterStringMgr();
15
16public:
17 void initialize(sead::Heap* heap);
18 const char* appendString(const sead::SafeString& string);
19
20#ifdef SEAD_DEBUG
21 void listenPropertyEvent(const sead::hostio::PropertyEvent* event) override;
22 void genMessage(sead::hostio::Context* context) override;
23#endif
24
25private:
26 sead::Heap* mHeap = nullptr;
27 sead::PtrArray<sead::SafeString> mStrings;
28 sead::CriticalSection mCS;
29};
30
31} // namespace agl::utl
32