#include<iostream>
#include "nlsr_conf_param.hpp"

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;
}
