Line data Source code
1 : /*! 2 : * \file esys/repo/manifest/xmlfile_manifest.cpp 3 : * \brief 4 : * 5 : * \cond 6 : * __legal_b__ 7 : * 8 : * Copyright (c) 2020 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/xmlfile.h" 20 : #include "esys/repo/manifest/xmlfileimpl.h" 21 : 22 : namespace esys::repo::manifest 23 : { 24 : 25 79 : XMLFile::XMLFile() 26 79 : : Base() 27 : { 28 79 : m_impl = std::make_unique<XMLFileImpl>(this); 29 79 : } 30 : 31 79 : XMLFile::~XMLFile() = default; 32 : 33 73 : Result XMLFile::read(const std::string &path) 34 : { 35 73 : set_filename(path); 36 73 : return get_impl()->read(path); 37 : } 38 : 39 8 : Result XMLFile::write(const std::string &path) 40 : { 41 8 : return get_impl()->write(path); 42 : } 43 : 44 2 : Result XMLFile::write(std::ostream &os) 45 : { 46 2 : return get_impl()->write(os); 47 : } 48 : 49 83 : XMLFileImpl *XMLFile::get_impl() 50 : { 51 83 : return m_impl.get(); 52 : } 53 : 54 0 : const XMLFileImpl *XMLFile::get_impl() const 55 : { 56 0 : return m_impl.get(); 57 : } 58 : 59 : } // namespace esys::repo::manifest