summaryrefslogtreecommitdiff
path: root/pjsip-apps/src/pjsystest/gui.h
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2009-07-16 10:36:48 +0000
committerBenny Prijono <bennylp@teluu.com>2009-07-16 10:36:48 +0000
commit5d0127a9b3b7159206918142986f67b9489b71ec (patch)
tree7b5dcbfd13162ac8d362c87f47f724ec25349cce /pjsip-apps/src/pjsystest/gui.h
parentc7b0bd5a2320cc342474e5713adb00f92532aa23 (diff)
Ticket #920: New pjsystest application for testing target system/device. Initial work on Win32 and WM
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2835 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip-apps/src/pjsystest/gui.h')
-rw-r--r--pjsip-apps/src/pjsystest/gui.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/pjsip-apps/src/pjsystest/gui.h b/pjsip-apps/src/pjsystest/gui.h
new file mode 100644
index 00000000..0ae1ba36
--- /dev/null
+++ b/pjsip-apps/src/pjsystest/gui.h
@@ -0,0 +1,54 @@
+#ifndef __GUI_H__
+#define __GUI_H__
+
+#include <pj/types.h>
+
+PJ_BEGIN_DECL
+
+typedef char gui_title[32];
+
+typedef void (*gui_menu_handler) (void);
+
+typedef struct gui_menu
+{
+ gui_title title;
+ gui_menu_handler handler;
+ unsigned submenu_cnt;
+ struct gui_menu *submenus[16];
+} gui_menu;
+
+enum gui_flag
+{
+ WITH_OK = 0,
+ WITH_YESNO = 1,
+ WITH_OKCANCEL = 2
+};
+
+enum gui_key
+{
+ KEY_CANCEL = '9',
+ KEY_NO = '0',
+ KEY_YES = '1',
+ KEY_OK = '1',
+};
+
+/* Initialize GUI with the menus and stuff */
+PJ_DECL(pj_status_t) gui_init(gui_menu *menu);
+
+/* Run GUI main loop */
+PJ_DECL(pj_status_t) gui_start(gui_menu *menu);
+
+/* Signal GUI mainloop to stop */
+PJ_DECL(void) gui_destroy(void);
+
+/* AUX: display messagebox */
+PJ_DECL(enum gui_key) gui_msgbox(const char *title, const char *message, enum gui_flag flag);
+
+/* AUX: sleep */
+PJ_DECL(void) gui_sleep(unsigned sec);
+
+
+PJ_END_DECL
+
+
+#endif /* __GUI_H__ */