1 // Copyright 2023 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef BSSL_FILLINS_PATH_SERVICE_H 6 #define BSSL_FILLINS_PATH_SERVICE_H 7 8 #include <openssl/base.h> 9 10 #include <string> 11 12 namespace bssl { 13 14 namespace fillins { 15 16 class FilePath { 17 public: 18 FilePath(); 19 FilePath(const std::string &path); 20 21 const std::string &value() const; 22 23 FilePath AppendASCII(const std::string &ascii_path_element) const; 24 25 private: 26 std::string path_; 27 }; 28 29 enum PathKey { 30 BSSL_TEST_DATA_ROOT = 0, 31 }; 32 33 class PathService { 34 public: 35 static void Get(PathKey key, FilePath *out); 36 }; 37 38 } // namespace fillins 39 40 } // namespace bssl 41 42 #endif // BSSL_FILLINS_PATH_SERVICE_H 43