/usr/include/xfdashboard/libxfdashboard/model.h is in libxfdashboard-dev 0.6.1-0ubuntu1.
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 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 | /*
* model: A simple and generic data model holding one value per row
*
* Copyright 2012-2016 Stephan Haller <nomad@froevel.de>
*
* This program 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.
*
* This program 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 this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*
*/
#ifndef __LIBXFDASHBOARD_MODEL__
#define __LIBXFDASHBOARD_MODEL__
#if !defined(__LIBXFDASHBOARD_H_INSIDE__) && !defined(LIBXFDASHBOARD_COMPILATION)
#error "Only <libxfdashboard/libxfdashboard.h> can be included directly."
#endif
#include <glib-object.h>
G_BEGIN_DECLS
/* Object declaration: XfdashboardModelIter */
#define XFDASHBOARD_TYPE_MODEL_ITER (xfdashboard_model_iter_get_type())
#define XFDASHBOARD_MODEL_ITER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), XFDASHBOARD_TYPE_MODEL_ITER, XfdashboardModelIter))
#define XFDASHBOARD_IS_MODEL_ITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), XFDASHBOARD_TYPE_MODEL_ITER))
#define XFDASHBOARD_MODEL_ITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), XFDASHBOARD_TYPE_MODEL_ITER, XfdashboardModelIterClass))
#define XFDASHBOARD_IS_MODEL_ITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), XFDASHBOARD_TYPE_MODEL_ITER))
#define XFDASHBOARD_MODEL_ITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), XFDASHBOARD_TYPE_MODEL_ITER, XfdashboardModelIterClass))
typedef struct _XfdashboardModelIter XfdashboardModelIter;
typedef struct _XfdashboardModelIterClass XfdashboardModelIterClass;
typedef struct _XfdashboardModelIterPrivate XfdashboardModelIterPrivate;
struct _XfdashboardModelIter
{
/* Parent instance */
GObjectClass parent_instance;
/* Private structure */
XfdashboardModelIterPrivate *priv;
};
struct _XfdashboardModelIterClass
{
/*< private >*/
/* Parent class */
GObjectClass parent_class;
/*< public >*/
/* Virtual functions */
};
/* Object declaration: XfdashboardModel */
#define XFDASHBOARD_TYPE_MODEL (xfdashboard_model_get_type())
#define XFDASHBOARD_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), XFDASHBOARD_TYPE_MODEL, XfdashboardModel))
#define XFDASHBOARD_IS_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), XFDASHBOARD_TYPE_MODEL))
#define XFDASHBOARD_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), XFDASHBOARD_TYPE_MODEL, XfdashboardModelClass))
#define XFDASHBOARD_IS_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), XFDASHBOARD_TYPE_MODEL))
#define XFDASHBOARD_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), XFDASHBOARD_TYPE_MODEL, XfdashboardModelClass))
typedef struct _XfdashboardModel XfdashboardModel;
typedef struct _XfdashboardModelClass XfdashboardModelClass;
typedef struct _XfdashboardModelPrivate XfdashboardModelPrivate;
struct _XfdashboardModel
{
/* Parent instance */
GObjectClass parent_instance;
/* Private structure */
XfdashboardModelPrivate *priv;
};
struct _XfdashboardModelClass
{
/*< private >*/
/* Parent class */
GObjectClass parent_class;
/*< public >*/
/* Virtual functions */
void (*row_added)(XfdashboardModel *self,
XfdashboardModelIter *inIter);
void (*row_removed)(XfdashboardModel *self,
XfdashboardModelIter *inIter);
void (*row_changed)(XfdashboardModel *self,
XfdashboardModelIter *inIter);
void (*sort_changed)(XfdashboardModel *self);
void (*filter_changed)(XfdashboardModel *self);
};
/* Public API */
typedef void (*XfdashboardModelForeachFunc)(XfdashboardModelIter *inIter,
gpointer inData,
gpointer inUserData);
typedef gint (*XfdashboardModelSortFunc)(XfdashboardModelIter *inLeftIter,
XfdashboardModelIter *inRightIter,
gpointer inUserData);
typedef gboolean (*XfdashboardModelFilterFunc)(XfdashboardModelIter *inIter,
gpointer inUserData);
GType xfdashboard_model_get_type(void) G_GNUC_CONST;
GType xfdashboard_model_iter_get_type(void) G_GNUC_CONST;
/* Model creation functions */
XfdashboardModel* xfdashboard_model_new(void);
XfdashboardModel* xfdashboard_model_new_with_free_data(GDestroyNotify inFreeDataFunc);
/* Model information functions */
gint xfdashboard_model_get_rows_count(XfdashboardModel *self);
/* Model access functions */
gpointer xfdashboard_model_get(XfdashboardModel *self, gint inRow);
/* Model manipulation functions */
gboolean xfdashboard_model_append(XfdashboardModel *self,
gpointer inData,
XfdashboardModelIter **outIter);
gboolean xfdashboard_model_prepend(XfdashboardModel *self,
gpointer inData,
XfdashboardModelIter **outIter);
gboolean xfdashboard_model_insert(XfdashboardModel *self,
gint inRow,
gpointer inData,
XfdashboardModelIter **outIter);
gboolean xfdashboard_model_set(XfdashboardModel *self,
gint inRow,
gpointer inData,
XfdashboardModelIter **outIter);
gboolean xfdashboard_model_remove(XfdashboardModel *self, gint inRow);
void xfdashboard_model_remove_all(XfdashboardModel *self);
/* Model foreach functions */
void xfdashboard_model_foreach(XfdashboardModel *self,
XfdashboardModelForeachFunc inForeachCallback,
gpointer inUserData);
/* Model sort functions */
gboolean xfdashboard_model_is_sorted(XfdashboardModel *self);
void xfdashboard_model_set_sort(XfdashboardModel *self,
XfdashboardModelSortFunc inSortCallback,
gpointer inUserData,
GDestroyNotify inUserDataDestroyCallback);
void xfdashboard_model_resort(XfdashboardModel *self);
/* Model filter functions */
gboolean xfdashboard_model_is_filtered(XfdashboardModel *self);
void xfdashboard_model_set_filter(XfdashboardModel *self,
XfdashboardModelFilterFunc inFilterCallback,
gpointer inUserData,
GDestroyNotify inUserDataDestroyCallback);
gboolean xfdashboard_model_filter_row(XfdashboardModel *self, gint inRow);
/* Model iterator functions */
XfdashboardModelIter* xfdashboard_model_iter_new(XfdashboardModel *inModel);
XfdashboardModelIter* xfdashboard_model_iter_new_for_row(XfdashboardModel *inModel, gint inRow);
XfdashboardModelIter* xfdashboard_model_iter_copy(XfdashboardModelIter *self);
gboolean xfdashboard_model_iter_next(XfdashboardModelIter *self);
gboolean xfdashboard_model_iter_prev(XfdashboardModelIter *self);
gboolean xfdashboard_model_iter_move_to_row(XfdashboardModelIter *self, gint inRow);
/* Model iterator information functions */
XfdashboardModel* xfdashboard_model_iter_get_model(XfdashboardModelIter *self);
guint xfdashboard_model_iter_get_row(XfdashboardModelIter *self);
/* Model iterator access functions */
gpointer xfdashboard_model_iter_get(XfdashboardModelIter *self);
/* Model iterator manipulation functions */
gboolean xfdashboard_model_iter_set(XfdashboardModelIter *self, gpointer inData);
gboolean xfdashboard_model_iter_remove(XfdashboardModelIter *self);
/* Model filter functions */
gboolean xfdashboard_model_iter_filter(XfdashboardModelIter *self);
G_END_DECLS
#endif /* __LIBXFDASHBOARD_MODEL__ */
|