#include "CivBuilder.h"
#include "CivTypes.h"
#include "CivAssembly.h"

#define ASSERT(A,B)  if ((A) == nullptr || (B) == nullptr) return;

CivBuilder::CivBuilder()
{
	mNewInp = nullptr;
}

CivBuilder::~CivBuilder()
{

}

CivNewInp* CivBuilder::getNewInp()
{
    return mNewInp;
}


CivInpBuilder::CivInpBuilder()
	:mDbConn(nullptr)
{
    mNewInp = new CivNewInp();
}

CivInpBuilder::CivInpBuilder(CivDbConn* dbConn)
	:mDbConn(dbConn)
{
    mNewInp = new CivNewInp();
}

CivInpBuilder::~CivInpBuilder()
{
	delete mDbConn;
}

void CivInpBuilder::registDb(CivDbConn* dbConn)
{
	if (mDbConn != nullptr)
	{
		delete mDbConn;
		mDbConn = nullptr;
	}
	mDbConn = dbConn;
}

void CivInpBuilder::buildNode()
{
	
}

void CivInpBuilder::buildPipe()
{

}

void CivInpBuilder::buildTank()
{

}

void CivInpBuilder::buildVavle()
{

}

void CivInpBuilder::buildPump()
{

}

void CivInpBuilder::buildReservoir()
{

}

void CivInpBuilder::buildEmitter()
{

}

CivNewInp* CivInpBuilder::getNewInp()
{
	return mNewInp;
}

void CivInpBuilder::buildPatterns()
{

}

void CivInpBuilder::buildParamter()
{

}

void CivInpBuilder::buildCoordnates()
{

}

void CivInpBuilder::buildVertices()
{

}

void CivInpBuilder::buildLabels()
{

}

void CivInpBuilder::buildTags()
{

}

void CivInpBuilder::buildBackDrop()
{

}

void CivInpBuilder::buildQuality()
{

}

void CivInpBuilder::buildSources()
{

}

void CivInpBuilder::buildMixing()
{

}

void CivInpBuilder::buildCurves()
{

}

void CivInpBuilder::buildStatus()
{

}

void CivInpBuilder::buildControls()
{

}

void CivInpBuilder::buildRules()
{

}

void CivInpBuilder::buildDemands()
{

}