Line data Source code
1 : /*! 2 : * \file esys/repo/manifest/filebase_manifest.cpp 3 : * \brief 4 : * 5 : * \cond 6 : * __legal_b__ 7 : * 8 : * Copyright (c) 2020-2021 Michel Gillet 9 : * Distributed under the MIT License. 10 : * (See accompanying file LICENSE.txt or 11 : * copy at https://opensource.org/licenses/MIT) 12 : * 13 : * __legal_e__ 14 : * \endcond 15 : * 16 : */ 17 : 18 : #include "esys/repo/esysrepo_prec.h" 19 : #include "esys/repo/manifest/filebase.h" 20 : 21 : namespace esys::repo::manifest 22 : { 23 : 24 70 : FileBase::FileBase() = default; 25 : 26 140 : FileBase::~FileBase() = default; 27 : 28 85 : void FileBase::set_data(std::shared_ptr<Manifest> data) 29 : { 30 85 : m_data = data; 31 85 : } 32 : 33 950 : std::shared_ptr<Manifest> FileBase::get_data() const 34 : { 35 950 : return m_data; 36 : } 37 : 38 0 : std::vector<std::shared_ptr<FileError>> &FileBase::get_errors() 39 : { 40 0 : return m_errors; 41 : } 42 : 43 0 : const std::vector<std::shared_ptr<FileError>> &FileBase::get_errors() const 44 : { 45 0 : return m_errors; 46 : } 47 : 48 0 : void FileBase::add_error(std::shared_ptr<FileError> error) 49 : { 50 0 : m_errors.push_back(error); 51 0 : } 52 : 53 0 : void FileBase::add_error(int value, const std::string &msg) 54 : { 55 0 : add_error(value, msg, -1); 56 0 : } 57 : 58 0 : void FileBase::add_error(int value, const std::string &msg, int line_number) 59 : { 60 0 : auto error = std::make_shared<FileError>(); 61 0 : error->set_value(value); 62 0 : error->set_msg(msg); 63 0 : error->set_line_number(line_number); 64 : 65 0 : m_errors.push_back(error); 66 0 : } 67 : 68 2 : const std::string &FileBase::get_filename() const 69 : { 70 2 : return m_filename; 71 : } 72 : 73 42 : void FileBase::set_filename(const std::string &filename) 74 : { 75 42 : m_filename = filename; 76 42 : } 77 : 78 : } // namespace esys::repo::manifest