This file is indexed.

/usr/include/caja-actions/na-data-def.h is in caja-actions-dev 1.8.0+dfsg1-1build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
/*
 * Caja-Actions
 * A Caja extension which offers configurable context menu actions.
 *
 * Copyright (C) 2005 The MATE Foundation
 * Copyright (C) 2006-2008 Frederic Ruaudel and others (see AUTHORS)
 * Copyright (C) 2009-2012 Pierre Wieser and others (see AUTHORS)
 *
 * Caja-Actions is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General  Public  License  as
 * published by the Free Software Foundation; either  version  2  of
 * the License, or (at your option) any later version.
 *
 * Caja-Actions is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even  the  implied  warranty  of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See  the  GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public  License
 * along with Caja-Actions; see the file  COPYING.  If  not,  see
 * <http://www.gnu.org/licenses/>.
 *
 * Authors:
 *   Frederic Ruaudel <grumz@grumz.net>
 *   Rodrigo Moya <rodrigo@mate-db.org>
 *   Pierre Wieser <pwieser@trychlos.org>
 *   ... and many others (see AUTHORS)
 */

#ifndef __CAJA_ACTIONS_API_NA_FACTORY_DATA_DEF_H__
#define __CAJA_ACTIONS_API_NA_FACTORY_DATA_DEF_H__

/**
 * SECTION: data-def
 * @title: NADataDef, NADataGroup
 * @short_description: The Data Factory Structure Definitions
 * @include: caja-actions/na-data-def.h
 *
 * #NADataDef and #NADataGroup are structures which handle the list of
 * elementary datas for each and every #NAObjectItem which happens to
 * implement the #NAIFactoryObject interface.
 */

#include <glib.h>

G_BEGIN_DECLS

/**
 * NADataDef:
 * @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.
 * @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).
 * @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.
 * @has_property:     whether a property should be set for this variable ?
 *                    Set to FALSE for obsolete variables.
 * @short_label:      short localizable descriptive name.
 *                    Used in GParamSpec and in schemas.
 * @long_label:       long, if not complete, localizable description.
 *                    Used in GParamSpec and in schemas?
 * @type:             the elementary NA_DATA_TYPE_xxx data type.
 * @default_value:    the default to assign when creating a new object.
 *                    This default is also displayed in command-line help
 *                    of caja-actions-new utility.
 * @write_if_default: write this value even if it is the default value ?
 *                    Should default to FALSE.
 * @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.
 * @comparable:       whether this data should be compared when we
 *                    are testing two objects for equality.
 * @mandatory:        whether this data must be not null and not empty
 *                    when we are testing for validity of an object.
 * @localizable:      whether this is a localizable data when serializing or exporting.
 * @mateconf_entry:      same entry is also used for MateConf-based XML docs.
 * @desktop_entry:    entry in .desktop files.
 * @option_short:     the short version of a command-line parameter in caja-actions-new,
 *                    or 0.
 * @option_long:      the long version of the same command-line parameter in caja-actions-new,
 *                    or NULL.
 * @option_flags:     #GOptionFlags for the command-line parameter, or 0.
 * @option_arg:       the type of the option, or 0.
 * @option_label:     the localizable description for the variable in caja-actions-new.
 *                    Defaults to @short_label if NULL.
 * @option_arg_label: the localizable description for the argument.
 *
 * This structure fully describes an elementary factory data.
 * Each #NAIFactoryObject item definition may include several groups of
 * this structure.
 */
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     *mateconf_entry;
	gchar     *desktop_entry;
	gchar      option_short;
	gchar     *option_long;
	gint       option_flags;
	GOptionArg option_arg;
	gchar     *option_label;
	gchar     *option_arg_label;
}
	NADataDef;

/**
 * NADataGroup:
 * @group: the name of the group, as defined in na-ifactory-object-data.h.
 * @def: the list of the corresponding data structures.
 *
 * This structure fully describes a logical group of data.
 * Each #NAIFactoryObject item definition is built from a list of
 * these groups.
 */
typedef struct {
	gchar     *group;
	NADataDef *def;
}
	NADataGroup;

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

G_END_DECLS

#endif /* __CAJA_ACTIONS_API_NA_FACTORY_DATA_DEF_H__ */