2 * tel-plugin-socket-communicator
4 * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Ja-young Gu <jygu@samsung.com>
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
26 #define ANSI_COLOR_NORMAL "\e[0m"
28 #define ANSI_COLOR_BLACK "\e[0;30m"
29 #define ANSI_COLOR_RED "\e[0;31m"
30 #define ANSI_COLOR_GREEN "\e[0;32m"
31 #define ANSI_COLOR_BROWN "\e[0;33m"
32 #define ANSI_COLOR_BLUE "\e[0;34m"
33 #define ANSI_COLOR_MAGENTA "\e[0;35m"
34 #define ANSI_COLOR_CYAN "\e[0;36m"
35 #define ANSI_COLOR_LIGHTGRAY "\e[0;37m"
37 #define ANSI_COLOR_DARKGRAY "\e[1;30m"
38 #define ANSI_COLOR_LIGHTRED "\e[1;31m"
39 #define ANSI_COLOR_LIGHTGREEN "\e[1;32m"
40 #define ANSI_COLOR_YELLOW "\e[1;33m"
41 #define ANSI_COLOR_LIGHTBLUE "\e[1;34m"
42 #define ANSI_COLOR_LIGHTMAGENTA "\e[1;35m"
43 #define ANSI_COLOR_LIGHTCYAN "\e[1;36m"
44 #define ANSI_COLOR_WHITE "\e[1;37m"
46 #define msg(fmt,args...) { fprintf(stdout, fmt "\n", ##args); fflush(stdout); }
47 #define msgn(fmt,args...) { fprintf(stdout, fmt, ##args); fflush(stdout); }
49 #define MENU_DATA_SIZE 255
51 typedef struct menu_manager MManager;
56 struct menu_data *sub_menu;
57 int (*callback)(MManager *mm, struct menu_data *menu);
61 MManager* menu_manager_new(struct menu_data items[], GMainLoop *mainloop);
62 int menu_manager_run(MManager *mm);
63 int menu_manager_set_user_data(MManager *mm, void *user_data);
64 void* menu_manager_ref_user_data(MManager *mm);
66 gboolean on_menu_manager_keyboard(GIOChannel *src, GIOCondition con, gpointer data);