hueplusplus 1.2.0
Loading...
Searching...
No Matches
BridgeConfig.h
Go to the documentation of this file.
1
22#ifndef INCLUDE_HUEPLUSPLUS_BRIDGE_CONFIG_H
23#define INCLUDE_HUEPLUSPLUS_BRIDGE_CONFIG_H
24
25#include <string>
26#include <vector>
27
28#include "APICache.h"
29#include "TimePattern.h"
30
31namespace hueplusplus
32{
34struct Version
35{
36 int major;
37 int minor;
38 int patch;
39};
40
53
56{
57public:
59 BridgeConfig(std::shared_ptr<APICache> baseCache, std::chrono::steady_clock::duration refreshDuration);
60
68 void refresh(bool force = false);
69
72 void setRefreshDuration(std::chrono::steady_clock::duration refreshDuration);
73
76 std::vector<WhitelistedUser> getWhitelistedUsers() const;
83 void removeUser(const std::string& userKey);
84
89 bool getLinkButton() const;
91 void pressLinkButton();
92
94 void touchLink();
95
97 std::string getMACAddress() const;
102 std::string getTimezone() const;
103
104protected:
105 BridgeConfig(const BridgeConfig&) = default;
109
110private:
111 APICache cache;
112};
113} // namespace hueplusplus
114
115#endif
Caches API GET requests and refreshes regularly.
Definition APICache.h:38
General bridge configuration properties.
Definition BridgeConfig.h:56
BridgeConfig & operator=(BridgeConfig &&)=default
void setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)
Sets custom refresh interval for the config.
Definition BridgeConfig.cpp:43
BridgeConfig(BridgeConfig &&)=default
bool getLinkButton() const
Get link button state.
Definition BridgeConfig.cpp:64
std::string getMACAddress() const
Get bridge MAC address.
Definition BridgeConfig.cpp:76
void refresh(bool force=false)
Refreshes internal cached state.
Definition BridgeConfig.cpp:31
time::AbsoluteTime getUTCTime() const
Get current (of last refresh) UTC time of the bridge.
Definition BridgeConfig.cpp:80
std::string getTimezone() const
Get configured timezone for the bridge.
Definition BridgeConfig.cpp:84
BridgeConfig & operator=(const BridgeConfig &)=default
BridgeConfig(const BridgeConfig &)=default
void removeUser(const std::string &userKey)
Remove user from the whitelist.
Definition BridgeConfig.cpp:60
void pressLinkButton()
Set the link button state to pressed.
Definition BridgeConfig.cpp:68
std::vector< WhitelistedUser > getWhitelistedUsers() const
Get the list of whitelisted users.
Definition BridgeConfig.cpp:48
void touchLink()
Add the closest lamp to the network.
Definition BridgeConfig.cpp:72
One-time, absolute time point.
Definition TimePattern.h:73
Namespace for the hueplusplus library.
Definition Action.h:28
API version consisting of major, minor and patch version.
Definition BridgeConfig.h:35
int patch
Definition BridgeConfig.h:38
int minor
Definition BridgeConfig.h:37
int major
Definition BridgeConfig.h:36
User that is whitelisted for Hue API usage.
Definition BridgeConfig.h:43
time::AbsoluteTime lastUsed
Last time the user was used.
Definition BridgeConfig.h:49
time::AbsoluteTime created
Time the user was created.
Definition BridgeConfig.h:51
std::string key
API username of the user.
Definition BridgeConfig.h:45
std::string name
Name provided on user creation.
Definition BridgeConfig.h:47