#include <bcrepeater.h>
Inherits Thread.

Public Member Functions | |
| BC_Repeater (BC_WindowBase *top_level, long delay) | |
| ~BC_Repeater () | |
| void | initialize () |
| int | start_repeating () |
| int | stop_repeating () |
| void | run () |
Data Fields | |
| long | repeat_id |
| long | delay |
| int | repeating |
| int | interrupted |
| Condition * | repeat_lock |
Private Attributes | |
| Timer | timer |
| BC_WindowBase * | top_level |
| long | next_delay |
| Condition * | pause_lock |
| Condition * | startup_lock |
Definition at line 10 of file bcrepeater.h.
| BC_Repeater::BC_Repeater | ( | BC_WindowBase * | top_level, | |
| long | delay | |||
| ) |
Definition at line 8 of file bcrepeater.C.
References interrupted, pause_lock, repeat_lock, repeating, Thread::set_synchronous(), and startup_lock.

| BC_Repeater::~BC_Repeater | ( | ) |
Definition at line 22 of file bcrepeater.C.
References Thread::end(), interrupted, Thread::join(), pause_lock, repeat_lock, startup_lock, and Condition::unlock().

| void BC_Repeater::initialize | ( | ) |
Definition at line 36 of file bcrepeater.C.
References Condition::lock(), Thread::start(), and startup_lock.
Referenced by BC_WindowBase::set_repeat().

| int BC_Repeater::start_repeating | ( | ) |
Definition at line 43 of file bcrepeater.C.
References pause_lock, repeating, and Condition::unlock().
Referenced by BC_WindowBase::set_repeat().

| int BC_Repeater::stop_repeating | ( | ) |
Definition at line 55 of file bcrepeater.C.
References Condition::lock(), pause_lock, and repeating.
Referenced by BC_WindowBase::unset_all_repeaters(), and BC_WindowBase::unset_repeat().

| void BC_Repeater::run | ( | ) | [virtual] |
Implements Thread.
Definition at line 67 of file bcrepeater.C.
References BC_WindowBase::arm_repeat(), Timer::delay(), delay, Thread::disable_cancel(), Thread::enable_cancel(), Timer::get_difference(), interrupted, Condition::lock(), BC_WindowBase::lock_window(), next_delay, pause_lock, repeat_lock, repeating, startup_lock, timer, top_level, Condition::unlock(), BC_WindowBase::unlock_window(), and Timer::update().

Definition at line 21 of file bcrepeater.h.
| long BC_Repeater::delay |
Definition at line 22 of file bcrepeater.h.
Referenced by BC_WindowBase::dispatch_repeat_event(), run(), BC_WindowBase::set_repeat(), and BC_WindowBase::unset_repeat().
Definition at line 23 of file bcrepeater.h.
Referenced by BC_Repeater(), run(), start_repeating(), and stop_repeating().
Definition at line 26 of file bcrepeater.h.
Referenced by BC_Repeater(), BC_WindowBase::dispatch_repeat_event(), run(), and ~BC_Repeater().
Timer BC_Repeater::timer [private] |
BC_WindowBase* BC_Repeater::top_level [private] |
long BC_Repeater::next_delay [private] |
Condition* BC_Repeater::pause_lock [private] |
Definition at line 33 of file bcrepeater.h.
Referenced by BC_Repeater(), run(), start_repeating(), stop_repeating(), and ~BC_Repeater().
Condition* BC_Repeater::startup_lock [private] |
Definition at line 34 of file bcrepeater.h.
Referenced by BC_Repeater(), initialize(), run(), and ~BC_Repeater().
1.5.5