bool S60CameraImageProcessingControl::isProcessingParameterSupported(ProcessingParameter parameter) const
{
    // First check settings requiring Adv. Settings
    if (m_advancedSettings) {
        switch (parameter) {
            case QCameraImageProcessingControl::Saturation:
                return true;
            case QCameraImageProcessingControl::Sharpening:
                return isSharpeningSupported();
            case QCameraImageProcessingControl::Denoising:
                return isDenoisingSupported();
            case QCameraImageProcessingControl::ColorTemperature:
                return false;
        }
    }

    // Then the rest
    switch (parameter) {
        case QCameraImageProcessingControl::Contrast:
        case QCameraImageProcessingControl::Brightness:
            return true;

        default:
            return false;
    }
}
void S60CameraImageProcessingControl::setProcessingParameter(
    QCameraImageProcessingControl::ProcessingParameter parameter, QVariant value)
{
    switch (parameter) {
        case QCameraImageProcessingControl::Contrast:
            setContrast(value.toInt());
            break;
        case QCameraImageProcessingControl::Saturation:
            setSaturation(value.toInt());
            break;
        case QCameraImageProcessingControl::Brightness:
            setBrightness(value.toInt());
            break;
        case QCameraImageProcessingControl::Sharpening:
            if (isSharpeningSupported())
                setSharpeningLevel(value.toInt());
            break;
        case QCameraImageProcessingControl::Denoising:
            if (isDenoisingSupported())
                setDenoisingLevel(value.toInt());
            break;
        case QCameraImageProcessingControl::ColorTemperature:
            setManualWhiteBalance(value.toInt());
            break;

        default:
            break;
    }
}
int S60CameraSettings::sharpeningLevel() const
{
#ifdef POST_31_PLATFORM
    if (m_imageProcessingSettings && isSharpeningSupported())
        return m_imageProcessingSettings->TransformationValue(KUidECamEventImageProcessingAdjustSharpness);
    else
        return 0;
#else // S60 3.1 Platform
    return 0;
#endif // POST_31_PLATFORM
}
void S60CameraSettings::setSharpeningLevel(int value)
{
#ifdef POST_31_PLATFORM
    if (m_imageProcessingSettings && isSharpeningSupported())
        m_imageProcessingSettings->SetTransformationValue(KUidECamEventImageProcessingAdjustSharpness, value);
    else
        emit error(QCamera::NotSupportedFeatureError, QString("Setting sharpening level is not supported."));
#else // S60 3.1
    Q_UNUSED(value);
    emit error(QCamera::NotSupportedFeatureError, QString("Setting sharpening level is not supported."));
#endif // POST_31_PLATFORM
}
bool S60CameraImageProcessingControl::isProcessingParameterSupported(ProcessingParameter parameter) const
{
    switch (parameter) {
    case QCameraImageProcessingControl::Contrast:
    case QCameraImageProcessingControl::Brightness:
        return m_session->settings()->areContrastAndBrightnessSupported();
    case QCameraImageProcessingControl::Saturation:
        return isSaturationSupported();
    case QCameraImageProcessingControl::Sharpening:
        return isSharpeningSupported();
    case QCameraImageProcessingControl::Denoising:
        return isDenoisingSupported();
    case QCameraImageProcessingControl::ColorTemperature:
        return false;
    default:
        return false;
    }
}