1 // 2 // Copyright © 2019 Arm Ltd. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 6 #pragma once 7 8 #include "ProfilingGuid.hpp" 9 10 #include <string> 11 12 namespace arm 13 { 14 15 namespace pipe 16 { 17 18 class IProfilingGuidGenerator 19 { 20 public: 21 /// Return the next random Guid in the sequence 22 virtual ProfilingDynamicGuid NextGuid() = 0; 23 24 /// Create a ProfilingStaticGuid based on a hash of the string 25 virtual ProfilingStaticGuid GenerateStaticId(const std::string& str) = 0; 26 ~IProfilingGuidGenerator()27 virtual ~IProfilingGuidGenerator() {} 28 }; 29 30 } // namespace pipe 31 32 } // namespace arm 33