#include "Logger.h"
#include "Pump.h"
#include "ParameterBool.h"
#include "ParameterDouble.h"

using namespace std;

int main(int argc, char *argv[])
{
    // create logger object
    Logger* pLogger = new ConsoleLogger();
    //Logger* pLogger = new FileLogger();
//    Logger* pLogger = new FileLogger( "otherLogFile.txt" );

    // create pump instance
    Pump* pPump01 = new Pump( pLogger );

    // get control parameter pointers
    ParameterDouble* pPump01turns;
    pPump01->GetTurns( pPump01turns );

    ParameterBool* pPump01onOff;
    pPump01->GetOnOff( pPump01onOff );

    ParameterBool* pPump01silMode;
    pPump01->GetSilentMode( pPump01silMode );

    // set parameters
    pPump01turns->SetValue( 10.0 );
    pPump01turns->SetValue( 10.0 );
    pPump01turns->SetValue( 20.0 );

    pPump01onOff->SetValue( true );

    pPump01turns->SetValue( 300.0 );

    pPump01silMode->SetValue( true );

 
    // cleanup
    delete pPump01;
    delete pLogger;
    pLogger = NULL;

    return 0;
}