9 BC_DialogThread::BC_DialogThread()
13 startup_lock = new Condition(1, "BC_DialogThread::startup_lock");
14 window_lock = new Mutex("BC_DialogThread::window_lock");
17 BC_DialogThread::~BC_DialogThread()
19 startup_lock->lock("BC_DialogThread::~BC_DialogThread");
26 startup_lock->unlock();
33 void BC_DialogThread::start()
37 window_lock->lock("BC_DialogThread::start");
40 gui->lock_window("BC_DialogThread::start");
44 window_lock->unlock();
48 // Don't allow anyone else to create the window
49 startup_lock->lock("BC_DialogThread::start");
53 startup_lock->lock("BC_DialogThread::start");
54 startup_lock->unlock();
57 void BC_DialogThread::run()
60 startup_lock->unlock();
61 int result = gui->run_window();
63 handle_done_event(result);
65 window_lock->lock("BC_DialogThread::run");
68 window_lock->unlock();
70 handle_close_event(result);
73 BC_Window* BC_DialogThread::new_gui()
75 printf("BC_DialogThread::new_gui called\n");
79 BC_Window* BC_DialogThread::get_gui()
84 void BC_DialogThread::handle_done_event(int result)
88 void BC_DialogThread::handle_close_event(int result)