Update FSF address
[lttv.git] / lttv / modules / gui / lttvwindow / lttvwindow / lttv_plugin.h
CommitLineData
27dd5fdf 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
b9ce0bad
YB
15 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
16 * MA 02110-1301, USA.
27dd5fdf 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
40typedef struct _LttvPlugin LttvPlugin;
41typedef struct _LttvPluginClass LttvPluginClass;
42
43struct _LttvPlugin {
44 GObject parent;
45 /* instance members */
46 GtkWidget *top_widget;
47
48 /* private */
49};
50
51struct _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 */
60GType lttv_plugin_get_type (void);
61
62/*
63 * Method definitions.
64 */
65
66/* declaration in the header. */
67void lttv_plugin_update_filter (LttvPlugin *self, LttvFilter *filter);
68
69
70
71
72#endif
This page took 0.052257 seconds and 4 git commands to generate.