1 /***** 2 * Xnee's Not an Event Emulator 3 * 4 * Xnee enables recording and replaying of X protocol data 5 * 6 * Copyright (C) 2003, 2004, 2005, 7 * 2011 Henrik Sandklef and Jon-Erling Dahl 8 * 9 * This program is free software; you can redistribute it and/or 10 * modify it under the terms of the GNU General Public License 11 * as published by the Free Software Foundation; either version 3 12 * of the License, or any later version. 13 * 14 * 15 * This program is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU General Public License for more details. 19 * 20 * You should have received a copy of the GNU General Public License 21 * along with this program; if not, write to the Free Software 22 * Foundation, Inc., 51 Franklin Street, Boston, 23 * MA 02110-1301, USA. 24 ****/ 25 26 #ifndef GNEE_XNEE__H 27 #define GNEE_XNEE__H 28 29 #include "config.h" 30 #include <recordables.h> 31 #include <libxnee/xnee.h> 32 #include <libxnee/print.h> 33 #include <libxnee/xnee_record.h> 34 #include <libxnee/xnee_replay.h> 35 #include <libxnee/xnee_setget.h> 36 #include <libxnee/datastrings.h> 37 #include <libxnee/xnee_range.h> 38 #include <libxnee/xnee_threshold.h> 39 #include <libxnee/xnee_setget.h> 40 #include <libxnee/xnee_resource.h> 41 #include <libxnee/xnee_utils.h> 42 43 #ifdef USE_GNEE_DEBUG 44 #define GNEE_DEBUG(a) printf a ; fflush(stdout); 45 #else 46 #define GNEE_DEBUG(a) 47 #endif 48 49 50 #define GNEE_OK 0 51 #define XNEE_GUI "gnee" 52 53 typedef struct 54 { 55 int use_rec_display ; 56 int use_rep_display ; 57 58 int use_speed ; 59 int speed ; 60 61 } gnee_xnee ; 62 63 64 #define GNEE_IF_ERROR_RETURN(ret, wind) \ 65 if (ret != XNEE_OK) \ 66 { \ 67 gtk_widget_show_all(ext_gnee_window); \ 68 gx_display_errror(ret); \ 69 return ret; \ 70 } 71 72 73 74 int 75 gnee_set_cb(char * cb_name, int on_or_off); 76 77 void 78 gnee_set_sb(char *sb_name, int val); 79 80 int 81 gx_set_replay_display(xnee_data *xd, gnee_xnee *gx); 82 83 int 84 gx_set_record_display(xnee_data *xd, gnee_xnee *gx); 85 86 int 87 gx_set_variable_data(xnee_data *xd, gnee_xnee *gx); 88 89 #define gx_set_xosd_feedback() xnee_set_xosd_feedback(ext_xd) 90 #define gx_set_no_feedback() xnee_set_no_feedback(ext_xd) 91 #define gx_set_stderr_feedback() xnee_set_stderr_feedback(ext_xd) 92 93 94 #define gnee_set_record_display() gnee_set_various_display(0) 95 #define gnee_set_replay_display() gnee_set_various_display(1) 96 97 98 #define gnee_set_verbose() gnee_set_verbosity(1) 99 #define gnee_unset_verbose() gnee_set_verbosity(0) 100 101 #define gnee_set_sync() gnee_set_cb("skip_sync_cb",1) 102 #define gnee_unset_sync() gnee_set_cb("skip_sync_cb",0) 103 104 #define gnee_set_force() gnee_set_cb("force_rep_cb",1) 105 #define gnee_unset_force() gnee_set_cb("force_rep_cb",0) 106 #define gx_set_all_clients() xnee_set_all_clients(ext_xd) 107 #define gx_unset_all_clients() xnee_unset_all_clients(ext_xd) 108 109 #define gx_set_human_printout() xnee_set_human_printout(ext_xd) 110 #define gx_set_xnee_printout() xnee_set_human_printout(ext_xd) 111 112 #define gx_add_event(gw, ev) \ 113 gnee_move_recordable(gw, ev, \ 114 "exclude_event_store","include_event_store", \ 115 XNEE_EVENT, XNEE_FALSE) 116 117 #define gx_del_event(gw, ev) \ 118 gnee_move_recordable(gw, ev, \ 119 "include_event_store", "exclude_event_store",\ 120 XNEE_EVENT, XNEE_TRUE) 121 122 123 #define gx_add_reply(gw, rep) \ 124 gnee_move_recordable(gw, rep, \ 125 "exclude_reply_store","include_reply_store", \ 126 XNEE_REPLY, XNEE_FALSE) 127 128 #define gx_del_reply(gw, rep) \ 129 gnee_move_recordable(gw, rep, \ 130 "exclude_reply_store","include_reply_store", \ 131 XNEE_REPLY, XNEE_TRUE) 132 133 #define gx_add_request(gw, req) \ 134 gnee_move_recordable(gw, req, \ 135 "exclude_request_store","include_request_store", \ 136 XNEE_REQUEST, XNEE_FALSE) 137 138 #define gx_del_request(gw, req) \ 139 gnee_move_recordable(gw, req, \ 140 "exclude_request_store","include_request_store", \ 141 XNEE_REQUEST, XNEE_TRUE) 142 143 #define gx_add_error(gw, err) \ 144 gnee_move_recordable(gw, err, \ 145 "exclude_error_store","include_error_store" ,\ 146 XNEE_ERROR, XNEE_FALSE) 147 148 #define gx_del_error(gw, err) \ 149 gnee_move_recordable(gw, err, \ 150 "exclude_error_store","include_error_store" ,\ 151 XNEE_ERROR, XNEE_TRUE) 152 153 154 155 #define gx_set_replay_speed(xd,s) xnee_set_replay_speed(xd,s) 156 157 #define gx_set_replay_offset_x(xd,val) xnee_set_replay_offset_x(xd,val) 158 #define gx_set_replay_offset_y(xd,val) xnee_set_replay_offset_y(xd,val) 159 160 #define gx_set_recall_window_pos(xd) xnee_set_recall_window_pos (xd) 161 #define gx_unset_recall_window_pos(xd) xnee_unset_recall_window_pos (xd) 162 #define gx_set_interval(xd,i) xnee_set_interval(xd,i) 163 #define gx_set_verbose(xd) xnee_set_verbose(xd) 164 #define gx_unset_verbose(xd) xnee_unset_verbose(xd) 165 #define gx_set_rc_byname(xd,f) xnee_set_rc_byname(xd,f) 166 #define gx_get_rc_file(xd) xnee_get_rc_file(xd) 167 #define gx_add_resource(xd) xnee_add_resource (xd) 168 #define gx_set_out_byname(xd,f) xnee_set_out_byname(xd,f) 169 #define gx_get_rc_name(xd) xnee_get_rc_name(xd) 170 #define gx_write_settings_to_file(xd,f) xnee_write_settings_to_file(xd,f) 171 #define gx_set_key(xd,km,mode) xnee_set_key(xd,km,mode) 172 #define gx_get_key(ext_xd,mode) xnee_get_key(ext_xd,mode) 173 174 #define gx_set_events_max(ext_xd,loops) xnee_set_events_max(ext_xd, loops); 175 #define gx_get_events_max(ext_xd) xnee_get_events_max(ext_xd) 176 #define gx_get_events_left(ext_xd) xnee_get_events_left(ext_xd) 177 178 #define gx_set_data_max(ext_xd,loops) xnee_set_data_max(ext_xd, loops); 179 #define gx_get_data_max(ext_xd) xnee_get_data_max(ext_xd) 180 #define gx_get_data_left(ext_xd) xnee_get_data_left(ext_xd) 181 182 #define gx_set_time_max(ext_xd,time) xnee_set_time_max(ext_xd,time); 183 #define gx_get_time_max(ext_xd) xnee_get_time_max(ext_xd) 184 #define gx_get_time_left(ext_xd) xnee_get_time_left(ext_xd) 185 186 187 188 #define gx_set_max_threshold(xd,thresh) xnee_set_max_threshold(xd,thresh); gnee_set_max_thresh(thresh); 189 #define gx_set_min_threshold(xd,thresh) xnee_set_min_threshold(xd,thresh); gnee_set_min_thresh(thresh); 190 #define gx_set_tot_threshold(xd,thresh) xnee_set_tot_threshold(xd,thresh); gnee_set_tot_thresh(thresh); 191 192 #define gnee_get_max_threshold(xd) xnee_get_max_threshold(xd) 193 #define gnee_get_min_threshold(xd) xnee_get_min_threshold(xd) 194 #define gnee_get_tot_threshold(xd) xnee_get_tot_threshold(xd) 195 196 #define gx_set_using_rec_display(gx) gx->use_rec_display=1 197 #define gx_unset_using_rec_display(gx) gx->use_rec_display=0 198 #define gx_set_using_rep_display(gx) gx->use_rep_display=1 199 #define gx_unset_using_rep_display(gx) gx->use_rep_display=0 200 201 #define gx_set_sync(ext_xd) xnee_set_sync(ext_xd) 202 #define gx_unset_sync(ext_xd) xnee_unset_sync(ext_xd) 203 #define gx_set_force_replay(ext_xd) xnee_set_force_replay(ext_xd) 204 #define gx_unset_force_replay(ext_xd) xnee_unset_force_replay(ext_xd) 205 206 207 void 208 gx_save(void); 209 210 void 211 gx_init_gx(gnee_xnee *gx); 212 213 int 214 gx_init_value(xnee_data* xd); 215 216 int 217 gx_start_recording(xnee_data* xd); 218 219 int 220 gx_stop_recording(xnee_data* xd); 221 222 int 223 gx_start_replaying(xnee_data* xd); 224 225 int 226 gx_stop_replaying(xnee_data* xd); 227 228 229 230 231 232 void 233 gx_display_errror(int err_nr); 234 235 void 236 gx_undisplay_errror(void); 237 238 void 239 gnee_set_events_max(int val); 240 241 void 242 gnee_set_data_max(int val); 243 244 void 245 gnee_set_time_max(int val); 246 247 void 248 gnee_set_max_thresh(int val); 249 250 void 251 gnee_set_min_thresh(int val); 252 253 void 254 gnee_set_tot_thresh(int val); 255 256 void 257 gnee_set_rec_file(char *filename); 258 259 void 260 gnee_set_rep_file(char *filename); 261 262 char * 263 gx_get_default_filename(); 264 265 void 266 gx_create_km_lists(); 267 268 void 269 gnee_close_down(); 270 271 int 272 gx_set_speed (int val); 273 274 void 275 gx_set_xd_settings(); 276 277 int 278 gx_set_use_speed (int val) ; 279 280 int 281 gnee_set_xosd_feedback(); 282 283 #endif /* GNEE_XNEE__H */ 284