Line data Source code
1 : // Copyright 2024 OpenModelViewer Authors 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 : // http://www.apache.org/licenses/LICENSE-2.0 7 : // 8 : // Unless required by applicable law or agreed to in writing, software 9 : // distributed under the License is distributed on an "AS IS" BASIS, 10 : // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 : // See the License for the specific language governing permissions and 12 : // limitations under the License. 13 : // 14 : 15 : #include "openmodelviewer/core/resource/loader/text_loader.hpp" 16 : #include "openmodelviewer/core/io/ifile.hpp" 17 : #include "openmodelviewer/core/io/ioresult.hpp" 18 : 19 : #include <stdexcept> 20 : 21 : namespace openmodelviewer::core::resource::loader 22 : { 23 : using namespace io; 24 5 : std::string loadTextFile(const std::filesystem::path& path) 25 : { 26 5 : std::string str; 27 : 28 5 : IOResult res = IFile::readFileToString(path, str); 29 : 30 5 : if (res != IOResult::Success) 31 : { 32 1 : throw std::runtime_error("Could not load text file, error: " + IOResultToString(res)); 33 : } 34 : 35 4 : return str; 36 1 : } 37 : }