#ifndef morpheo_behavioural_configuration_Link_definition_h
#define morpheo_behavioural_configuration_Link_definition_h

/*
 * $Id: Link_definition.h 88 2008-12-10 18:31:39Z rosiere $
 *
 * [ Description ]
 * 
 */

#include "Behavioural/include/XML.h"
#include "Common/include/ErrorMorpheo.h"
#include "Common/include/ToString.h"
#include "Common/include/Debug.h"

#include <iostream>

namespace morpheo {
namespace behavioural {
namespace configuration {


  class Link_definition 
  {
    // -----[ fields ]----------------------------------------------------
    // Constant
  public   : const std::string _name       ;
  public   : const std::string _src        ;
  public   : const std::string _dest       ;
  public   : const std::string _description;

    // -----[ methods ]---------------------------------------------------
  public   :                      Link_definition  (std::string name         ,
                                                    std::string src          ,
                                                    std::string dest         ,
                                                    std::string description  );
  public   :                     ~Link_definition ();

//public   : bool                 test            (uint32_t x);

  public   : XML                  toXML           (void);
  private  : std::string          print           (uint32_t depth);
  public   : friend std::ostream& operator<<      (std::ostream& output,
                                                   morpheo::behavioural::configuration::Link_definition & x);

  };

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

#endif
