Chromium Code Reviews| Index: chromeos/display/real_output_configurator_delegate.h |
| diff --git a/chromeos/display/real_output_configurator_delegate.h b/chromeos/display/real_output_configurator_delegate.h |
| index 2753ae55ffb19c778613eab77193abb8467c1699..9e053023b8cb8cdbbd396aac346eba33421637eb 100644 |
| --- a/chromeos/display/real_output_configurator_delegate.h |
| +++ b/chromeos/display/real_output_configurator_delegate.h |
| @@ -5,6 +5,7 @@ |
| #ifndef CHROMEOS_DISPLAY_REAL_OUTPUT_CONFIGURATOR_DELEGATE_H_ |
| #define CHROMEOS_DISPLAY_REAL_OUTPUT_CONFIGURATOR_DELEGATE_H_ |
| +#include <map> |
| #include <vector> |
| #include "base/basictypes.h" |
| @@ -54,7 +55,26 @@ class RealOutputConfiguratorDelegate : public OutputConfigurator::Delegate { |
| const OutputConfigurator::CoordinateTransformation& ctm) OVERRIDE; |
| virtual void SendProjectingStateToPowerManager(bool projecting) OVERRIDE; |
|
Daniel Erat
2013/09/18 22:39:16
nit: delete blank line
kcwu
2013/09/20 03:03:47
Done.
|
| + virtual uint64_t RegisterOutputProtectionClient() OVERRIDE; |
| + virtual void UnregisterOutputProtectionClient(uint64_t client_id) OVERRIDE; |
| + virtual bool QueryOutputProtectionStatus( |
| + uint64_t client_id, |
| + uint32_t* link_mask, |
| + uint32_t* protection_mask) OVERRIDE; |
| + virtual bool EnableOutputProtection( |
| + uint64_t client_id, |
| + uint32_t desired_method_mask) OVERRIDE; |
| + |
| private: |
| + // Mapping a client to its protection request bitmask. |
| + typedef std::map<uint64_t, uint32_t> ProtectionRequests; |
| + |
| + enum HDCPState { |
| + HDCP_State_Undesired, |
|
Daniel Erat
2013/09/18 22:39:16
nit: HDCP_STATE_UNDESIRED etc. to match the enum n
kcwu
2013/09/20 03:03:47
Done.
|
| + HDCP_State_Desired, |
| + HDCP_State_Enabled |
| + }; |
| + |
| // Gets details corresponding to |mode|. Parameters may be NULL. Returns |
| // true on success. |
| bool GetModeDetails(RRMode mode, int* width, int* height, bool* interlaced); |
| @@ -105,6 +125,15 @@ class RealOutputConfiguratorDelegate : public OutputConfigurator::Delegate { |
| void GetTouchscreens( |
| std::vector<OutputConfigurator::OutputSnapshot>* outputs); |
| + // Get HDCP state of output. |
| + bool GetHDCPState(RROutput id, HDCPState* state); |
|
Daniel Erat
2013/09/18 22:39:16
nit: add blank lines between methods
kcwu
2013/09/20 03:03:47
Done.
|
| + // Set HDCP state of output. |
| + bool SetHDCPState(RROutput id, HDCPState state); |
| + // Query output protection link type of output. |
| + bool QueryOutputProtectionLinkType( |
| + RROutput id, |
| + OutputLinkType *link_type); |
| + |
| Display* display_; |
| Window window_; |
| @@ -114,6 +143,12 @@ class RealOutputConfiguratorDelegate : public OutputConfigurator::Delegate { |
| // Used to enable modes which rely on panel fitting. |
| bool is_panel_fitting_enabled_; |
| + // Output protection requests of each client. |
| + ProtectionRequests client_protection_requests_; |
| + |
| + // Id for next output protection client. |
| + uint64_t next_client_id_; |
|
Daniel Erat
2013/09/18 22:39:16
nit: next_output_protection_client_id_
but does t
kcwu
2013/09/20 03:03:47
Done.
|
| + |
| DISALLOW_COPY_AND_ASSIGN(RealOutputConfiguratorDelegate); |
| }; |