| // Copyright 2017 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "cfm-device-monitor/camera-monitor/mock_monitor.h" |
| |
| #include <iostream> |
| #include <string> |
| |
| namespace huddly_monitor { |
| |
| MockMonitor::MockMonitor(bool init_wait_val, uint32_t sleep_time) |
| : AbstractMonitor(init_wait_val, sleep_time) { |
| vitals_exist_custom = true; |
| local_timestamp = 0; |
| local_condition = init_wait_val; |
| } |
| |
| MockMonitor::~MockMonitor() {} |
| |
| bool MockMonitor::VitalsExist() { |
| VLOG(1) << "Vitals value --> " << std::to_string(vitals_exist_custom); |
| if (!vitals_exist_custom) { |
| VLOG(1) << "EXPECT RESPONSE"; |
| } else { |
| VLOG(1) << "EXPECT NO RESPONSE"; |
| } |
| return vitals_exist_custom; |
| } |
| |
| bool MockMonitor::Respond() { |
| VLOG(1) << "MockMonitor detected no vitals"; |
| return true; |
| } |
| |
| void MockMonitor::StartMocking() { |
| if (!StartMonitor()) { |
| LOG(ERROR) << "Could not start mock monitor"; |
| } |
| VLOG(1) << "Started mocking"; |
| uint64_t count = 0; |
| while (true) { |
| std::this_thread::sleep_for(std::chrono::milliseconds(1000)); |
| count++; |
| if (count % 10 == 0) { |
| local_condition = !local_condition; |
| UpdateCondition(local_condition, ++local_timestamp); |
| VLOG(1) << "Updated condition to --> " << std::to_string(local_condition); |
| } else if (count % 5 == 0) { |
| vitals_exist_custom = !vitals_exist_custom; |
| VLOG(1) << "Updated vitals value to --> " |
| << std::to_string(vitals_exist_custom); |
| } |
| } |
| } |
| } // namespace huddly_monitor |