libgpiod
Loading...
Searching...
No Matches
request-config.hpp
Go to the documentation of this file.
1/* SPDX-License-Identifier: LGPL-2.1-or-later */
2/* SPDX-FileCopyrightText: 2021-2022 Bartosz Golaszewski <brgl@bgdev.pl> */
3
8#ifndef __LIBGPIOD_CXX_REQUEST_CONFIG_HPP__
9#define __LIBGPIOD_CXX_REQUEST_CONFIG_HPP__
10
11#if !defined(__LIBGPIOD_GPIOD_CXX_INSIDE__)
12#error "Only gpiod.hpp can be included directly."
13#endif
14
15#include <cstddef>
16#include <iostream>
17#include <memory>
18#include <string>
19
20#include "line.hpp"
21
22namespace gpiod {
23
24class chip;
25
30class request_config final
31{
32public:
33
38
39 request_config(const request_config& other) = delete;
40
45 request_config(request_config&& other) noexcept;
46
48
55
61 request_config& set_consumer(const ::std::string& consumer) noexcept;
62
67 ::std::string consumer() const noexcept;
68
77
82 ::std::size_t event_buffer_size() const noexcept;
83
84private:
85
86 struct impl;
87
88 ::std::shared_ptr<impl> _m_priv;
89
90 request_config& operator=(const request_config& other);
91
92 friend request_builder;
93};
94
101::std::ostream& operator<<(::std::ostream& out, const request_config& config);
102
103} /* namespace gpiod */
104
105#endif /* __LIBGPIOD_CXX_REQUEST_CONFIG_HPP__ */
Intermediate object storing the configuration for a line request.
Definition request-builder.hpp:29
Stores a set of options passed to the kernel when making a line request.
Definition request-config.hpp:31
::std::string consumer() const noexcept
Get the consumer name.
request_config()
Constructor.
request_config & operator=(request_config &&other) noexcept
Move assignment operator.
request_config(request_config &&other) noexcept
Move constructor.
request_config & set_consumer(const ::std::string &consumer) noexcept
Set the consumer name.
request_config & set_event_buffer_size(::std::size_t event_buffer_size) noexcept
Set the size of the kernel event buffer.
request_config(const request_config &other)=delete
::std::size_t event_buffer_size() const noexcept
Get the edge event buffer size from this request config.
Definition chip-info.hpp:18