8#ifndef __LIBGPIOD_CXX_LINE_REQUEST_HPP__
9#define __LIBGPIOD_CXX_LINE_REQUEST_HPP__
11#if !defined(__LIBGPIOD_GPIOD_CXX_INSIDE__)
12#error "Only gpiod.hpp can be included directly."
26class edge_event_buffer;
63 explicit operator bool() const noexcept;
212 ::std::unique_ptr<impl> _m_priv;
223::std::ostream& operator<<(::std::ostream& out, const
line_request& request);
Object into which edge events are read for better performance.
Definition edge-event-buffer.hpp:33
Contains a set of line config options used in line requests and reconfiguration.
Definition line-config.hpp:29
Stores the context of a set of requested GPIO lines.
Definition line-request.hpp:33
void release()
Release the requested lines and free all associated resources.
line_request & set_values(const line::value_mappings &values)
Set the values of a subset of requested lines.
line_request & operator=(line_request &&other) noexcept
Move assignment operator.
line_request(line_request &&other) noexcept
Move constructor.
::std::size_t read_edge_events(edge_event_buffer &buffer)
Read a number of edge events from this request up to the maximum capacity of the buffer.
bool wait_edge_events(const ::std::chrono::nanoseconds &timeout) const
Wait for edge events on any of the lines requested with edge detection enabled.
line::offsets offsets() const
Get the list of offsets of requested lines.
::std::string chip_name() const
Get the name of the chip this request was made on.
line_request(const line_request &other)=delete
line_request & operator=(const line_request &other)=delete
line::values get_values()
Get the values of all requested lines.
int fd() const
Get the file descriptor number associated with this line request.
::std::size_t num_lines() const
Get the number of requested lines.
line_request & reconfigure_lines(const line_config &config)
Apply new config options to requested lines.
line_request & set_value(line::offset offset, line::value value)
Set the value of a single requested line.
line::value get_value(line::offset offset)
Get the value of a single requested line.
Intermediate object storing the configuration for a line request.
Definition request-builder.hpp:29
Definition chip-info.hpp:18