NADataDef, NADataGroup

NADataDef, NADataGroup — The Data Factory Structure Definitions

Synopsis

#include <nautilus-actions/na-data-def.h>

                    NADataDef;
                    NADataGroup;
const NADataDef *   na_data_def_get_data_def            (const NADataGroup *group,
                                                         const gchar *group_name,
                                                         const gchar *name);

Description

NADataDef and NADataGroup are structures which handle the list of elementary datas for each and every NAObjectItem which happens to implement the NAIFactoryObject interface.

Details

NADataDef

typedef struct {
	gchar     *name;
	gboolean   readable;
	gboolean   writable;
	gboolean   has_property;
	gchar     *short_label;
	gchar     *long_label;
	guint      type;
	gchar     *default_value;
	gboolean   write_if_default;
	gboolean   copyable;
	gboolean   comparable;
	gboolean   mandatory;
	gboolean   localizable;
	gchar     *gconf_entry;
	gchar     *desktop_entry;
	gchar      option_short;
	gchar     *option_long;
	gint       option_flags;
	GOptionArg option_arg;
	gchar     *option_label;
	gchar     *option_arg_label;
} NADataDef;

This structure fully describes an elementary factory data. Each NAIFactoryObject item definition may include several groups of this structure.

gchar *name;

both the id and the canonical name. Used when getting/setting properties. Is defined in na-ifactory-object-data.h and must be globally unique. Must be an invariant as it is known from plugin extensions.

gboolean readable;

whether the data should be read on unserialization operations. If FALSE, then no attempt will be made to read it and the data will have to be set dynamically. When a data has been written once (see below), and unless special cases (see e.g. type), it should remain readable even if it has becomen obsolete (for backward compatibility).

gboolean writable;

whether the data is to be written on serialization operations. If FALSE, then no attempt will be made to write it. Mainly set to FALSE for dynamically set variables and obsoleted ones.

gboolean has_property;

whether a property should be set for this variable ? Set to FALSE for obsolete variables.

gchar *short_label;

short localizable descriptive name. Used in GParamSpec and in schemas.

gchar *long_label;

long, if not complete, localizable description. Used in GParamSpec and in schemas?

guint type;

the elementary NA_DATA_TYPE_xxx data type.

gchar *default_value;

the default to assign when creating a new object. This default is also displayed in command-line help of nautilus-actions-new utility.

gboolean write_if_default;

write this value even if it is the default value ? Should default to FALSE.

gboolean copyable;

whether this data should be automatically copied when we are duplicating an object to another ? In all cases, the implementation is always triggered by the copy() interface method.

gboolean comparable;

whether this data should be compared when we are testing two objects for equality.

gboolean mandatory;

whether this data must be not null and not empty when we are testing for validity of an object.

gboolean localizable;

whether this is a localizable data when serializing or exporting.

gchar *gconf_entry;

same entry is also used for GConf-based XML docs.

gchar *desktop_entry;

entry in .desktop files.

gchar option_short;

the short version of a command-line parameter in nautilus-actions-new, or 0.

gchar *option_long;

the long version of the same command-line parameter in nautilus-actions-new, or NULL.

gint option_flags;

GOptionFlags for the command-line parameter, or 0.

GOptionArg option_arg;

the type of the option, or 0.

gchar *option_label;

the localizable description for the variable in nautilus-actions-new. Defaults to short_label if NULL.

gchar *option_arg_label;

the localizable description for the argument.

NADataGroup

typedef struct {
	gchar     *group;
	NADataDef *def;
} NADataGroup;

This structure fully describes a logical group of data. Each NAIFactoryObject item definition is built from a list of these groups.

gchar *group;

the name of the group, as defined in na-ifactory-object-data.h.

NADataDef *def;

the list of the corresponding data structures.

na_data_def_get_data_def ()

const NADataDef *   na_data_def_get_data_def            (const NADataGroup *group,
                                                         const gchar *group_name,
                                                         const gchar *name);

group :

a NADataGroup structure array.

group_name :

the searched group name.

name :

the searched data name.

Returns :

a pointer to the NADataDef structure, or NULL if not found.

Since 2.30