hueplusplus 1.2.0+ds-2build1
Loading...
Searching...
No Matches
hueplusplus::SensorList Class Reference

Handles a list of Sensors with type specific getters. More...

#include <hueplusplus/SensorList.h>

Inheritance diagram for hueplusplus::SensorList:
Collaboration diagram for hueplusplus::SensorList:

Public Member Functions

template<typename T>
getAsType (int id)
 Get sensor specified by id, convert to T.
template<typename T>
std::vector< T > getAllByType ()
 Get all sensors of type T.
 CreateableResourceList (CreateableResourceList &&)=default
 Protected defaulted move constructor.
Public Member Functions inherited from hueplusplus::CreateableResourceList< SearchableResourceList< Sensor >, CreateSensor >
SearchableResourceList< Sensor >::IdType create (const CreateSensor &params)
 Create a new resource.
Public Member Functions inherited from hueplusplus::SearchableResourceList< Sensor >
void search (const std::vector< std::string > &deviceIds={})
 Start search for new devices.
NewDeviceList getNewDevices () const
 Get devices found in last search.
Public Member Functions inherited from hueplusplus::ResourceList< Sensor, int >
 ResourceList (std::shared_ptr< APICache > baseCache, const std::string &cacheEntry, std::chrono::steady_clock::duration refreshDuration, bool sharedState=false, const std::function< Sensor(IdType, const nlohmann::json &, const std::shared_ptr< APICache > &)> &factory=nullptr)
 Construct ResourceList using a base cache and optional factory function.
ResourceListoperator= (const ResourceList &)=delete
 Deleted copy assignment.
void refresh ()
 Refreshes internal state now.
void setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)
 Sets custom refresh interval for this list and all resources created.
std::vector< SensorgetAll ()
 Get all resources that exist.
Sensor get (const IdType &id)
 Get resource specified by id.
bool exists (const IdType &id)
 Checks whether resource with id exists.
bool remove (const IdType &id)
 Removes the resource.

Protected Member Functions

 SensorList (SensorList &&)=default
 Protected defaulted move constructor.
SensorListoperator= (SensorList &&)=default
 Protected defaulted move assignment.
Protected Member Functions inherited from hueplusplus::CreateableResourceList< SearchableResourceList< Sensor >, CreateSensor >
 CreateableResourceList (CreateableResourceList &&)=default
 Protected defaulted move constructor.
CreateableResourceListoperator= (CreateableResourceList &&)=default
 Protected defaulted move assignment.
Protected Member Functions inherited from hueplusplus::SearchableResourceList< Sensor >
 SearchableResourceList (SearchableResourceList &&)=default
 Protected defaulted move constructor.
SearchableResourceListoperator= (SearchableResourceList &&)=default
 Protected defaulted move assignment.
Protected Member Functions inherited from hueplusplus::ResourceList< Sensor, int >
Sensor construct (const IdType &id, const nlohmann::json &state)
 Constructs resource using factory or constructor, if available.

Additional Inherited Members

Public Types inherited from hueplusplus::ResourceList< Sensor, int >
using ResourceType
using IdType
Static Protected Member Functions inherited from hueplusplus::ResourceList< Sensor, int >
static IdType maybeStoi (const std::string &key)
 Calls std::stoi if IdType is int.
static std::string maybeToString (const IdType &id)
 Calls std::to_string if IdType is int.
Protected Attributes inherited from hueplusplus::ResourceList< Sensor, int >
std::shared_ptr< APICachestateCache
std::function< Sensor(IdType, const nlohmann::json &, const std::shared_ptr< APICache > &)> factory
std::string path
bool sharedState

Detailed Description

Handles a list of Sensors with type specific getters.

Allows to directly get the requested sensor type or all sensors of a given type.

Constructor & Destructor Documentation

◆ SensorList()

hueplusplus::SensorList::SensorList ( SensorList && )
protecteddefault

Protected defaulted move constructor.

Member Function Documentation

◆ CreateableResourceList()

hueplusplus::CreateableResourceList< BaseResourceList, CreateType >::CreateableResourceList ( CreateableResourceList && )
default

Protected defaulted move constructor.

◆ getAllByType()

template<typename T>
std::vector< T > hueplusplus::SensorList::getAllByType ( )
inline

Get all sensors of type T.

Template Parameters
TSensor type to get (from Sensors)
Returns
All sensors matching the type
Exceptions
HueExceptionwhen response contains no body
std::system_errorwhen system or socket operations fail
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed

◆ getAsType()

template<typename T>
T hueplusplus::SensorList::getAsType ( int id)
inline

Get sensor specified by id, convert to T.

Parameters
idSensor id
Template Parameters
TSensor type to convert to (from Sensors)
Returns
The sensor matching the id and type
Exceptions
HueExceptionwhen id does not exist or type does not match
std::system_errorwhen system or socket operations fail
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed

◆ operator=()

SensorList & hueplusplus::SensorList::operator= ( SensorList && )
protecteddefault

Protected defaulted move assignment.


The documentation for this class was generated from the following file: