10 #ifndef hifi_Controllers_ArrayEndpoint_h
11 #define hifi_Controllers_ArrayEndpoint_h
13 #include "../Endpoint.h"
15 namespace controller {
17 class ArrayEndpoint :
public Endpoint {
18 friend class UserInputMapper;
20 static std::shared_ptr<Endpoint> newEndpoint() {
21 return std::shared_ptr<Endpoint>(
new ArrayEndpoint());
24 using Endpoint::apply;
25 using Pointer = std::shared_ptr<ArrayEndpoint>;
27 virtual AxisValue peek()
const override {
return AxisValue(); }
29 virtual void apply(AxisValue value,
const Endpoint::Pointer& source)
override {
30 for (
auto& child : _children) {
31 if (child->writeable()) {
32 child->apply(value, source);
37 virtual bool readable()
const override {
return false; }
40 ArrayEndpoint() : Endpoint(Input::INVALID_INPUT) { }
41 Endpoint::List _children;