| Index: remoting/client/plugin/chromoting_instance.h
|
| diff --git a/remoting/client/plugin/chromoting_instance.h b/remoting/client/plugin/chromoting_instance.h
|
| index 9765f9688b5449bfa7d752524c18d663df1c7c5d..e814eaf396fe4ba00af9849047406bf4c55fb41f 100644
|
| --- a/remoting/client/plugin/chromoting_instance.h
|
| +++ b/remoting/client/plugin/chromoting_instance.h
|
| @@ -39,6 +39,7 @@
|
| #include "remoting/protocol/cursor_shape_stub.h"
|
| #include "remoting/protocol/input_event_tracker.h"
|
| #include "remoting/protocol/mouse_input_filter.h"
|
| +#include "remoting/protocol/negotiating_authenticator.h"
|
|
|
| namespace base {
|
| class DictionaryValue;
|
| @@ -120,20 +121,6 @@ class ChromotingInstance :
|
| void SetDesktopSize(const SkISize& size, const SkIPoint& dpi);
|
| void OnFirstFrameReceived();
|
|
|
| - // Message handlers for messages that come from JavaScript. Called
|
| - // from HandleMessage().
|
| - void Connect(const ClientConfig& config);
|
| - void Disconnect();
|
| - void OnIncomingIq(const std::string& iq);
|
| - void ReleaseAllKeys();
|
| - void InjectKeyEvent(const protocol::KeyEvent& event);
|
| - void RemapKey(uint32 in_usb_keycode, uint32 out_usb_keycode);
|
| - void TrapKey(uint32 usb_keycode, bool trap);
|
| - void SendClipboardItem(const std::string& mime_type, const std::string& item);
|
| - void NotifyClientResolution(int width, int height, int x_dpi, int y_dpi);
|
| - void PauseVideo(bool pause);
|
| - void PauseAudio(bool pause);
|
| -
|
| // Return statistics record by ChromotingClient.
|
| // If no connection is currently active then NULL will be returned.
|
| ChromotingStats* GetStats();
|
| @@ -163,6 +150,27 @@ class ChromotingInstance :
|
| private:
|
| FRIEND_TEST_ALL_PREFIXES(ChromotingInstanceTest, TestCaseSetup);
|
|
|
| + // Used as the |FetchSecretCallback| for IT2Me (or Me2Me from old webapps).
|
| + // Immediately calls |secret_fetched_callback| with |shared_secret|.
|
| + static void FetchSecretFromString(
|
| + const std::string& shared_secret,
|
| + const protocol::SecretFetchedCallback& secret_fetched_callback);
|
| +
|
| + // Message handlers for messages that come from JavaScript. Called
|
| + // from HandleMessage().
|
| + void Connect(const ClientConfig& config);
|
| + void Disconnect();
|
| + void OnIncomingIq(const std::string& iq);
|
| + void ReleaseAllKeys();
|
| + void InjectKeyEvent(const protocol::KeyEvent& event);
|
| + void RemapKey(uint32 in_usb_keycode, uint32 out_usb_keycode);
|
| + void TrapKey(uint32 usb_keycode, bool trap);
|
| + void SendClipboardItem(const std::string& mime_type, const std::string& item);
|
| + void NotifyClientResolution(int width, int height, int x_dpi, int y_dpi);
|
| + void PauseVideo(bool pause);
|
| + void PauseAudio(bool pause);
|
| + void OnPinFetched(const std::string& pin);
|
| +
|
| // Helper method to post messages to the webapp.
|
| void PostChromotingMessage(const std::string& method,
|
| scoped_ptr<base::DictionaryValue> data);
|
| @@ -183,6 +191,11 @@ class ChromotingInstance :
|
| // Returns true if there is a ConnectionToHost and it is connected.
|
| bool IsConnected();
|
|
|
| + // Used as the |FetchSecretCallback| for Me2Me connections.
|
| + // Uses the PIN request dialog in the webapp to obtain the shared secret.
|
| + void FetchSecretFromDialog(
|
| + const protocol::SecretFetchedCallback& secret_fetched_callback);
|
| +
|
| bool initialized_;
|
|
|
| PepperPluginThreadDelegate plugin_thread_delegate_;
|
| @@ -210,6 +223,10 @@ class ChromotingInstance :
|
| // connection.
|
| scoped_refptr<PepperXmppProxy> xmpp_proxy_;
|
|
|
| + // PIN Fetcher.
|
| + bool use_async_pin_dialog_;
|
| + protocol::SecretFetchedCallback secret_fetched_callback_;
|
| +
|
| base::WeakPtrFactory<ChromotingInstance> weak_factory_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ChromotingInstance);
|
|
|