00001 #include "RunTimeTaglib.h" 00002 00003 #include <stdexcept> 00004 00005 namespace servlet 00006 { 00007 namespace taglib 00008 { 00009 00010 RunTimeTaglib::RunTimeTaglib(const std::string& prefix, const attribs_t& attribs) 00011 : Taglib(prefix) 00012 { 00013 attribs_t::const_iterator it = attribs.find("prefix"); 00014 if(it == attribs.end()) 00015 throw std::runtime_error("No prefix specified for run-time taglib"); 00016 setPrefix(it->second); 00017 it = attribs.find("uri"); 00018 if(it == attribs.end()) 00019 throw std::runtime_error("No URI specified for run-time taglib"); 00020 m_uri=it->second; 00021 } 00022 00023 Generator* RunTimeTaglib::getTag(const std::string& name) 00024 { 00025 throw std::runtime_error("TODO: implement RunTimeTaglib::getTag"); 00026 return 0; 00027 } 00028 void RunTimeTaglib::releaseTag(Generator*) 00029 { 00030 throw std::runtime_error(std::string("TODO: implement ")+__PRETTY_FUNCTION__); 00031 } 00032 RunTimeTaglib::RunTimeTagGenerator::RunTimeTagGenerator(const std::string& prefix) 00033 : Generator(prefix) 00034 , m_name(prefix) 00035 { 00036 } 00037 RunTimeTaglib::RunTimeTagGenerator::~RunTimeTagGenerator() 00038 { 00039 } 00040 void RunTimeTaglib::RunTimeTagGenerator::doStartTag(const attribs_t& attribs) 00041 { 00042 throw std::runtime_error("TODO: implement RunTimeTaglib::RunTimeTagGenerator::doStartTag"); 00043 } 00044 void RunTimeTaglib::RunTimeTagGenerator::doEndTag() 00045 { 00046 throw std::runtime_error("TODO: implement RunTimeTaglib::RunTimeTagGenerator::doEndTag"); 00047 } 00048 00049 } // namespace taglib 00050 } // namespace servlet 00051 00052 EXPORT_TAGLIB(cxxsp_run_time_taglib,servlet::taglib::RunTimeTaglib)