// // write_factory_impl_end // void CUTS_EISA_Header_Generator:: write_factory_impl_end (const PICML::ComponentFactory & factory, const PICML::MonolithicImplementation & impl, const PICML::Component & type) { // Generate the export file for the implementation. PICML::ComponentImplementationContainer container = PICML::ComponentImplementationContainer::Cast (impl.parent ()); CUTS_BE_Impl_Node::Artifact_Set::const_iterator iter_exec = std::find_if (this->node_->artifacts_.begin (), this->node_->artifacts_.end (), Element_Name_End_With < CUTS_BE_Impl_Node::Artifact_Set::value_type> ( CUTS_BE_OPTIONS ()->exec_suffix_)); // Close off the class definition. this->out_ << "};"; this->_super::write_factory_impl_end (factory, impl, type); // Construct the export macro and export filename. std::string exportfile = std::string (container.name ()) + CUTS_BE_OPTIONS ()->exec_suffix_; std::string export_macro = iter_exec->name (); std::transform (export_macro.begin (), export_macro.end (), export_macro.begin (), &toupper); this->out_ << "#include \"" << exportfile << "_export.h\"" << std::endl << std::endl << single_line_comment (this->entry_point_) << "extern \"C\" " << export_macro << "_Export" << std::endl << "::Components::HomeExecutorBase_ptr " << std::endl << this->entry_point_ + " (void);" << std::endl; }