blob: 5e32ca2b3778b0d683ef221210d4a5a5a73eac23 [file] [log] [blame]
FinnWilliamsArmf6e534a2019-09-16 15:45:42 +01001//
2// Copyright © 2019 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
Matteo Martincighe0e6efc2019-10-04 17:17:42 +01005
FinnWilliamsArmf6e534a2019-09-16 15:45:42 +01006#pragma once
7
8#include <cstdint>
9
10namespace armnn
11{
12
13namespace profiling
14{
15
16class IReadCounterValues
17{
18public:
FinnWilliamsArmf6e534a2019-09-16 15:45:42 +010019 virtual ~IReadCounterValues() {}
Matteo Martincigha84edee2019-10-02 12:50:57 +010020
21 virtual uint16_t GetCounterCount() const = 0;
22 virtual uint32_t GetCounterValue(uint16_t counterUid) const = 0;
FinnWilliamsArmf6e534a2019-09-16 15:45:42 +010023};
24
Matteo Martincigha84edee2019-10-02 12:50:57 +010025class IWriteCounterValues
FinnWilliamsArmf6e534a2019-09-16 15:45:42 +010026{
27public:
FinnWilliamsArmf6e534a2019-09-16 15:45:42 +010028 virtual ~IWriteCounterValues() {}
Matteo Martincigha84edee2019-10-02 12:50:57 +010029
30 virtual void SetCounterValue(uint16_t counterUid, uint32_t value) = 0;
31 virtual uint32_t AddCounterValue(uint16_t counterUid, uint32_t value) = 0;
32 virtual uint32_t SubtractCounterValue(uint16_t counterUid, uint32_t value) = 0;
33 virtual uint32_t IncrementCounterValue(uint16_t counterUid) = 0;
34 virtual uint32_t DecrementCounterValue(uint16_t counterUid) = 0;
35};
36
37class IReadWriteCounterValues : public IReadCounterValues, public IWriteCounterValues
38{
39public:
40 virtual ~IReadWriteCounterValues() {}
FinnWilliamsArmf6e534a2019-09-16 15:45:42 +010041};
42
43} // namespace profiling
44
45} // namespace armnn