/* * 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 . * * Authors: * Lars Uebernickel */ #ifndef __IM_MENU_H__ #define __IM_MENU_H__ #include #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); void im_menu_prepend_section (ImMenu *menu, GMenuModel *section); void im_menu_append_section (ImMenu *menu, GMenuModel *section); void im_menu_insert_item_sorted (ImMenu *menu, GMenuItem *item, gint first, gint last); gboolean im_menu_show_data (ImMenu *menu); #endif