1 // 2 // Copyright © 2019 Arm Ltd. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 6 #pragma once 7 8 #include "IProfilingConnection.hpp" 9 10 #include <client/include/ProfilingOptions.hpp> 11 12 #include <memory> 13 14 namespace arm 15 { 16 17 namespace pipe 18 { 19 20 class IProfilingConnectionFactory 21 { 22 public: 23 using ExternalProfilingOptions = ProfilingOptions; 24 using IProfilingConnectionPtr = std::unique_ptr<IProfilingConnection>; 25 ~IProfilingConnectionFactory()26 virtual ~IProfilingConnectionFactory() {} 27 28 virtual IProfilingConnectionPtr GetProfilingConnection(const ProfilingOptions& options) const = 0; 29 }; 30 31 } // namespace pipe 32 33 } // namespace arm 34