00001 00003 #include "artifact.hpp" 00004 #include "artifact_impl.hpp" 00005 00006 artifact::artifact() : pimpl_(new artifact_impl()) {} 00007 00008 artifact::artifact(std::string const& name) 00009 : pimpl_(new artifact_impl(name)) 00010 {} 00011 00012 artifact::artifact(artifact const& a) 00013 : pimpl_(a.pimpl_) 00014 { 00015 pimpl_->add_ref(); 00016 } 00017 00018 artifact::~artifact() 00019 { 00020 pimpl_->delete_ref(); 00021 } 00022 00023 artifact& artifact::operator=(artifact const& a) 00024 { 00025 a.pimpl_->add_ref(); 00026 pimpl_->delete_ref(); 00027 pimpl_ = a.pimpl_; 00028 return *this; 00029 } 00030 00031 std::string const& artifact::name() 00032 const 00033 { 00034 return pimpl_->name(); 00035 } 00036 00037 std::time_t artifact::mod_time() 00038 const 00039 { 00040 return pimpl_->mod_time(); 00041 } 00042 00043 std::string artifact::expand(std::string str) 00044 const 00045 { 00046 return pimpl_->expand(str); 00047 } 00048 00049 void artifact::build() 00050 { 00051 pimpl_->build(); 00052 } 00053 00054 std::time_t artifact::get_mod_time() 00055 { 00056 return pimpl_->get_mod_time(); 00057 } 00058 00059 void artifact::store_variable(std::string const& name, std::string const& value) 00060 { 00061 pimpl_->store_variable(name, value); 00062 }