81 std::shared_ptr<Group>
getGroupFromNames(
const std::vector<std::string>& families,
82 const std::vector<std::string>& names, int32_t timeout_ms = DEFAULT_TIMEOUT);
98 std::shared_ptr<Group>
getGroupFromMacs(
const std::vector<MacAddress>& addresses,
99 int32_t timeout_ms = DEFAULT_TIMEOUT);
115 std::shared_ptr<Group>
getGroupFromFamily(
const std::string& family, int32_t timeout_ms = DEFAULT_TIMEOUT);
136 int32_t timeout_ms = DEFAULT_TIMEOUT);
250 bool operator==(
const Iterator& rhs)
const;
251 bool operator!=(
const Iterator& rhs)
const;
EntryList(HebiLookupEntryListPtr lookup_list)
float initial_group_feedback_frequency_
Lookup()
Creates a Lookup object which can create Module and Group references. Typically, only one Lookup obje...
A simple wrapper class for internal C-API HebiMacAddress objects to allow interfacing with API calls ...
static const int32_t DEFAULT_TIMEOUT
#define HEBI_DISABLE_COPY_MOVE(Class)
std::shared_ptr< EntryList > getEntryList()
std::shared_ptr< Group > getGroupFromFamily(const std::string &family, int32_t timeout_ms=DEFAULT_TIMEOUT)
Get a group from all known modules with the given family.
~Lookup() noexcept
Destructor frees all resources created by Lookup object, and stops the background query thread...
std::shared_ptr< Group > getConnectedGroupFromMac(const MacAddress &address, int32_t timeout_ms=DEFAULT_TIMEOUT)
Get a group from all modules known to connect to a module with the given mac address.
std::shared_ptr< Group > getGroupFromMacs(const std::vector< MacAddress > &addresses, int32_t timeout_ms=DEFAULT_TIMEOUT)
Get a group from modules with the given mac addresses.
int32_t getInitialGroupCommandLifetimeMs()
Gets the default command lifetime value for groups created from this lookup.
HebiLookupEntryListPtr lookup_list_
void setInitialGroupFeedbackFrequencyHz(float frequency)
Sets the default feedback frequency value for groups created from this lookup.
struct HebiLookup_ * HebiLookupPtr
double getLookupFrequencyHz() const
Gets the rate [Hz] at which "discovery" packets are broadcast.
bool setLookupFrequencyHz(double frequency)
Sets the lookup rate [Hz].
void setInitialGroupCommandLifetimeMs(int32_t ms)
Sets the default command lifetime value for groups created from this lookup.
struct HebiLookupEntryList_ * HebiLookupEntryListPtr
std::shared_ptr< Group > getConnectedGroupFromName(const std::string &family, const std::string &name, int32_t timeout_ms=DEFAULT_TIMEOUT)
Get a group from all modules known to connect to a module with the given name and family...
Maintains a registry of network-connected modules and returns Group objects to the user...
Entry operator[](size_t index) const
std::bidirectional_iterator_tag iterator_category
int32_t initial_group_command_lifetime_
float getInitialGroupFeedbackFrequencyHz()
Gets the default feedback frequency value for groups created from this lookup.
std::shared_ptr< Group > getGroupFromNames(const std::vector< std::string > &families, const std::vector< std::string > &names, int32_t timeout_ms=DEFAULT_TIMEOUT)
Get a group from modules with the given names and families.