blob: 41c2993929d36c5670f328edd0ef429db0c1942a [file] [log] [blame]
Francis Murtagh68f78d82019-09-04 16:42:29 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#include "Holder.hpp"
7
8namespace armnn
9{
10
11namespace profiling
12{
13
Matteo Martincighe8485382019-10-10 14:08:21 +010014CaptureData& CaptureData::operator=(const CaptureData& other)
Francis Murtagh68f78d82019-09-04 16:42:29 +010015{
Matteo Martincighe8485382019-10-10 14:08:21 +010016 m_CapturePeriod = other.m_CapturePeriod;
17 m_CounterIds = other.m_CounterIds;
Francis Murtagh68f78d82019-09-04 16:42:29 +010018
19 return *this;
20}
21
22void CaptureData::SetCapturePeriod(uint32_t capturePeriod)
23{
24 m_CapturePeriod = capturePeriod;
25}
26
Jim Flynn8355ec92019-09-17 12:29:50 +010027void CaptureData::SetCounterIds(const std::vector<uint16_t>& counterIds)
Francis Murtagh68f78d82019-09-04 16:42:29 +010028{
29 m_CounterIds = counterIds;
30}
31
Matteo Martincighe8485382019-10-10 14:08:21 +010032uint32_t CaptureData::GetCapturePeriod() const
Francis Murtagh68f78d82019-09-04 16:42:29 +010033{
34 return m_CapturePeriod;
35}
36
Matteo Martincighe8485382019-10-10 14:08:21 +010037const std::vector<uint16_t>& CaptureData::GetCounterIds() const
Francis Murtagh68f78d82019-09-04 16:42:29 +010038{
39 return m_CounterIds;
40}
41
42CaptureData Holder::GetCaptureData() const
43{
44 std::lock_guard<std::mutex> lockGuard(m_CaptureThreadMutex);
Matteo Martincighe8485382019-10-10 14:08:21 +010045
Francis Murtagh68f78d82019-09-04 16:42:29 +010046 return m_CaptureData;
47}
48
James Conroy2dcd3fe2020-02-06 18:34:52 +000049bool CaptureData::IsCounterIdInCaptureData(uint16_t counterId)
50{
51 for (auto m_CounterId : m_CounterIds) {
52 if (m_CounterId == counterId)
53 {
54 return true;
55 }
56 }
57
58 // Return false by default unless counterId is found
59 return false;
60}
61
Jim Flynn8355ec92019-09-17 12:29:50 +010062void Holder::SetCaptureData(uint32_t capturePeriod, const std::vector<uint16_t>& counterIds)
Francis Murtagh68f78d82019-09-04 16:42:29 +010063{
64 std::lock_guard<std::mutex> lockGuard(m_CaptureThreadMutex);
Matteo Martincighe8485382019-10-10 14:08:21 +010065
Francis Murtagh68f78d82019-09-04 16:42:29 +010066 m_CaptureData.SetCapturePeriod(capturePeriod);
67 m_CaptureData.SetCounterIds(counterIds);
68}
69
70} // namespace profiling
71
Jim Flynn8355ec92019-09-17 12:29:50 +010072} // namespace armnn