PulseView  unreleased development snapshot
A Qt-based sigrok GUI
inputoutput.hpp
Go to the documentation of this file.
1 /*
2  * This file is part of the PulseView project.
3  *
4  * Copyright (C) 2015 Joel Holdsworth <joel@airwebreathe.org.uk>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, see <http://www.gnu.org/licenses/>.
18  */
19 
20 #ifndef PULSEVIEW_PV_BINDING_INPUTOUTPUT_HPP
21 #define PULSEVIEW_PV_BINDING_INPUTOUTPUT_HPP
22 
23 #include <map>
24 #include <memory>
25 #include <string>
26 
27 #include "binding.hpp"
28 
29 #include <pv/prop/property.hpp>
30 
31 using std::map;
32 using std::shared_ptr;
33 using std::string;
34 using std::vector;
35 
36 namespace sigrok {
37 class Option;
38 }
39 
40 namespace pv {
41 namespace binding {
42 
46 class InputOutput : public Binding
47 {
48 public:
53  InputOutput(const map<string, shared_ptr<sigrok::Option>> &options);
54 
59  const map<string, Glib::VariantBase>& options() const;
60 
61 private:
70  shared_ptr<prop::Property> bind_enum(const QString &name,
71  const QString &desc, const vector<Glib::VariantBase> &values,
73 
74 private:
78  map<string, Glib::VariantBase> options_;
79 };
80 
81 } // namespace binding
82 } // namespace pv
83 
84 #endif // PULSEVIEW_PV_BINDING_INPUTOUTPUT_HPP
Mac OS X or Android For some we provide binary for others we provide installers and for others we provide AppImage containers that you can run without the need to install anything Check the the usual way to install PulseView is to install the packages provided by your distro s package manager sometimes only outdated packages are made available to you In that you have two options
Definition: installation.txt:2
map< string, Glib::VariantBase > options_
Definition: inputoutput.hpp:78
function< Glib::VariantBase()> Getter
Definition: property.hpp:46
function< void(Glib::VariantBase)> Setter
Definition: property.hpp:47