navit
0.5.3-trunk
|
Basic functions for Navit objects. More...
#include <xmlconfig.h>
Data Fields | |
enum attr_type | type |
void *(* | create )(struct attr *parent, struct attr **attrs) |
int(* | get_attr )(void *, enum attr_type type, struct attr *attr, struct attr_iter *iter) |
struct attr_iter *(* | iter_new )(void *) |
void(* | iter_destroy )(struct attr_iter *) |
int(* | set_attr )(void *, struct attr *attr) |
int(* | add_attr )(void *, struct attr *attr) |
int(* | remove_attr )(void *, struct attr *attr) |
int(* | init )(void *) |
void(* | destroy )(void *) |
void *(* | dup )(void *) |
void *(* | ref )(void *) |
void *(* | unref )(void *) |
Basic functions for Navit objects.
This is the minimal list of functions which is supported by every Navit object.
Some members can be NULL for certain object types: while Navit does not mandate this function to be implemented for every object class, the function may need to be defined for some object classes.
Default implementations are available for every function in the list except create
, init
and dup
. These can be set directly, or type-specific implementations can call through to them as they see fit.
Function to add an attribute, set to navit_object_add_attr
for default behavior, can be NULL for some object types
Referenced by command_object_add_attr(), gui_internal_set_refresh_callback(), and xi_text().
Function to create a new object instance
Referenced by command_call_function().
void(* object_func::destroy) (void *) |
Function to destroy an object instance, set to navit_object_destroy
for default behavior, can be NULL
void*(* object_func::dup) (void *) |
Function to create a copy of an object instance
Referenced by command_object_get_attr().
int(* object_func::get_attr) (void *, enum attr_type type, struct attr *attr, struct attr_iter *iter) |
Function to get an attribute of the object, set to navit_object_get_attr
for default behavior
Referenced by command_evaluate_single(), command_object_get_attr(), and eval_postfix().
int(* object_func::init) (void *) |
TODO, can be NULL for some object types
Referenced by end_element().
void(* object_func::iter_destroy) (struct attr_iter *) |
Function to destroy an attribute iterator, set to navit_object_attr_iter_destroy
for default behavior, can be NULL for some object types
Referenced by command_evaluate_single(), and eval_postfix().
struct attr_iter*(* object_func::iter_new) (void *) |
Function to obtain a new attribute iterator, set to navit_object_attr_iter_new
for default behavior, can be NULL for some object types
Referenced by command_evaluate_single(), and eval_postfix().
void*(* object_func::ref) (void *) |
Function to increase the reference count for an object instance, set to navit_object_ref
for default behavior, can be NULL for some object types
Function to remove an attribute, set to navit_object_remove_attr
for default behavior, can be NULL for some object types
Referenced by command_object_remove_attr(), command_saved_callbacks_changed(), and gui_internal_menu_destroy().
Function to set an attribute, set to navit_object_set_attr
for default behavior, can be NULL for some object types
Referenced by command_set_attr().
enum attr_type object_func::type |
The object type
void*(* object_func::unref) (void *) |
Function to decrease the reference count for an object instance, set to navit_object_unref
for default behavior, can be NULL for some object types
Referenced by end_element().