00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00026 #ifndef _CONNECT_PING_H_
00027 #define _CONNECT_PING_H_
00028
00029 #include <glib.h>
00030 #include "commonData.h"
00031 #include "pingThread.h"
00032
00033 typedef enum
00034 {
00035 backgroundPing_e = 0,
00036 connectPing_e,
00037 editPing_e,
00038 undefPingMode_e
00039 }pingMode_t;
00040
00041 typedef enum
00042 {
00043 pingSucceeded_e=0,
00044 pingFailed_e,
00045 pingFailedPCShare_e,
00046 pingFailedNetwork_e,
00047 pingSkipped_e,
00048 pingNeedKey_e,
00049 pingAborting_e,
00050 pingAborted_e,
00051 pingConnecting_e,
00052 undefPingStatus_e
00053 }pingStatus_t;
00054
00055
00056 typedef int get_initial_profile_t(void);
00057
00058
00059 typedef int get_n_network_profiles_t(void);
00060 typedef const networkProfile_t* get_network_profile_t(int profileIndex);
00061 typedef gboolean select_next_regprofile_t(int profileIndex);
00062
00063
00064 typedef void ui_update_status_t(int profileIndex, pingStatus_t status);
00065 typedef void ui_display_settings_t(int profileIndex, gboolean resetStatus);
00066 typedef void ui_select_profile_t(int profileIndex);
00067 typedef void ui_unselect_all_profile_t(void);
00068
00069
00070 typedef void on_connected_t(int profileIndex);
00071 typedef void on_failed_all_t(void);
00072
00073 typedef struct
00074 {
00075 pingMode_t mode;
00076 cmgrConnectType_t connectType;
00077
00078 ping_thread_parms* pingParms;
00079
00080
00081 gboolean pingServer;
00082 guint pingTimeoutId;
00083 gboolean pingAborting;
00084
00085 int selectedProfileIndex;
00086 int pingingProfileIndexStart;
00087 int pingingProfileIndex;
00088
00089 get_n_network_profiles_t* get_n_network_profiles;
00090 get_network_profile_t* get_network_profile;
00091 select_next_regprofile_t* select_next_regprofile;
00092
00093 get_initial_profile_t* get_initial_profile;
00094
00095 ui_update_status_t* ui_update_status;
00096 ui_display_settings_t* ui_display_settings;
00097 ui_select_profile_t* ui_select_profile;
00098 ui_unselect_all_profile_t* ui_unselect_all_profile;
00099
00100 on_connected_t* on_connected;
00101 on_failed_all_t* on_failed_all;
00102 }pingContext_t;
00103
00104 #ifdef __cplusplus
00105 extern "C"
00106 {
00107 #endif
00108
00109 pingContext_t* connect_ping_ctxt_new(void);
00110
00111 void connect_ping_ctxt_set_mode(pingContext_t* ctxt, pingMode_t mode);
00112 void connect_ping_ctxt_set_connect_type(pingContext_t* ctxt,
00113 cmgrConnectType_t connectType);
00114
00115 void connect_ping_ctxt_set_get_initial_profile(pingContext_t* ctxt,
00116 get_initial_profile_t* get_initial_profile);
00117
00118 void connect_ping_ctxt_set_access_network_profiles_callbacks(pingContext_t* ctxt,
00119 get_n_network_profiles_t* get_n_network_profiles,
00120 get_network_profile_t* get_network_profile,
00121 select_next_regprofile_t* select_next_regprofile);
00122
00123 void connect_ping_ctxt_set_ui_callbacks(pingContext_t* ctxt,
00124 ui_update_status_t* ui_update_status,
00125 ui_display_settings_t* ui_display_settings,
00126 ui_select_profile_t* ui_select_profile,
00127 ui_unselect_all_profile_t* ui_unselect_all_profile);
00128
00129 void connect_ping_ctxt_set_done_callbacks(pingContext_t* ctxt,
00130 on_connected_t* on_connected,
00131 on_failed_all_t* on_failed_all);
00132
00133 void connect_ping_ctxt_destory(pingContext_t* ctxt);
00134
00135
00136 void connect_ping(pingContext_t* ctxt, gboolean delay);
00137 void connect_ping_abort(pingContext_t* ctxt);
00138
00139 int connect_ping_get_pinging_profile_index_start(pingContext_t* ctxt);
00140 void connect_ping_set_pinging_profile_index_start(pingContext_t* ctxt,
00141 int profileIndex);
00142
00143 int connect_ping_get_pinging_profile_index(pingContext_t* ctxt);
00144 void connect_ping_set_pinging_profile_index(pingContext_t* ctxt,
00145 int profileIndex);
00146
00147 int connect_ping_get_selected_profile_index(pingContext_t* ctxt);
00148 void connect_ping_set_selected_profile_index(pingContext_t* ctxt,
00149 int profileIndex);
00150
00151 void connect_ping_select_initial_profile (pingContext_t* ctxt);
00152
00153
00154 gboolean connect_ping_in_pinging(pingContext_t *ctxt);
00155
00156 gboolean connect_ping_freeze_ui(pingContext_t* ctxt);
00157
00158 #ifdef __cplusplus
00159 }
00160 #endif
00161
00162 #endif //_CONNECT_PING_H_
00163