1*89c4ff92SAndroid Build Coastguard Worker //
2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2019 Arm Ltd and Contributors. All rights reserved.
3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT
4*89c4ff92SAndroid Build Coastguard Worker //
5*89c4ff92SAndroid Build Coastguard Worker #pragma once
6*89c4ff92SAndroid Build Coastguard Worker 
7*89c4ff92SAndroid Build Coastguard Worker #include <common/include/CommandHandlerFunctor.hpp>
8*89c4ff92SAndroid Build Coastguard Worker #include <common/include/Packet.hpp>
9*89c4ff92SAndroid Build Coastguard Worker 
10*89c4ff92SAndroid Build Coastguard Worker #include <vector>
11*89c4ff92SAndroid Build Coastguard Worker 
12*89c4ff92SAndroid Build Coastguard Worker namespace armnn
13*89c4ff92SAndroid Build Coastguard Worker {
14*89c4ff92SAndroid Build Coastguard Worker 
15*89c4ff92SAndroid Build Coastguard Worker namespace gatordmock
16*89c4ff92SAndroid Build Coastguard Worker {
17*89c4ff92SAndroid Build Coastguard Worker 
18*89c4ff92SAndroid Build Coastguard Worker class PeriodicCounterSelectionResponseHandler : public arm::pipe::CommandHandlerFunctor
19*89c4ff92SAndroid Build Coastguard Worker {
20*89c4ff92SAndroid Build Coastguard Worker 
21*89c4ff92SAndroid Build Coastguard Worker public:
22*89c4ff92SAndroid Build Coastguard Worker     /**
23*89c4ff92SAndroid Build Coastguard Worker      *
24*89c4ff92SAndroid Build Coastguard Worker      * @param packetId The id of packets this handler will process.
25*89c4ff92SAndroid Build Coastguard Worker      * @param version The version of that id.
26*89c4ff92SAndroid Build Coastguard Worker      * @param quietOperation Optional parameter to turn off printouts. This is useful for unittests.
27*89c4ff92SAndroid Build Coastguard Worker      */
PeriodicCounterSelectionResponseHandler(uint32_t familyId,uint32_t packetId,uint32_t version,bool quietOperation=true)28*89c4ff92SAndroid Build Coastguard Worker     PeriodicCounterSelectionResponseHandler(uint32_t familyId,
29*89c4ff92SAndroid Build Coastguard Worker                                             uint32_t packetId,
30*89c4ff92SAndroid Build Coastguard Worker                                             uint32_t version,
31*89c4ff92SAndroid Build Coastguard Worker                                             bool quietOperation = true)
32*89c4ff92SAndroid Build Coastguard Worker         : CommandHandlerFunctor(familyId, packetId, version)
33*89c4ff92SAndroid Build Coastguard Worker         , m_QuietOperation(quietOperation)
34*89c4ff92SAndroid Build Coastguard Worker     {}
35*89c4ff92SAndroid Build Coastguard Worker 
36*89c4ff92SAndroid Build Coastguard Worker     void operator()(const arm::pipe::Packet& packet) override;
37*89c4ff92SAndroid Build Coastguard Worker 
38*89c4ff92SAndroid Build Coastguard Worker private:
39*89c4ff92SAndroid Build Coastguard Worker     bool m_QuietOperation;
40*89c4ff92SAndroid Build Coastguard Worker };
41*89c4ff92SAndroid Build Coastguard Worker 
42*89c4ff92SAndroid Build Coastguard Worker }    // namespace gatordmock
43*89c4ff92SAndroid Build Coastguard Worker 
44*89c4ff92SAndroid Build Coastguard Worker }    // namespace armnn