2
* Copyright © 2012 Canonical Ltd.
4
* This program is free software: you can redistribute it and/or modify it
5
* under the terms of the GNU General Public License version 3, as
6
* published by the Free Software Foundation.
8
* This program is distributed in the hope that it will be useful, but
9
* WITHOUT ANY WARRANTY; without even the implied warranties of
10
* MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
11
* PURPOSE. See the GNU General Public License for more details.
13
* You should have received a copy of the GNU General Public License along
14
* with this program. If not, see <http://www.gnu.org/licenses/>.
16
* Author: Ryan Lortie <desrt@desrt.ca>
19
#ifndef __HUD_MENU_MODEL_COLLECTOR_H__
20
#define __HUD_MENU_MODEL_COLLECTOR_H__
24
#include "window-info.h"
27
#define HUD_TYPE_MENU_MODEL_COLLECTOR (hud_menu_model_collector_get_type ())
28
#define HUD_MENU_MODEL_COLLECTOR(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
29
HUD_TYPE_MENU_MODEL_COLLECTOR, \
30
HudMenuModelCollector))
31
#define HUD_IS_MENU_MODEL_COLLECTOR(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \
32
HUD_TYPE_MENU_MODEL_COLLECTOR))
34
#define HUD_MENU_MODEL_DEFAULT_DEPTH 10
36
typedef struct _HudMenuModelCollector HudMenuModelCollector;
38
GType hud_menu_model_collector_get_type (void);
40
HudMenuModelCollector * hud_menu_model_collector_new (const gchar *application_id,
43
const gchar *export_path,
44
HudSourceItemType type);
46
void hud_menu_model_collector_add_window (HudMenuModelCollector * collector,
47
const gchar *unique_bus_name,
48
const gchar *app_menu_object_path,
49
const gchar *menubar_object_path,
50
const gchar *application_object_path,
51
const gchar *window_object_path,
52
const gchar *unity_object_path);
54
void hud_menu_model_collector_add_endpoint (HudMenuModelCollector * collector,
56
const gchar *bus_name,
57
const gchar *menu_path,
58
const gchar *action_path);
60
void hud_menu_model_collector_add_model (HudMenuModelCollector * collector,
65
void hud_menu_model_collector_add_actions (HudMenuModelCollector * collector,
67
const gchar * prefix);
69
#define HUD_TYPE_MODEL_ITEM (hud_model_item_get_type ())
70
#define HUD_MODEL_ITEM(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
71
HUD_TYPE_MODEL_ITEM, \
73
#define HUD_IS_MODEL_ITEM(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \
76
typedef struct _HudModelItem HudModelItem;
78
GType hud_model_item_get_type (void);
79
gboolean hud_model_item_is_parameterized (HudModelItem * item);
80
void hud_model_item_activate_parameterized (HudModelItem * item,
82
const gchar ** base_action,
83
const gchar ** action_path,
84
const gchar ** model_path,
87
#endif /* __HUD_MENU_MODEL_COLLECTOR_H__ */