|
Graphite Version 3
An experimental 3D geometry processing program
|
The representation of a method in the Meta repository. More...
#include <OGF/gom/reflection/meta_method.h>
Public Member Functions | |
| MetaMethod (const std::string &name, MetaClass *container, const std::string &return_type) | |
| MetaMethod constructor. | |
| MetaMethod (const std::string &name, MetaClass *container, MetaType *return_type) | |
| MetaMethod constructor. | |
| ~MetaMethod () override | |
| MetaMethod destructor. | |
| void | pre_delete () override |
| Removes all variables that use the meta type system before deleting. | |
| std::string | get_doc () const override |
| Gets the documentation. | |
| const std::string & | ith_arg_name (index_t i) const |
| Gets the name of an argument by index. | |
| const std::string & | ith_arg_type_name (index_t i) const |
| Gets the type name of an argument by index. | |
| MetaType * | ith_arg_type (index_t i) const |
| Gets the type of an argument by index. | |
| bool | ith_arg_has_default_value (index_t i) const |
| Tests whether an argument has a default value. | |
| std::string | ith_arg_default_value_as_string (index_t i) const |
| Gets the default value of an argument. | |
| const std::string & | return_type_name () const |
| Gets the return type name. | |
| MetaType * | return_type () const |
| Gets the return type. | |
| bool | ith_arg_has_custom_attribute (index_t i, const std::string &name) const |
| Tests whether an argument has a custom attribute. | |
| std::string | ith_arg_custom_attribute_value (index_t i, const std::string &name) const |
| Gets the value of a custom attribute of an argument. | |
| size_t | ith_arg_nb_custom_attributes (index_t i) |
| Gets the number of custom attribute of an argument. | |
| std::string | ith_arg_jth_custom_attribute_name (index_t i, index_t j) |
| Gets a custom attribute name of an argument by index. | |
| std::string | ith_arg_jth_custom_attribute_value (index_t i, index_t j) |
| Gets a custom attribute value of an argument by index. | |
| const Any & | ith_arg_default_value (index_t i) const |
| Gets the default value of an argument. | |
| const MetaArg * | ith_arg (index_t i) const |
| Gets a const MetaArg by index. | |
| MetaArg * | ith_arg (index_t i) |
| Gets a MetaArg by index. | |
| void | add_arg (const MetaArg &arg) |
| Adds a new argument to the method. | |
| bool | has_arg (const std::string &meta_arg_name) |
| Tests whether the method has an argument of a given name. | |
| const MetaArg * | find_arg (const std::string &meta_arg_name) const |
| Finds an argument by name. | |
| MetaArg * | find_arg (const std::string &meta_arg_name) |
| Finds an argument by name. | |
| gom_method_adapter | method_adapter () const |
| Gets the method adapter. | |
| void | set_method_adapter (gom_method_adapter adapter) |
| Sets the method adapter. | |
| virtual bool | invoke (Object *target, const ArgList &args, Any &return_value) |
| Invokes this method on a target object. | |
| virtual bool | invoke (const std::string &method_name, const ArgList &args, Any &ret_val) |
| Implements the dynamic invocation API for the MetaMethod object. | |
| virtual bool | check_args (const ArgList &args) |
| Checks whether the specified ArgList contains all the required args. | |
| virtual index_t | nb_used_args (const ArgList &args) |
| Counts the number of arguments this method would use when invoked on the specified args. | |
| virtual index_t | nb_default_args (const ArgList &args) |
| Counts the number of arguments assigned with their default value when this method is invoked on the specified args. | |
| virtual void | add_default_args (ArgList &args) |
| Adds the arguments with default values to an ArgList. | |
Public Member Functions inherited from OGF::MetaMember | |
| MetaMember (const std::string &name, MetaClass *container) | |
| MetaMember constructor. | |
| ~MetaMember () override | |
| MetaMember destructor. | |
| const std::string & | name () const |
| Gets the name of this MetaMember. | |
Public Member Functions inherited from OGF::MetaInformation | |
| void | search (const std::string &needle, const std::string &path="") override |
| Displays the names of all objects that contain a substring. | |
| bool | has_custom_attribute (const std::string &name) const |
| Tests whether a given custom attribute exists. | |
| std::string | ith_custom_attribute_name (index_t i) const |
| Gets the name of a custom attribute by index. | |
| std::string | ith_custom_attribute_value (index_t i) const |
| Gets the value of a custom attribute by index. | |
| std::string | custom_attribute_value (const std::string &name) const |
| Gets the value of a new custom attribute. | |
| void | create_custom_attribute (const std::string &name, const std::string &value) |
| Creates a new custom attribute. | |
| void | set_custom_attribute (const std::string &name, const std::string &value) |
| Sets the value of a new custom attribute. | |
Public Member Functions inherited from OGF::Object | |
| Object (bool transient=false) | |
| Object constructor. | |
| ~Object () override | |
| Object destructor. | |
| virtual MetaClass * | meta_class () const |
| Gets the meta class. | |
| virtual void | set_meta_class (MetaClass *mclass) |
| Sets the meta class. | |
| unsigned int | id () const |
| Gets the identifier of this object. | |
| std::string | string_id () const |
| Gets the unique string identifier. | |
| bool | has_method (const std::string &method_name) const |
| Tests whether a method is defined. | |
| virtual bool | invoke_method (const std::string &method_name, const ArgList &args, Any &ret_val) |
| Invokes a method by method name and argument list, and gets the return value. | |
| bool | invoke_method (const std::string &method_name, const ArgList &args) |
| Invokes a method by method name and argument list. | |
| bool | invoke_method (const std::string &method_name) |
| Invokes a method by method name. | |
| bool | has_property (const std::string &prop_name) const |
| Tests whether a property is defined. | |
| virtual bool | get_property (const std::string &prop_name, std::string &prop_value) const |
| Gets a property. | |
| virtual Connection * | connect_signal_to_slot (const std::string &signal_name, Object *to, const std::string &slot_name) |
| Connects a signal with a slot of another object. | |
| virtual void | add_connection (Connection *connection) |
| Adds a connection to this object. | |
| virtual void | remove_connection (Connection *connection) |
| Removes a connection to this object. | |
| virtual void | get_element (index_t i, Any &value) const |
| Gets an element by index. | |
| virtual void | set_element (index_t i, const Any &value) |
| Sets an element by index. | |
| void | get_element (index_t item, index_t component, Any &value) const |
| Gets an element by item and component. | |
| void | set_element (index_t item, index_t component, const Any &value) |
| Sets an element by item and component. | |
| virtual index_t | get_dimension () const |
| Gets the number of elements per item. | |
| bool | get_signals_enabled () const |
| Tests wheter signals are enabled. | |
| void | set_signals_enabled (bool value) |
| Enables or disables signals. | |
| bool | get_slots_enabled () const |
| Tests wheter slots are enabled. | |
| void | set_slots_enabled (bool value) |
| Enables or disables slots. | |
| MetaClass * | get_meta_class () const |
| Gets the meta class. | |
| std::string | get_string_id () const |
| Gets the unique string identifier. | |
| virtual Sign | compare (const Object *other) const |
| Compares this object with another one. | |
| virtual bool | is_a (const MetaType *type) const |
| Tests whether this object inherits a given type. | |
| void | disconnect () |
| Removes all connections from signals of this objects. | |
| void | enable_signals () |
| Enables signals. | |
| void | disable_signals () |
| Disables signals. | |
| void | enable_slots () |
| Enables slots. | |
| void | disable_slots () |
| Disables slots. | |
| void | set_properties (const ArgList &args) |
| Sets several properties in a single call. | |
| virtual bool | set_property (const std::string &name, const std::string &value) |
| Sets an individual property. | |
| void | help () const |
| Displays some help about this object. | |
| virtual bool | set_property (const std::string &name, const Any &value) |
| Sets an individual property. | |
| virtual bool | get_property (const std::string &prop_name, Any &prop_value) const |
| Gets a property. | |
Public Member Functions inherited from GEO::Counted | |
| void | ref () const |
| Increments the reference count. | |
| void | unref () const |
| Decrements the reference count. | |
| bool | is_shared () const |
| Check if the object is shared. | |
| int | nb_refs () const |
| Gets the number of references that point to this object. | |
Public Member Functions inherited from OGF::CustomAttributes | |
| size_t | nb_custom_attributes () const |
| Gets the number of custom attributes. | |
| std::string | ith_custom_attribute_name (index_t i) const |
| Gets the name of a custom attribute by index. | |
| std::string | ith_custom_attribute_value (index_t i) const |
| Gets the value of a custom attribute by index. | |
| bool | has_custom_attribute (const std::string &name) const |
| Tests whether a given custom attribute exists. | |
| void | create_custom_attribute (const std::string &name, const std::string &value) |
| Creates a new custom attribute. | |
| void | set_custom_attribute (const std::string &name, const std::string &value) |
| Sets the value of a new custom attribute. | |
| std::string | custom_attribute_value (const std::string &name) const |
| Gets the value of a new custom attribute. | |
| void | clear_custom_attributes () |
| Clears the custom attributes. | |
Public Attributes | |
| : size_t nb_args() const { return meta_args_.size() | |
Public Attributes inherited from OGF::MetaMember | |
| : MetaClass* container_meta_class() const { return container_ | |
| : const std::string& get_name() const { return name_ | |
Public Attributes inherited from OGF::MetaInformation | |
| : size_t nb_custom_attributes() const | |
Public Attributes inherited from OGF::Object | |
| : virtual index_t get_nb_elements() const | |
| : bool equals(const Object* other) const | |
Protected Member Functions | |
| bool | emit_signal (const std::string &signal_name, const ArgList &args, bool called_from_slot=true) override |
| Emits a signal from this MetaMethod. | |
Protected Member Functions inherited from GEO::Counted | |
| Counted () | |
| Creates a reference counted object. | |
| virtual | ~Counted () |
| Destroys a reference counted object. | |
Static Protected Member Functions | |
| static bool | emit_signal (Object *target, const std::string &sig_name, const ArgList &args, bool called_from_slot=true) |
| Emits a signal in a target object. | |
Additional Inherited Members | |
Static Public Member Functions inherited from OGF::Object | |
| static Object * | id_to_object (unsigned int id) |
| Gets an object from a unique object id. | |
Static Public Member Functions inherited from GEO::Counted | |
| static void | ref (const Counted *counted) |
| Increments the reference count. | |
| static void | unref (const Counted *counted) |
| Decrements the reference count. | |
The representation of a method in the Meta repository.
Definition at line 72 of file meta_method.h.
| OGF::MetaMethod::MetaMethod | ( | const std::string & | name, |
| MetaClass * | container, | ||
| const std::string & | return_type | ||
| ) |
MetaMethod constructor.
| [in] | name | name of the method |
| [in] | container | the MetaClass this method belongs to |
| [in] | return_type | C++ name of the return type |
| OGF::MetaMethod::MetaMethod | ( | const std::string & | name, |
| MetaClass * | container, | ||
| MetaType * | return_type | ||
| ) |
MetaMethod constructor.
|
inline |
Adds a new argument to the method.
| arg | a const reference to the MetaArg, it is copied and stored in the MetaMethod |
Definition at line 282 of file meta_method.h.
|
virtual |
|
virtual |
Checks whether the specified ArgList contains all the required args.
The ArgList is compatible with this MetaMethod if it has a named argument for each named parameter that does not have a default value.
| [in] | args | a const reference to the arguments list |
| true | if the argument list args is compatible with this MetaMethod |
| false | otherwise |
|
inlineoverrideprotectedvirtual |
Emits a signal from this MetaMethod.
Implements the Dynamic Invocation API for MetaMethod, this will be used in future versions, that expose the entire Meta system to Graphite Embedded Language.
Reimplemented from OGF::Object.
Definition at line 423 of file meta_method.h.
|
staticprotected |
Emits a signal in a target object.
| [in] | target | a pointer to the target object |
| [in] | sig_name | name of the signal |
| [in] | args | a const reference to the argument list |
| [in] | called_from_slot | distingished between signals generated from the GUI and signals called programatically. |
| MetaArg * OGF::MetaMethod::find_arg | ( | const std::string & | meta_arg_name | ) |
Finds an argument by name.
| [in] | meta_arg_name | name of the argument |
| const MetaArg * OGF::MetaMethod::find_arg | ( | const std::string & | meta_arg_name | ) | const |
Finds an argument by name.
| [in] | meta_arg_name | name of the argument |
|
overridevirtual |
Gets the documentation.
Reimplemented from OGF::Object.
| bool OGF::MetaMethod::has_arg | ( | const std::string & | meta_arg_name | ) |
Tests whether the method has an argument of a given name.
| [in] | meta_arg_name | name to be tested |
| true | if the method has an argument named meta_arg_name |
| false | otherwise |
|
inlinevirtual |
Implements the dynamic invocation API for the MetaMethod object.
Will be used in future versions, where the Meta system is completely visible from Graphite Embedded Language.
| [in] | method_name | name of the method |
| [in] | args | a const reference to the arguments list |
| [out] | ret_val | the return value, represented as an Any |
Definition at line 352 of file meta_method.h.
|
virtual |
Invokes this method on a target object.
The default invokation mechanism uses the method adapter (i.e. a function pointer).
| [in] | target | a pointer to the target object. It needs to be of the same class this method belongs to |
| [in] | args | a const reference to the arguments list |
| [out] | return_value | the return value, as a string |
Reimplemented in OGF::MetaMethodSetProperty, and OGF::MetaMethodGetProperty.
Gets a MetaArg by index.
| i | index of the argument |
Definition at line 272 of file meta_method.h.
Gets a const MetaArg by index.
| i | index of the argument |
Definition at line 261 of file meta_method.h.
| std::string OGF::MetaMethod::ith_arg_custom_attribute_value | ( | index_t | i, |
| const std::string & | name | ||
| ) | const |
Gets the value of a custom attribute of an argument.
| [in] | i | the index of the argument, in 0..nb_args()-1. |
| [in] | name | the name of the custom attribute. |
| false | otherwise. |
Gets the default value of an argument.
| [in] | i | index of the argument |
i Definition at line 249 of file meta_method.h.
|
inline |
Gets the default value of an argument.
| [in] | i | index of the argument |
i Definition at line 172 of file meta_method.h.
| bool OGF::MetaMethod::ith_arg_has_custom_attribute | ( | index_t | i, |
| const std::string & | name | ||
| ) | const |
Tests whether an argument has a custom attribute.
| [in] | i | the index of the argument, in 0..nb_args()-1. |
| [in] | name | the name of the custom attribute. |
| true | if the ith arg has the custom attribute. |
| false | otherwise. |
|
inline |
Tests whether an argument has a default value.
| [in] | i | index of the argument |
| true | if argument i has a default value |
| false | otherwise |
Definition at line 162 of file meta_method.h.
Gets a custom attribute name of an argument by index.
| [in] | i | the index of the argument, in 0..nb_args()-1. |
| [in] | j | the index of the custom attribute, in 0..ith_arg_nb_custom_attributes(i)-1 |
Gets a custom attribute value of an argument by index.
| [in] | i | the index of the argument, in 0..nb_args()-1. |
| [in] | j | the index of the custom attribute, in 0..ith_arg_nb_custom_attributes(i)-1 |
|
inline |
Gets the name of an argument by index.
| [in] | i | index of the argument |
i th argument Definition at line 131 of file meta_method.h.
| size_t OGF::MetaMethod::ith_arg_nb_custom_attributes | ( | index_t | i | ) |
Gets the number of custom attribute of an argument.
| [in] | i | the index of the argument, in 0..nb_args()-1. |
Gets the type of an argument by index.
| [in] | i | index of the argument |
i th argument Definition at line 151 of file meta_method.h.
|
inline |
Gets the type name of an argument by index.
| [in] | i | index of the argument |
i th argument Definition at line 141 of file meta_method.h.
|
inline |
Gets the method adapter.
Definition at line 316 of file meta_method.h.
Counts the number of arguments assigned with their default value when this method is invoked on the specified args.
The result is unspecified if check_args returns false.
| [in] | args | a const reference to the arguments list |
args Counts the number of arguments this method would use when invoked on the specified args.
The result is unspecified if check_args returns false.
| [in] | args | a const reference to the arguments list |
|
overridevirtual |
Removes all variables that use the meta type system before deleting.
If we do not do that, when deleting the meta type system, we can delete the meta information in the wrong order, and delete first meta classes that we needed to delete other ones.
Reimplemented from OGF::MetaMember.
| MetaType * OGF::MetaMethod::return_type | ( | ) | const |
Gets the return type.
|
inline |
Gets the return type name.
Definition at line 180 of file meta_method.h.
|
inline |
Sets the method adapter.
| [in] | adapter | the method adapter |
Definition at line 325 of file meta_method.h.
| OGF::MetaMethod::__pad0__ |
Definition at line 114 of file meta_method.h.