aboutsummaryrefslogtreecommitdiff
path: root/src/im-menu.h
diff options
context:
space:
mode:
authorLars Uebernickel <lars.uebernickel@canonical.com>2013-08-12 21:19:42 +0200
committerLars Uebernickel <lars.uebernickel@canonical.com>2013-08-12 21:19:42 +0200
commitff4aefe6c8d9c36881f26c2cf8514c2ce1f3edca (patch)
tree853b2ae06615f5beed76334efe97bbc94f2f2fb7 /src/im-menu.h
parent769affeef08a04881a5a84aa5c2db2caedf70646 (diff)
downloadayatana-indicator-messages-ff4aefe6c8d9c36881f26c2cf8514c2ce1f3edca.tar.gz
ayatana-indicator-messages-ff4aefe6c8d9c36881f26c2cf8514c2ce1f3edca.tar.bz2
ayatana-indicator-messages-ff4aefe6c8d9c36881f26c2cf8514c2ce1f3edca.zip
Add ImMenu
A base class for all messaging menus. ImPhoneMenu already subclasses from it, with a desktop version coming up.
Diffstat (limited to 'src/im-menu.h')
-rw-r--r--src/im-menu.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/im-menu.h b/src/im-menu.h
new file mode 100644
index 0000000..7276020
--- /dev/null
+++ b/src/im-menu.h
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2013 Canonical Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 3, as published
+ * by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranties of
+ * MERCHANTABILITY, SATISFACTORY QUALITY, 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, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors:
+ * Lars Uebernickel <lars.uebernickel@canonical.com>
+ */
+
+#ifndef __IM_MENU_H__
+#define __IM_MENU_H__
+
+#include <gio/gio.h>
+#include "im-application-list.h"
+
+#define IM_TYPE_MENU (im_menu_get_type ())
+#define IM_MENU(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), IM_TYPE_MENU, ImMenu))
+#define IM_MENU_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), IM_TYPE_MENU, ImMenuClass))
+#define IM_IS_MENU(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IM_TYPE_MENU))
+#define IM_IS_MENU_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), IM_TYPE_MENU))
+#define IM_MENU_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), IM_TYPE_MENU, ImMenuClass))
+
+typedef struct _ImMenuClass ImMenuClass;
+typedef struct _ImMenu ImMenu;
+typedef struct _ImMenuPrivate ImMenuPrivate;
+
+struct _ImMenuClass
+{
+ GObjectClass parent_class;
+};
+
+struct _ImMenu
+{
+ GObject parent_instance;
+};
+
+GType im_menu_get_type (void) G_GNUC_CONST;
+
+ImApplicationList * im_menu_get_application_list (ImMenu *menu);
+
+gboolean im_menu_export (ImMenu *menu,
+ GDBusConnection *connection,
+ const gchar *object_path,
+ GError **error);
+
+#endif