Struct Metaclass
pub struct Metaclass<T = Borrowed> { /* private fields */ }Expand description
Metaclass provides type inspection mechanism for Kanzi classes.
Classes deriving from Object can register information about their type, properties,
methods, messages by using Metaclass and accompanying macros.
Such information is used by serialization, scripting and to display friendly type information in Kanzi Studio.
Implementations§
§impl Metaclass
impl Metaclass
pub fn get_property_type_iterator(&self) -> Result<PropertyTypeIterator, Error>
pub fn get_property_type_iterator(&self) -> Result<PropertyTypeIterator, Error>
Gets iterator over properties defined on a provided Metaclass.
pub fn get_property_types(&self) -> Result<Vec<PropertyType<()>>, Error>
pub fn get_property_types(&self) -> Result<Vec<PropertyType<()>>, Error>
Gets all properties defined on a provided Metaclass.
pub fn get_message_type_iterator(&self) -> Result<MessageTypeIterator, Error>
pub fn get_message_type_iterator(&self) -> Result<MessageTypeIterator, Error>
Gets iterator over messages defined on a provided Metaclass.
pub fn get_message_types(
&self,
) -> Result<Vec<MessageType<MessageArguments>>, Error>
pub fn get_message_types( &self, ) -> Result<Vec<MessageType<MessageArguments>>, Error>
Gets all messages defined on a provided Metaclass.
pub fn get_nested_metaclass_iterator(
&self,
) -> Result<NestedMetaclassIterator, Error>
pub fn get_nested_metaclass_iterator( &self, ) -> Result<NestedMetaclassIterator, Error>
Gets iterator over nested metaclasses defined on a provided Metaclass.
pub fn get_nested_metaclasses(&self) -> Result<Vec<Metaclass>, Error>
pub fn get_nested_metaclasses(&self) -> Result<Vec<Metaclass>, Error>
Gets all nested metaclasses defined on a provided Metaclass.
§impl<T> Metaclass<T>
impl<T> Metaclass<T>
pub fn create_instance(
&self,
domain: &Domain,
name: impl AsRef<KanziStr>,
) -> Result<Option<Object>, Error>
pub fn create_instance( &self, domain: &Domain, name: impl AsRef<KanziStr>, ) -> Result<Option<Object>, Error>
pub fn get_name(&self) -> Result<KanziString, Error>
pub fn get_name(&self) -> Result<KanziString, Error>
Gets the fully qualified name of the message type.
assert_eq!(
Node2D::get_static_metaclass().get_name()?,
"Kanzi.Node2D",
);pub fn get_base(&self) -> Result<Option<Metaclass<T>>, Error>
pub fn get_base(&self) -> Result<Option<Metaclass<T>>, Error>
Determines whether the class this metaclass describes derives from a class described by specified metaclass.
pub fn get_editor_info(&self) -> Result<Option<EditorInfo>, Error>
pub fn get_editor_info(&self) -> Result<Option<EditorInfo>, Error>
Gets editor info for the specified metaclass.
pub fn is_abstract(&self) -> Result<bool, Error>
pub fn is_abstract(&self) -> Result<bool, Error>
Determines whether the class this metaclass describes derives from a class described by specified metaclass.
pub fn is_derived_from<E>(&self, base: &Metaclass<E>) -> Result<bool, Error>
pub fn is_derived_from<E>(&self, base: &Metaclass<E>) -> Result<bool, Error>
Determines whether the class this metaclass describes derives from a class described by specified metaclass.