1
/* ethos-ui-configurable.h
3
* Copyright (C) 2009 Christian Hergert <chris@dronelabs.com>
5
* This library is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU Library General Public
7
* License as published by the Free Software Foundation; either
8
* version 2 of the License, or (at your option) any later version.
10
* This library is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
* Library General Public License for more details.
15
* You should have received a copy of the GNU Library General Public
16
* License along with this library; if not, write to the Free Software
17
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA
21
#ifndef __ETHOS_UI_CONFIGURABLE_H__
22
#define __ETHOS_UI_CONFIGURABLE_H__
24
#include <glib-object.h>
29
#define ETHOS_UI_TYPE_CONFIGURABLE (ethos_ui_configurable_get_type())
31
#define ETHOS_UI_CONFIGURABLE(obj) \
32
(G_TYPE_CHECK_INSTANCE_CAST((obj), \
33
ETHOS_UI_TYPE_CONFIGURABLE, \
36
#define ETHOS_UI_IS_CONFIGURABLE(obj) \
37
(G_TYPE_CHECK_INSTANCE_TYPE((obj), \
38
ETHOS_UI_TYPE_CONFIGURABLE))
40
#define ETHOS_UI_CONFIGURABLE_GET_INTERFACE(obj)\
41
(G_TYPE_INSTANCE_GET_INTERFACE((obj), \
42
ETHOS_UI_TYPE_CONFIGURABLE, \
43
EthosUIConfigurableIface))
45
typedef struct _EthosUIConfigurable EthosUIConfigurable;
46
typedef struct _EthosUIConfigurableIface EthosUIConfigurableIface;
48
struct _EthosUIConfigurableIface
50
GObjectClass parent_class;
52
void (*configure) (EthosUIConfigurable *configurable,
55
void (*reserved1) (void);
56
void (*reserved2) (void);
57
void (*reserved3) (void);
58
void (*reserved4) (void);
61
GType ethos_ui_configurable_get_type (void) G_GNUC_CONST;
62
void ethos_ui_configurable_configure (EthosUIConfigurable *configurable,
67
#endif /* __ETHOS_UI_CONFIGURABLE_H__ */