Package generic.timer
Class GhidraSwinglessTimer
- java.lang.Object
-
- generic.timer.GhidraSwinglessTimer
-
- All Implemented Interfaces:
GhidraTimer
public class GhidraSwinglessTimer extends java.lang.Object implements GhidraTimer
The GhidraSwinglessTimer is similar to the javax.swing.Timer class. The big difference is that it does NOT use the swing thread for its callbacks. Similar to the swing timer, only one timer thread is ever used no matter how many GhidraSwinglessTimers are instantiated. It fires one or moreTimerCallback
s at specified intervals. Setting up a timer involves creating aGhidraSwinglessTimer
object, registering one or more TimerCallbacks on it, and starting the timer using thestart
method.
-
-
Constructor Summary
Constructors Constructor Description GhidraSwinglessTimer()
Creates a new repeating timer with a initial delay of 100ms and a continual delay of 100ms.GhidraSwinglessTimer(int initialDelay, int delay, TimerCallback callback)
Creates a new repeating timer with an initial and continual delay.GhidraSwinglessTimer(int delay, TimerCallback callback)
Creates a new repeating timer with a initial and continual delay with the given delay.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getDelay()
Returns the delay for all callbacks after the first callback.int
getInitialDelay()
Returns the delay for the first callback.boolean
isRepeats()
Returns true if this timer is set to repeating.boolean
isRunning()
Returns true if the timer is running.static void
main(java.lang.String[] args)
void
setDelay(int delay)
Sets the delay for all callbacks after the first callbackvoid
setInitialDelay(int initialDelay)
Sets the delay for the first callbacks.void
setRepeats(boolean repeats)
Sets whether this timer repeats.void
setTimerCallback(TimerCallback callback)
Sets the callback to be called when the timer fires.void
start()
Starts the timer.void
stop()
Stops the timer.
-
-
-
Constructor Detail
-
GhidraSwinglessTimer
public GhidraSwinglessTimer()
Creates a new repeating timer with a initial delay of 100ms and a continual delay of 100ms.
-
GhidraSwinglessTimer
public GhidraSwinglessTimer(int delay, TimerCallback callback)
Creates a new repeating timer with a initial and continual delay with the given delay.- Parameters:
delay
- the delay to use for the first and subsequent timer callbacks.
-
GhidraSwinglessTimer
public GhidraSwinglessTimer(int initialDelay, int delay, TimerCallback callback)
Creates a new repeating timer with an initial and continual delay.- Parameters:
initialDelay
- the delay to use for the first timer callbacks.delay
- the delay to use for subsequent timer callbacks.
-
-
Method Detail
-
getDelay
public int getDelay()
Returns the delay for all callbacks after the first callback.- Specified by:
getDelay
in interfaceGhidraTimer
- Returns:
- the delay for all callbacks after the first callback.
-
getInitialDelay
public int getInitialDelay()
Returns the delay for the first callback.- Specified by:
getInitialDelay
in interfaceGhidraTimer
- Returns:
- the delay for the first callback.
-
isRepeats
public boolean isRepeats()
Returns true if this timer is set to repeating.- Specified by:
isRepeats
in interfaceGhidraTimer
- Returns:
- true if this timer is set to repeating.
-
setDelay
public void setDelay(int delay)
Sets the delay for all callbacks after the first callback- Specified by:
setDelay
in interfaceGhidraTimer
-
setInitialDelay
public void setInitialDelay(int initialDelay)
Sets the delay for the first callbacks.- Specified by:
setInitialDelay
in interfaceGhidraTimer
-
setRepeats
public void setRepeats(boolean repeats)
Sets whether this timer repeats.- Specified by:
setRepeats
in interfaceGhidraTimer
- Parameters:
repeats
- if true, the timer will repeat, if false the timer will only fire once.
-
setTimerCallback
public void setTimerCallback(TimerCallback callback)
Sets the callback to be called when the timer fires.- Specified by:
setTimerCallback
in interfaceGhidraTimer
-
start
public void start()
Starts the timer.- Specified by:
start
in interfaceGhidraTimer
-
stop
public void stop()
Stops the timer.- Specified by:
stop
in interfaceGhidraTimer
-
isRunning
public boolean isRunning()
Returns true if the timer is running.- Specified by:
isRunning
in interfaceGhidraTimer
-
main
public static void main(java.lang.String[] args) throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
-
-