00001 /* 00002 * This file is part of connectionMgr. 00003 * 00004 * connectionMgr is free software: you can redistribute it and/or modify 00005 * it under the terms of the GNU General Public License as published by 00006 * the Free Software Foundation, either version 2 of the License, or 00007 * (at your option) any later version. 00008 * 00009 * connectionMgr is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License 00015 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00016 */ 00017 00026 #ifndef __PINGTHREAD__H__ 00027 #define __PINGTHREAD__H__ 00028 00029 #include <gtk/gtk.h> 00030 #include <glib.h> 00031 #include <liberregxml/erregapi.h> 00032 00033 typedef enum 00034 { 00035 PING_IDLE = 0, // ping-thread not running 00036 PING_RUNNING, // ping-thread started and connecting to server 00037 PING_ABORTING, // ping-thread running but not wanted anymore 00038 PING_UNDEFINED 00039 } ping_status_t; 00040 00041 typedef struct 00042 { 00043 const regNetworkProfile_t* settings; // network settings 00044 const regPCProfile_t* pcshare; // pcshare settings (optional) 00045 GtkWidget* pingStatus; // label widget to store ping status in 00046 int err; // ping result: ecd_err_t or -CURL_error_code 00047 } ping_thread_parms; 00048 00049 #ifdef __cplusplus 00050 extern "C" 00051 { 00052 #endif /* __cplusplus */ 00053 00054 gboolean pingThread_start(ping_thread_parms* ping_parms); 00055 gboolean pingThread_stop(void); 00056 gboolean pingThread_wait(int timeout_sec); 00057 00058 gboolean pingThread_stopped(void); 00059 00060 #ifdef __cplusplus 00061 } 00062 #endif /* __cplusplus */ 00063 00064 #endif //__PINGTHREAD_H__ 00065