navit  0.5.1-trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Groups
object_func Struct Reference

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 *)
 

Detailed Description

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.

Field Documentation

int(* object_func::add_attr)(void *, struct attr *attr)

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(), command_register_callbacks(), gui_internal_set_refresh_callback(), and xi_text().

void*(* object_func::create)(struct attr *parent, struct attr **attrs)

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

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

int(* object_func::remove_attr)(void *, struct attr *attr)

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().

int(* object_func::set_attr)(void *, struct attr *attr)

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().


The documentation for this struct was generated from the following file: