summaryrefslogtreecommitdiffstats
path: root/src/core/logic/RBARequestQueMember.hpp
diff options
context:
space:
mode:
authorKenji Hosokawa <khosokawa@jp.adit-jv.com>2020-08-24 21:58:42 +0900
committerKenji Hosokawa <khosokawa@jp.adit-jv.com>2020-08-24 21:58:42 +0900
commit2b4ae7fde370bc3316ab30cc38b74d23e785b360 (patch)
tree41b6eb70b3419c2fbd192ed133c5890a985eddec /src/core/logic/RBARequestQueMember.hpp
parent6694a4d2952ebd171564932200cac00d6e5792f4 (diff)
Signed-off-by: Kenji Hosokawa <khosokawa@jp.adit-jv.com> Change-Id: I381abb0a6521f5349768a76ef7ceecbce4b2d701
Diffstat (limited to 'src/core/logic/RBARequestQueMember.hpp')
-rw-r--r--src/core/logic/RBARequestQueMember.hpp64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/core/logic/RBARequestQueMember.hpp b/src/core/logic/RBARequestQueMember.hpp
new file mode 100644
index 0000000..cb18987
--- /dev/null
+++ b/src/core/logic/RBARequestQueMember.hpp
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c) 2019 DENSO CORPORATION.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+ /**
+ * RBARequestQueueMember class header
+ */
+
+#ifndef RBAREQUESTQUEMEMBER_HPP
+#define RBAREQUESTQUEMEMBER_HPP
+
+#include <cstdint>
+
+namespace rba {
+
+class RBAContentState;
+
+class RBARequestQueMember {
+ public:
+ RBARequestQueMember(const RBAContentState* const contentState, const bool isOn, const std::uint32_t syncIndex);
+ RBARequestQueMember()=delete;
+ RBARequestQueMember(const RBARequestQueMember&)=delete;
+ RBARequestQueMember(const RBARequestQueMember&&)=delete;
+ RBARequestQueMember& operator=(const RBARequestQueMember&)=delete;
+ RBARequestQueMember& operator=(const RBARequestQueMember&&)=delete;
+ virtual ~RBARequestQueMember() = default;
+
+ const RBAContentState* getContentState() const;
+ bool isOn() const;
+ std::uint32_t getSyncIndex() const;
+
+ private:
+ // Content state for which arbitration was requested
+ const RBAContentState* contentState_;
+ // Whether display/output request or scene ON request
+ bool isOn_;
+
+ /// Index of arbitration syntax
+ /// QueMenber with the same value will be arbitrated at the same timing,
+ /// and if the values are different, differential arbitration is performed.
+ /// When a request for execute(list,bool) is received, the content icluded
+ /// in the list will all have the same value.
+ /// When setContentState(ContentState, bool) request is received twice,
+ /// the first request and the second request have different values.
+ /// When created by onRequest or onWithdrawn,
+ /// it has the same value as the request that triggered it.
+ std::uint32_t syncIndex_;
+};
+
+}
+
+#endif /* RBAREQUESTQUEMEMBER_HPP */