chromium/ui/display/manager/test/action_logger_util.h

// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef UI_DISPLAY_MANAGER_TEST_ACTION_LOGGER_UTIL_H_
#define UI_DISPLAY_MANAGER_TEST_ACTION_LOGGER_UTIL_H_

#include <stdint.h>

#include <string>
#include <vector>

#include "ui/display/types/display_configuration_params.h"
#include "ui/display/types/display_constants.h"

namespace display {

struct ColorCalibration;
struct ColorTemperatureAdjustment;
struct DisplayConfigurationParams;
struct GammaAdjustment;

namespace test {

// Strings returned by TestNativeDisplayDelegate::GetActionsAndClear() to
// describe various actions that were performed.
const char kInit[] = "init";
const char kTakeDisplayControl[] = "take";
const char kRelinquishDisplayControl[] = "relinquish";

// String returned by TestNativeDisplayDelegate::GetActionsAndClear() if no
// actions were requested.
const char kNoActions[] = "";

// Returns a string describing a TestNativeDisplayDelegate::Configure()
// call.
std::string GetCrtcAction(
    const display::DisplayConfigurationParams& display_config_params);

// Returns a string describing a TestNativeDisplayDelegate::SetHDCPState() call.
std::string GetSetHDCPStateAction(int64_t display_id,
                                  HDCPState state,
                                  ContentProtectionMethod protection_method);

// Returns a string describing a TestNativeDisplayDelegate::SetHdcpKeyProp()
// call.
std::string GetSetHdcpKeyPropAction(int64_t display_id, bool success);

// Returns a string describing a
// TestNativeDisplayDelegate::SetColorCalibration() call.
std::string SetColorCalibrationAction(
    int64_t display_id,
    const display::ColorCalibration& calibration);

// Returns a string describing a
// TestNativeDisplayDelegate::SetColorTemperatureAdjustment() call.
std::string SetColorTemperatureAdjustmentAction(
    int64_t display_id,
    const display::ColorTemperatureAdjustment& cta);

// Returns a string describing a TestNativeDisplayDelegate::SetGammaAdjustment()
// call.
std::string SetGammaAdjustmentAction(int64_t display_id,
                                     const display::GammaAdjustment& gamma);

// Returns a string describing a TestNativeDisplayDelegate::SetPrivacyScreen()
// call.
std::string SetPrivacyScreenAction(int64_t display_id, bool enabled);

// Joins a sequence of strings describing actions (e.g. kScreenDim) such
// that they can be compared against a string returned by
// ActionLogger::GetActionsAndClear().  The list of actions must be
// terminated by a NULL pointer.
std::string JoinActions(const char* action, ...);

}  // namespace test

}  // namespace display

#endif  // UI_DISPLAY_MANAGER_TEST_ACTION_LOGGER_UTIL_H_