TinyCTS
Bluetooth Current Time Service client and server for Arduino
Loading...
Searching...
No Matches
TinyCTSDesktop.h
Go to the documentation of this file.
1
8
9#pragma once
10#include <cstdint>
11#include <memory>
12#include <string>
13#include <vector>
14
15namespace tiny_cts {
16
21 std::string address;
22 std::string name;
23 int rssi = 0;
24 bool hasCts = false;
25};
26
39 public:
40 virtual ~TinyCTSCentral() = default;
41
43 virtual bool scan(uint32_t timeoutMs, std::vector<TinyCTSScanEntry>& result,
44 std::string& error) = 0;
45
52 virtual bool connect(const std::string& device, uint32_t timeoutMs, TinyCTSScanEntry& found,
53 std::string& error) = 0;
54
56 virtual bool read(uint16_t uuid, std::vector<uint8_t>& value, std::string& error) = 0;
57
59 virtual bool write(uint16_t uuid, const uint8_t* data, size_t len, std::string& error) = 0;
60
62 virtual void disconnect() = 0;
63};
64
75 public:
76 virtual ~TinyCTSPeripheralHandler() = default;
78 virtual bool onRead(uint16_t uuid, std::vector<uint8_t>& value) = 0;
80 virtual bool onWrite(uint16_t uuid, const uint8_t* data, size_t len) = 0;
81};
82
96 public:
97 virtual ~TinyCTSPeripheral() = default;
98
104 virtual bool start(const std::string& name, bool settable, bool encrypted,
105 TinyCTSPeripheralHandler* handler, std::string& error) = 0;
106
108 virtual void process() = 0;
109
111 virtual void notify(uint16_t uuid, const std::vector<uint8_t>& value) = 0;
112
114 virtual void stop() = 0;
115};
116
118std::unique_ptr<TinyCTSCentral> ctsCreateCentral(const std::string& adapter);
119
121std::unique_ptr<TinyCTSPeripheral> ctsCreatePeripheral(const std::string& adapter);
122
123} // namespace tiny_cts
std::unique_ptr< TinyCTSPeripheral > ctsCreatePeripheral(const std::string &adapter)
Definition TinyCTSBlueZBackend.h:442
std::unique_ptr< TinyCTSCentral > ctsCreateCentral(const std::string &adapter)
Definition TinyCTSBlueZBackend.h:438
The client side (central role) of the Bluetooth stack of the operating system: finds a device,...
Definition TinyCTSDesktop.h:38
virtual bool write(uint16_t uuid, const uint8_t *data, size_t len, std::string &error)=0
virtual bool read(uint16_t uuid, std::vector< uint8_t > &value, std::string &error)=0
virtual bool connect(const std::string &device, uint32_t timeoutMs, TinyCTSScanEntry &found, std::string &error)=0
virtual void disconnect()=0
virtual bool scan(uint32_t timeoutMs, std::vector< TinyCTSScanEntry > &result, std::string &error)=0
The callbacks of a TinyCTSPeripheral: it asks the handler for the value when a client reads a charact...
Definition TinyCTSDesktop.h:74
virtual bool onRead(uint16_t uuid, std::vector< uint8_t > &value)=0
virtual bool onWrite(uint16_t uuid, const uint8_t *data, size_t len)=0
The server side (peripheral role) of the Bluetooth stack of the operating system: offers the Current ...
Definition TinyCTSDesktop.h:95
virtual void process()=0
virtual bool start(const std::string &name, bool settable, bool encrypted, TinyCTSPeripheralHandler *handler, std::string &error)=0
virtual void notify(uint16_t uuid, const std::vector< uint8_t > &value)=0
A device that was found by TinyCTSClient::scan().
Definition TinyCTSDesktop.h:18
bool hasCts
advertises the Current Time Service
Definition TinyCTSDesktop.h:24
std::string address
Definition TinyCTSDesktop.h:21