Instrument Neutral Distributed Interface INDI
2.0.2
libs
indibase
timer
inditimer_p.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2021 by Pawel Soja <kernel32.pl@gmail.com>
3
4
This library is free software; you can redistribute it and/or
5
modify it under the terms of the GNU Lesser General Public
6
License as published by the Free Software Foundation; either
7
version 2.1 of the License, or (at your option) any later version.
8
9
This library is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
Lesser General Public License for more details.
13
14
You should have received a copy of the GNU Lesser General Public
15
License along with this library; if not, write to the Free Software
16
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
*/
18
19
#pragma once
20
21
#include <atomic>
22
#include <functional>
23
24
namespace
INDI
25
{
26
27
class
Timer;
28
class
TimerPrivate
29
{
30
public
:
31
TimerPrivate
(
Timer
*
p
);
32
virtual
~TimerPrivate
();
33
34
public
:
35
void
start
();
36
void
stop
();
37
38
public
:
39
Timer
*
p
;
40
int
interval
{1000};
41
42
std::atomic<int>
timerId
{-1};
43
bool
singleShot
{
false
};
44
bool
active
{
false
};
45
46
std::function<void()>
callback
;
47
};
48
49
}
INDI::TimerPrivate
Definition:
inditimer_p.h:29
INDI::TimerPrivate::active
bool active
Definition:
inditimer_p.h:44
INDI::TimerPrivate::timerId
std::atomic< int > timerId
Definition:
inditimer_p.h:42
INDI::TimerPrivate::~TimerPrivate
virtual ~TimerPrivate()
Definition:
inditimer.cpp:32
INDI::TimerPrivate::p
Timer * p
Definition:
inditimer_p.h:39
INDI::TimerPrivate::callback
std::function< void()> callback
Definition:
inditimer_p.h:46
INDI::TimerPrivate::singleShot
bool singleShot
Definition:
inditimer_p.h:43
INDI::TimerPrivate::interval
int interval
Definition:
inditimer_p.h:40
INDI::TimerPrivate::stop
void stop()
Definition:
inditimer.cpp:58
INDI::TimerPrivate::TimerPrivate
TimerPrivate(Timer *p)
Definition:
inditimer.cpp:28
INDI::TimerPrivate::start
void start()
Definition:
inditimer.cpp:37
INDI::Timer
The Timer class provides repetitive and single-shot timers.
Definition:
inditimer.h:41
INDI
Namespace to encapsulate INDI client, drivers, and mediator classes.
Definition:
AlignmentSubsystemForClients.cpp:12
Generated on Sat May 13 2023 14:24:23 for Instrument Neutral Distributed Interface INDI by
1.9.1