#include <iostream>
#include "conf-parameter.hpp"

namespace nlsr {

using namespace std;

ostream&
operator<<(ostream& os, ConfParameter& cfp)
{
  os  << "Router Name: " << cfp.getRouterName() << endl;
  os  << "Site Name: " << cfp.getSiteName() << endl;
  os  << "Network: " << cfp.getNetwork() << endl;
  os  << "Router Prefix: " << cfp.getRouterPrefix() << endl;
  os  << "ChronoSync sync Prifex: " << cfp.getChronosyncSyncPrefix() << endl;
  os  << "Interest Retry number: " << cfp.getInterestRetryNumber() << endl;
  os  << "Interest Resend second: " << cfp.getInterestResendTime() << endl;
  os  << "Info Interest Interval: " << cfp.getInfoInterestInterval() << endl;
  os  << "LSA refresh time: " << cfp.getLsaRefreshTime() << endl;
  os  << "Max Faces Per Prefix: " << cfp.getMaxFacesPerPrefix() << endl;
  os  << "Log Dir: " << cfp.getLogDir() << endl;
  os  << "Detalied logging: " << cfp.getDetailedLogging() << endl;
  os  << "Debugging: " << cfp.getDebugging() << endl;
  os  << "Hyperbolic ROuting: " << cfp.getIsHyperbolicCalc() << endl;
  os  << "Hyp R: " << cfp.getCorR() << endl;
  os  << "Hyp theta: " << cfp.getCorTheta() << endl;
  os  << "Tunnel Type: " << cfp.getTunnelType() << endl;
  return  os;
}

} //namespace nlsr
