4db2d04c5562e057fa6f00ecc0cbfb662d56706c
[lttv.git] /
1 /* This file is part of the Linux Trace Toolkit viewer
2 * Copyright (C) 2006 Mathieu Desnoyers
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License Version 2 as
6 * published by the Free Software Foundation;
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
16 * MA 02111-1307, USA.
17 */
18
19 /* The LttvPlugin class is a pure virtual class. It only contains the functions
20 * available for interaction with a plugin (tab or viewer).
21 */
22
23 #ifndef LTTV_PLUGIN_H
24 #define LTTV_PLUGIN_H
25
26 #include <gtk/gtk.h>
27 #include <lttv/filter.h>
28
29 /*
30 * Type macros.
31 */
32
33 #define LTTV_TYPE_PLUGIN (lttv_plugin_get_type ())
34 #define LTTV_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LTTV_TYPE_PLUGIN, LttvPlugin))
35 #define LTTV_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LTTV_TYPE_PLUGIN, LttvPluginClass))
36 #define LTTV_IS_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LTTV_TYPE_PLUGIN))
37 #define LTTV_IS_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LTTV_TYPE_PLUGIN))
38 #define LTTV_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LTTV_TYPE_PLUGIN, LttvPluginClass))
39
40 typedef struct _LttvPlugin LttvPlugin;
41 typedef struct _LttvPluginClass LttvPluginClass;
42
43 struct _LttvPlugin {
44 GObject parent;
45 /* instance members */
46 GtkWidget *top_widget;
47
48 /* private */
49 };
50
51 struct _LttvPluginClass {
52 GObjectClass parent;
53
54 void (*update_filter) (LttvPlugin *self, LttvFilter *filter);
55
56 /* class members */
57 };
58
59 /* used by LTTV_PLUGIN_TYPE */
60 GType lttv_plugin_get_type (void);
61
62 /*
63 * Method definitions.
64 */
65
66 /* declaration in the header. */
67 void lttv_plugin_update_filter (LttvPlugin *self, LttvFilter *filter);
68
69
70
71
72 #endif
This page took 0.029822 seconds and 3 git commands to generate.