DeviceParameter ADCDevice::GetParameter( string parameterName )
{
	if( VALUE_KEY == parameterName )
	{
		DeviceParameter result = DeviceParameter( parameterName, FLOAT, new float( this->currentPinoutValue ));
		return result;
	}

	EventLogger::Instance()->WriteVerbose("Parameter with name %s in to recognized by the ADC Device",
					parameterName.c_str());
	return DeviceParameter();
}
DeviceParameter TimerDevice::GetParameter( string parameterName )
{
	if( VALUE_KEY == parameterName )
	{
		DeviceParameter result = DeviceParameter( parameterName, INT, new int( this->timeLeft ));
		return result;
	}

	EventLogger::Instance()->WriteVerbose("Parameter with name %s in to recognized by the Timer Device",
					parameterName.c_str());
	return DeviceParameter();
}
DeviceParameter OrDevice::GetParameter( string parameterName )
{
    if( VALUE_KEY == parameterName )
    {
        DeviceParameter result = DeviceParameter( parameterName, BOOL, new bool( this->currentValue ));
        return result;
    }

    EventLogger::Instance()->WriteVerbose("Parameter with name %s in to recognized by the OR Device",
                                          parameterName.c_str());
    return DeviceParameter();
}
DeviceParameter ButtonDevice::GetParameter( string parameterName )
{
    if( this->currentStatus != 0 && this->currentStatus != 1 )
        return DeviceParameter();

    if( VALUE_KEY == parameterName )
    {
        DeviceParameter result = DeviceParameter( parameterName, INT, new int( this->currentStatus ));
        return result;
    }

    EventLogger::Instance()->WriteVerbose("Parameter with name %s in to recognized by the GPI Device",
                                          parameterName.c_str());
    return DeviceParameter();
}