1 /* 2 * thread.h 3 * 4 * Copyright 2012 Dimitar Toshkov Zhekov <dimitar.zhekov@gmail.com> 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or 9 * (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 #ifndef THREAD_H 21 22 void on_thread_group_started(GArray *nodes); 23 void on_thread_group_exited(GArray *nodes); 24 void on_thread_group_added(GArray *nodes); 25 void on_thread_group_removed(GArray *nodes); 26 27 typedef enum _ThreadState 28 { 29 THREAD_BLANK, /* none or created */ 30 THREAD_RUNNING, 31 THREAD_STOPPED, /* unknown frame */ 32 THREAD_QUERY_FRAME, 33 THREAD_AT_SOURCE, 34 THREAD_AT_ASSEMBLER 35 } ThreadState; 36 37 extern const char *thread_id; 38 extern ThreadState thread_state; 39 const char *thread_group_id(void); 40 41 void on_thread_running(GArray *nodes); 42 void on_thread_stopped(GArray *nodes); 43 void on_thread_created(GArray *nodes); 44 void on_thread_exited(GArray *nodes); 45 void on_thread_selected(GArray *nodes); 46 void on_thread_info(GArray *nodes); 47 void on_thread_follow(GArray *nodes); 48 void on_thread_frame(GArray *nodes); 49 50 void threads_mark(GeanyDocument *doc); 51 void threads_clear(void); 52 void threads_delta(ScintillaObject *sci, const char *real_path, gint start, gint delta); 53 gboolean threads_update(void); 54 55 void thread_query_frame(char token); 56 void thread_synchronize(void); 57 58 void thread_init(void); 59 void thread_finalize(void); 60 61 #define THREAD_H 1 62 #endif 63