Chicane

Serializable

Header
Includes/Chicane/Core/Serializable.hpp
Namespace
Chicane::Serializable

Types

NameValueDescription
AttributeMap
AttributeCallback
std::function<void(const String &)>
AttributeObservable
AttributeSubscription
Watchers
std::unordered_map<StringAttributeObservable>

Constructors

NameDescription
Serializable()
Serializable()
Serializable()

Destructors

NameDescription
~Serializable()

Virtual Functions

AccessReturnModifierNameDescription
public
void
onAttributeSync()
protected
void
onAttributeChange(
const  String& inName
const  String& inValue
)

Functions

AccessReturnModifierNameDescription
public
operator=()
public
operator=()
public
void
load(
const  FileSystem::Path& inFilepath
)
public
void
save()
public
void
save(
const  FileSystem::Path& inFilepath
)
public
void
parse(
const  XmlNode& inNode
)
public
createRoot(
const  String& inName
)
public
const
getFilepath()
public
void
setFilepath(
const  FileSystem::Path& inFilepath
)
public
const  XmlDocument&
const
getDocument()
public
getDocument()
public
const  XmlNode&
const
getSource()
public
getSource()
public
const  AttributeMap&
const
getAttributes()
public
bool
const
hasAttribute(
const  String& inName
)
public
const  String&
const
getAttribute(
const  String& inName
)
public
void
setAttribute(
const  String& inName
const  String& inValue
)
public
void
removeAttribute(
const  String& inName
)
public
float
const
getFloat(
const  String& inName
float inFallback
)
public
bool
const
getBool(
const  String& inName
bool inFallback
)
public
std::uint32_t
const
getUint(
const  String& inName
std::uint32_t inFallback
)
public
const
getString(
const  String& inName
const  String& inFallback
)
public
const
getVec3(
const  String& inName
const  Vec3& inFallback
)
public
const
getColor(
const  String& inName
const  Vec4& inFallback
)
public
watchAttribute(
const  String& inName
const  AttributeCallback& inCallback
)
protected
void
bindSource(
const  XmlNode& inNode
)
protected
void
syncAttributes()
protected
void
emitAttribute(
const  String& inName
const  String& inValue
)
protected
void
writeAttributesToSource()

Members

AccessTypeModifierNameDescription
protected
m_filepath
protected
m_document
protected
m_source
protected
m_attributes
protected
m_watchers