summaryrefslogtreecommitdiff
path: root/gtk/gactionmuxer.h
diff options
context:
space:
mode:
authorRyan Lortie <desrt@desrt.ca>2011-11-30 09:33:03 -0500
committerRyan Lortie <desrt@desrt.ca>2011-12-19 12:51:08 -0500
commite7ad2f97c8aaf23a599c970df4fd9eda0ce2df33 (patch)
tree0f7bdf75868eb2266f490b3acdbdbbee93cc82fc /gtk/gactionmuxer.h
parentf826dd548109752dcb44c63fb6ed98f4d9b37f0c (diff)
downloadgtk+-e7ad2f97c8aaf23a599c970df4fd9eda0ce2df33.tar.gz
add GActionMuxer and observer interfaces
These were destined for GLib, but they don't really make sense as a public API. Instead, we'll copy/paste them around between the various codebases that need to render menus.
Diffstat (limited to 'gtk/gactionmuxer.h')
-rw-r--r--gtk/gactionmuxer.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/gtk/gactionmuxer.h b/gtk/gactionmuxer.h
new file mode 100644
index 0000000000..adafd03b24
--- /dev/null
+++ b/gtk/gactionmuxer.h
@@ -0,0 +1,53 @@
+/*
+ * Copyright © 2011 Canonical Limited
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the licence, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Ryan Lortie <desrt@desrt.ca>
+ */
+
+#ifndef __G_ACTION_MUXER_H__
+#define __G_ACTION_MUXER_H__
+
+#include <gio/gio.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_ACTION_MUXER (g_action_muxer_get_type ())
+#define G_ACTION_MUXER(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
+ G_TYPE_ACTION_MUXER, GActionMuxer))
+#define G_IS_ACTION_MUXER(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \
+ G_TYPE_ACTION_MUXER))
+
+typedef struct _GActionMuxer GActionMuxer;
+
+G_GNUC_INTERNAL
+GType g_action_muxer_get_type (void);
+G_GNUC_INTERNAL
+GActionMuxer * g_action_muxer_new (void);
+
+G_GNUC_INTERNAL
+void g_action_muxer_insert (GActionMuxer *muxer,
+ const gchar *prefix,
+ GActionGroup *group);
+
+G_GNUC_INTERNAL
+void g_action_muxer_remove (GActionMuxer *muxer,
+ const gchar *prefix);
+
+G_END_DECLS
+
+#endif /* __G_ACTION_MUXER_H__ */