4 void build_cheetah_menu(struct git_data
*data
, void *platform_data
);
7 * Prototypes of functions that must be provided by the client
9 void reset_platform(void *platform
);
10 BOOL
build_separator(struct git_data
*data
, const struct menu_item
*item
,
12 BOOL
build_item(struct git_data
*data
, const struct menu_item
*item
,
15 void *start_submenu(struct git_data
*, const struct menu_item
*item
,
17 void end_submenu(void *parent
, void *submenu
);
20 * This lets a platform override the command called by an item
33 typedef void (*free_func_t
)(void *);
35 const char **menu_get_platform_argv(menu_commands cmd
, void *data
,
36 free_func_t
*free_platform_argv
, void **argv_data
);
39 * Cheetah-specific flags and functions
41 * Generally, nobody is interested in these flags & functions, but
42 * they may be useful for unit testing.
44 * 2 bits to indicate each choise are required because
45 * menu_item.selection is used as a mask and there are
46 * actually three choices:
51 #define MENU_ITEM_FILE (1 << 0)
52 #define MENU_ITEM_DIR (1 << 1)
53 #define MENU_ITEM_NOREPO (1 << 2)
54 #define MENU_ITEM_REPO (1 << 3)
55 #define MENU_ITEM_TRACK (1 << 4)
56 #define MENU_ITEM_NOTRACK (1 << 5)
58 UINT
cheetah_menu_mask(struct git_data
*this_
);
60 #endif /* CHEETAHMENU_H */