supla-device
Loading...
Searching...
No Matches
src
supla
device
subdevice_pairing_handler.h
1
// SPDX-FileCopyrightText: AC SOFTWARE SP. Z O.O.
2
// SPDX-License-Identifier: GPL-2.0-or-later
3
4
#ifndef SRC_SUPLA_DEVICE_SUBDEVICE_PAIRING_HANDLER_H_
5
#define SRC_SUPLA_DEVICE_SUBDEVICE_PAIRING_HANDLER_H_
6
7
#include <stdint.h>
8
#include <supla-common/proto.h>
9
10
namespace
Supla {
11
namespace
Protocol {
12
class
SuplaSrpc;
13
}
// namespace Protocol
14
15
namespace
Device {
16
17
class
SubdevicePairingObserver
{
18
public
:
19
virtual
~SubdevicePairingObserver
() =
default
;
20
21
virtual
void
onSubdevicePairingStarted(uint16_t maximumDurationSec) = 0;
22
virtual
void
onSubdevicePairingFinished(
23
const
TCalCfg_SubdevicePairingResult
&result) = 0;
24
};
25
26
class
SubdevicePairingHandler
{
27
public
:
28
virtual
~SubdevicePairingHandler
() =
default
;
29
30
virtual
bool
startPairing(
Supla::Protocol::SuplaSrpc
*srpc,
31
TCalCfg_SubdevicePairingResult
*result) = 0;
32
33
void
setPairingObserver(
SubdevicePairingObserver
*newObserver) {
34
observer = newObserver;
35
}
36
37
protected
:
38
void
notifySubdevicePairingStarted(uint16_t maximumDurationSec) {
39
if
(observer !=
nullptr
) {
40
observer->onSubdevicePairingStarted(maximumDurationSec);
41
}
42
}
43
44
void
notifySubdevicePairingFinished(
45
const
TCalCfg_SubdevicePairingResult
&result) {
46
if
(observer !=
nullptr
) {
47
observer->onSubdevicePairingFinished(result);
48
}
49
}
50
51
private
:
52
SubdevicePairingObserver
*observer =
nullptr
;
53
};
54
55
}
// namespace Device
56
}
// namespace Supla
57
58
59
#endif
// SRC_SUPLA_DEVICE_SUBDEVICE_PAIRING_HANDLER_H_
Supla::Device::SubdevicePairingHandler
Definition
subdevice_pairing_handler.h:26
Supla::Device::SubdevicePairingObserver
Definition
subdevice_pairing_handler.h:17
Supla::Protocol::SuplaSrpc
Definition
supla_srpc.h:47
TCalCfg_SubdevicePairingResult
Definition
proto.h:2278
Generated by
1.12.0