|
Blender V4.3
|
Base class for (de)serializing IDProperties. More...
Inherited by blender::bke::idprop::IDPArraySerializer, blender::bke::idprop::IDPBoolSerializer, blender::bke::idprop::IDPDoubleSerializer, blender::bke::idprop::IDPFloatSerializer, blender::bke::idprop::IDPGroupSerializer, blender::bke::idprop::IDPIntSerializer, blender::bke::idprop::IDPStringSerializer, and blender::bke::idprop::IDPUnknownSerializer.
Public Member Functions | |
| constexpr | IDPropertySerializer ()=default |
| virtual std::string | type_name () const =0 |
return the type name for (de)serializing. Type name is stored in the type or subtype attribute of the serialized id_property. | |
| virtual std::optional< eIDPropertyType > | property_type () const =0 |
| return the IDPropertyType for (de)serializing. | |
| virtual std::shared_ptr< DictionaryValue > | idprop_to_dictionary (const IDProperty *id_property) const =0 |
| create dictionary containing the given id_property. | |
| virtual std::unique_ptr< IDProperty, IDPropertyDeleter > | entry_to_idprop (DictionaryEntryParser &entry_reader) const =0 |
| convert the entry to an id property. | |
| virtual bool | supports_serializing () const |
| Can the serializer be used? | |
Protected Member Functions | |
| std::shared_ptr< DictionaryValue > | create_dictionary (const IDProperty *id_property) const |
| Create a new DictionaryValue instance. | |
Base class for (de)serializing IDProperties.
Has a subclass for supported IDProperties and one for unsupported IDProperties.
Definition at line 48 of file idprop_serialize.cc.
|
constexprdefault |
|
inlineprotected |
Create a new DictionaryValue instance.
Only fill the dictionary with common attributes (name, type).
Definition at line 91 of file idprop_serialize.cc.
References blender::bke::idprop::IDP_KEY_NAME(), blender::bke::idprop::IDP_KEY_TYPE(), IDProperty::name, result, and type_name().
Referenced by blender::bke::idprop::IDPArraySerializer::idprop_to_dictionary(), blender::bke::idprop::IDPBoolSerializer::idprop_to_dictionary(), blender::bke::idprop::IDPDoubleSerializer::idprop_to_dictionary(), blender::bke::idprop::IDPFloatSerializer::idprop_to_dictionary(), blender::bke::idprop::IDPGroupSerializer::idprop_to_dictionary(), blender::bke::idprop::IDPIntSerializer::idprop_to_dictionary(), and blender::bke::idprop::IDPStringSerializer::idprop_to_dictionary().
|
pure virtual |
convert the entry to an id property.
Implemented in blender::bke::idprop::IDPArraySerializer, blender::bke::idprop::IDPBoolSerializer, blender::bke::idprop::IDPDoubleSerializer, blender::bke::idprop::IDPFloatSerializer, blender::bke::idprop::IDPGroupSerializer, blender::bke::idprop::IDPIntSerializer, blender::bke::idprop::IDPStringSerializer, and blender::bke::idprop::IDPUnknownSerializer.
Referenced by blender::bke::idprop::idprop_from_value().
|
pure virtual |
create dictionary containing the given id_property.
Implemented in blender::bke::idprop::IDPArraySerializer, blender::bke::idprop::IDPBoolSerializer, blender::bke::idprop::IDPDoubleSerializer, blender::bke::idprop::IDPFloatSerializer, blender::bke::idprop::IDPGroupSerializer, blender::bke::idprop::IDPIntSerializer, blender::bke::idprop::IDPStringSerializer, and blender::bke::idprop::IDPUnknownSerializer.
Referenced by blender::bke::idprop::convert_to_serialize_values(), and blender::bke::idprop::IDPGroupSerializer::idprop_to_dictionary().
|
pure virtual |
return the IDPropertyType for (de)serializing.
Implemented in blender::bke::idprop::IDPArraySerializer, blender::bke::idprop::IDPBoolSerializer, blender::bke::idprop::IDPDoubleSerializer, blender::bke::idprop::IDPFloatSerializer, blender::bke::idprop::IDPGroupSerializer, blender::bke::idprop::IDPIntSerializer, blender::bke::idprop::IDPStringSerializer, and blender::bke::idprop::IDPUnknownSerializer.
|
inlinevirtual |
Can the serializer be used?
IDP_ID and IDP_IDPARRAY aren't supported for serialization.
Reimplemented in blender::bke::idprop::IDPUnknownSerializer.
Definition at line 80 of file idprop_serialize.cc.
Referenced by blender::bke::idprop::convert_to_serialize_values().
|
pure virtual |
return the type name for (de)serializing. Type name is stored in the type or subtype attribute of the serialized id_property.
Implemented in blender::bke::idprop::IDPArraySerializer, blender::bke::idprop::IDPBoolSerializer, blender::bke::idprop::IDPDoubleSerializer, blender::bke::idprop::IDPFloatSerializer, blender::bke::idprop::IDPGroupSerializer, blender::bke::idprop::IDPIntSerializer, blender::bke::idprop::IDPStringSerializer, and blender::bke::idprop::IDPUnknownSerializer.
Referenced by create_dictionary(), and blender::bke::idprop::IDPArraySerializer::idprop_to_dictionary().