| // Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef EXTENSIONS_BROWSER_API_DISPLAY_SOURCE_DISPLAY_SOURCE_API_H_ |
| #define EXTENSIONS_BROWSER_API_DISPLAY_SOURCE_DISPLAY_SOURCE_API_H_ |
| |
| #include "base/macros.h" |
| #include "extensions/browser/api/display_source/display_source_connection_delegate.h" |
| #include "extensions/browser/extension_function.h" |
| |
| namespace extensions { |
| |
| class DisplaySourceGetAvailableSinksFunction |
| : public UIThreadExtensionFunction { |
| public: |
| DECLARE_EXTENSION_FUNCTION("displaySource.getAvailableSinks", |
| DISPLAYSOURCE_GETAVAILABLESINKS); |
| DisplaySourceGetAvailableSinksFunction() = default; |
| |
| protected: |
| ~DisplaySourceGetAvailableSinksFunction() override; |
| ResponseAction Run() final; |
| |
| private: |
| void OnGetSinksCompleted(const DisplaySourceSinkInfoList& sinks); |
| void OnGetSinksFailed(const std::string& reason); |
| |
| DISALLOW_COPY_AND_ASSIGN(DisplaySourceGetAvailableSinksFunction); |
| }; |
| |
| class DisplaySourceRequestAuthenticationFunction |
| : public UIThreadExtensionFunction { |
| public: |
| DECLARE_EXTENSION_FUNCTION("displaySource.requestAuthentication", |
| DISPLAYSOURCE_REQUESTAUTHENTICATION); |
| DisplaySourceRequestAuthenticationFunction() = default; |
| |
| protected: |
| ~DisplaySourceRequestAuthenticationFunction() override; |
| ResponseAction Run() final; |
| |
| private: |
| void OnRequestAuthCompleted(const DisplaySourceAuthInfo& auth_info); |
| void OnRequestAuthFailed(const std::string& reason); |
| |
| DISALLOW_COPY_AND_ASSIGN(DisplaySourceRequestAuthenticationFunction); |
| }; |
| |
| } // namespace extensions |
| |
| #endif // EXTENSIONS_BROWSER_API_DISPLAY_SOURCE_DISPLAY_SOURCE_API_H_ |