navit  0.5.3-trunk
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

◆ add_attr

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

◆ create

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

Function to create a new object instance

Referenced by command_call_function().

◆ destroy

void(* object_func::destroy) (void *)

Function to destroy an object instance, set to navit_object_destroy for default behavior, can be NULL

◆ dup

void*(* object_func::dup) (void *)

Function to create a copy of an object instance

Referenced by command_object_get_attr().

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

◆ init

int(* object_func::init) (void *)

TODO, can be NULL for some object types

Referenced by end_element().

◆ iter_destroy

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

◆ iter_new

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

◆ ref

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

◆ remove_attr

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

◆ set_attr

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

◆ type

enum attr_type object_func::type

The object type

◆ unref

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: