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); |
}; |