1 // Copyright 2017 The Crashpad Authors. All rights reserved. 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 #ifndef CRASHPAD_UTIL_PATHS_H_ 16 #define CRASHPAD_UTIL_PATHS_H_ 17 18 #include "base/files/file_path.h" 19 #include "base/macros.h" 20 21 namespace crashpad { 22 23 //! \brief Functions to obtain paths. 24 class Paths { 25 public: 26 //! \brief Obtains the pathname of the currently-running executable. 27 //! 28 //! \param[out] path The pathname of the currently-running executable. 29 //! 30 //! \return `true` on success. `false` on failure, with a message logged. 31 //! 32 //! \note In test code, use test::TestPaths::Executable() instead. 33 static bool Executable(base::FilePath* path); 34 35 DISALLOW_IMPLICIT_CONSTRUCTORS(Paths); 36 }; 37 38 } // namespace crashpad 39 40 #endif // CRASHPAD_UTIL_TEST_PATHS_H_ 41