/*
 * $Id: Configuration_header.cpp 112 2009-03-18 22:36:26Z rosiere $
 *
 * [ Description ]
 * 
 */

#include "Behavioural/Configuration/include/Configuration.h"
#include "Behavioural/include/Version.h"

namespace morpheo {
namespace behavioural {
namespace configuration {

#undef  FUNCTION
#define FUNCTION "Configuration::header"
std::string Configuration::header (void)
  {
    log_begin(Configuration,FUNCTION);

    std::string str = "";

    /*
                             _                
                            | |               
  _ __ ___   ___  _ __ _ __ | |__   ___  ___  
 | '_ ` _ \ / _ \| '__| '_ \| '_ \ / _ \/ _ \ 
 | | | | | | (_) | |  | |_) | | | |  __/ (_) |
 |_| |_| |_|\___/|_|  | .__/|_| |_|\___|\___/ 
                      | |                     
                      |_|                     
                                  __                       
                                 /\ \                      
   ___ ___     ___   _ __   _____\ \ \___      __    ___   
 /' __` __`\  / __`\/\`'__\/\ '__`\ \  _ `\  /'__`\ / __`\ 
 /\ \/\ \/\ \/\ \L\ \ \ \/ \ \ \L\ \ \ \ \ \/\  __//\ \L\ \
 \ \_\ \_\ \_\ \____/\ \_\  \ \ ,__/\ \_\ \_\ \____\ \____/
  \/_/\/_/\/_/\/___/  \/_/   \ \ \/  \/_/\/_/\/____/\/___/ 
                              \ \_\                        
                               \/_/                        
    */

    str += toString(MSG_INFORMATION)+"                                  __                       \n";
    str += toString(MSG_INFORMATION)+"                                 /\\ \\                      \n";
    str += toString(MSG_INFORMATION)+"   ___ ___     ___   _ __   _____\\ \\ \\___      __    ___   \n";
    str += toString(MSG_INFORMATION)+" /' __` __`\\  / __`\\/\\`'__\\/\\ '__`\\ \\  _ `\\  /'__`\\ / __`\\ \n";
    str += toString(MSG_INFORMATION)+" /\\ \\/\\ \\/\\ \\/\\ \\L\\ \\ \\ \\/ \\ \\ \\L\\ \\ \\ \\ \\ \\/\\  __//\\ \\L\\ \\\n";
    str += toString(MSG_INFORMATION)+" \\ \\_\\ \\_\\ \\_\\ \\____/\\ \\_\\  \\ \\ ,__/\\ \\_\\ \\_\\ \\____\\ \\____/\n";
    str += toString(MSG_INFORMATION)+"  \\/_/\\/_/\\/_/\\/___/  \\/_/   \\ \\ \\/  \\/_/\\/_/\\/____/\\/___/ \n";
    str += toString(MSG_INFORMATION)+"                              \\ \\_\\                        \n";
    str += toString(MSG_INFORMATION)+"                               \\/_/                        \n";
    str += toString(MSG_INFORMATION)+"\n";
    str += toString(MSG_INFORMATION)+_("  * Multiple ORganization of a Processor with HEterogeneous and Open architecture\n");
    str += toString(MSG_INFORMATION)+_("  * Version            : ")+toString(MORPHEO_HEADER)+"\n";
    str += toString(MSG_INFORMATION)+_("  * Last change        : ")+toString(MORPHEO_DATE  )+"\n";
    str += toString(MSG_INFORMATION)+_("  * E-mail support     : mathieu.rosiere@lip6.fr\n"      );
    str += toString(MSG_INFORMATION)+_("  * Original author(s) : Mathieu  Rosière\n"             );
    str += toString(MSG_INFORMATION)+_("  * Contributor(s)     : Clément  Berleux   - VHDL\n"    );
    str += toString(MSG_INFORMATION)+_("                         Kamel    Chekkal   - VHDL\n"    );
    str += toString(MSG_INFORMATION)+_("                         Stéphane Dubuisson - XMLLight\n");
    str += toString(MSG_INFORMATION)+_("                         Ramsis   Farhat    - VHDL\n"    );
    str += toString(MSG_INFORMATION)+_("                         Vincent  Moulu     - VHDL\n"    );
    str += toString(MSG_INFORMATION)+"\n";

    log_end(Configuration,FUNCTION);

    return str;
  };

}; // end namespace configuration
}; // end namespace behavioural
}; // end namespace morpheo
