summaryrefslogtreecommitdiffstats
path: root/remoting
diff options
context:
space:
mode:
Diffstat (limited to 'remoting')
-rw-r--r--remoting/client/chromoting_client.cc7
-rw-r--r--remoting/client/chromoting_client.h2
-rw-r--r--remoting/client/client_user_interface.h2
-rw-r--r--remoting/client/jni/chromoting_jni_instance.cc8
-rw-r--r--remoting/client/jni/chromoting_jni_instance.h2
-rw-r--r--remoting/client/plugin/chromoting_instance.cc9
-rw-r--r--remoting/client/plugin/chromoting_instance.h2
-rw-r--r--remoting/protocol/connection_to_host.cc3
-rw-r--r--remoting/protocol/connection_to_host.h4
9 files changed, 37 insertions, 2 deletions
diff --git a/remoting/client/chromoting_client.cc b/remoting/client/chromoting_client.cc
index f87d9e8..e1c5b14 100644
--- a/remoting/client/chromoting_client.cc
+++ b/remoting/client/chromoting_client.cc
@@ -159,6 +159,13 @@ void ChromotingClient::OnConnectionReady(bool ready) {
user_interface_->OnConnectionReady(ready);
}
+void ChromotingClient::OnRouteChanged(const std::string& channel_name,
+ const protocol::TransportRoute& route) {
+ VLOG(0) << "Using " << protocol::TransportRoute::GetTypeString(route.type)
+ << " connection for " << channel_name << " channel";
+ user_interface_->OnRouteChanged(channel_name, route);
+}
+
void ChromotingClient::OnAuthenticated() {
DCHECK(task_runner_->BelongsToCurrentThread());
diff --git a/remoting/client/chromoting_client.h b/remoting/client/chromoting_client.h
index fda616b..dc41499 100644
--- a/remoting/client/chromoting_client.h
+++ b/remoting/client/chromoting_client.h
@@ -83,6 +83,8 @@ class ChromotingClient : public protocol::ConnectionToHost::HostEventCallback,
protocol::ConnectionToHost::State state,
protocol::ErrorCode error) OVERRIDE;
virtual void OnConnectionReady(bool ready) OVERRIDE;
+ virtual void OnRouteChanged(const std::string& channel_name,
+ const protocol::TransportRoute& route) OVERRIDE;
private:
// Called when the connection is authenticated.
diff --git a/remoting/client/client_user_interface.h b/remoting/client/client_user_interface.h
index 88d3e79..9f1cfa7 100644
--- a/remoting/client/client_user_interface.h
+++ b/remoting/client/client_user_interface.h
@@ -33,6 +33,8 @@ class ClientUserInterface {
virtual void OnConnectionState(protocol::ConnectionToHost::State state,
protocol::ErrorCode error) = 0;
virtual void OnConnectionReady(bool ready) = 0;
+ virtual void OnRouteChanged(const std::string& channel_name,
+ const protocol::TransportRoute& route) = 0;
// Passes the final set of capabilities negotiated between the client and host
// to the application.
diff --git a/remoting/client/jni/chromoting_jni_instance.cc b/remoting/client/jni/chromoting_jni_instance.cc
index 641fcd8..3c7866b 100644
--- a/remoting/client/jni/chromoting_jni_instance.cc
+++ b/remoting/client/jni/chromoting_jni_instance.cc
@@ -216,6 +216,14 @@ void ChromotingJniInstance::OnConnectionReady(bool ready) {
// We ignore this message, since OnConnectionState tells us the same thing.
}
+void ChromotingJniInstance::OnRouteChanged(
+ const std::string& channel_name,
+ const protocol::TransportRoute& route) {
+ std::string message = "Channel " + channel_name + " using " +
+ protocol::TransportRoute::GetTypeString(route.type) + " connection.";
+ __android_log_print(ANDROID_LOG_INFO, "route", "%s", message.c_str());
+}
+
void ChromotingJniInstance::SetCapabilities(const std::string& capabilities) {
NOTIMPLEMENTED();
}
diff --git a/remoting/client/jni/chromoting_jni_instance.h b/remoting/client/jni/chromoting_jni_instance.h
index 2d80b24..cfaaed4f 100644
--- a/remoting/client/jni/chromoting_jni_instance.h
+++ b/remoting/client/jni/chromoting_jni_instance.h
@@ -80,6 +80,8 @@ class ChromotingJniInstance
protocol::ConnectionToHost::State state,
protocol::ErrorCode error) OVERRIDE;
virtual void OnConnectionReady(bool ready) OVERRIDE;
+ virtual void OnRouteChanged(const std::string& channel_name,
+ const protocol::TransportRoute& route) OVERRIDE;
virtual void SetCapabilities(const std::string& capabilities) OVERRIDE;
virtual void SetPairingResponse(
const protocol::PairingResponse& response) OVERRIDE;
diff --git a/remoting/client/plugin/chromoting_instance.cc b/remoting/client/plugin/chromoting_instance.cc
index 46e30f5..49c5210 100644
--- a/remoting/client/plugin/chromoting_instance.cc
+++ b/remoting/client/plugin/chromoting_instance.cc
@@ -436,6 +436,15 @@ void ChromotingInstance::OnConnectionReady(bool ready) {
PostChromotingMessage("onConnectionReady", data.Pass());
}
+void ChromotingInstance::OnRouteChanged(const std::string& channel_name,
+ const protocol::TransportRoute& route) {
+ scoped_ptr<base::DictionaryValue> data(new base::DictionaryValue());
+ std::string message = "Channel " + channel_name + " using " +
+ protocol::TransportRoute::GetTypeString(route.type) + " connection.";
+ data->SetString("message", message);
+ PostChromotingMessage("logDebugMessage", data.Pass());
+}
+
void ChromotingInstance::SetCapabilities(const std::string& capabilities) {
scoped_ptr<base::DictionaryValue> data(new base::DictionaryValue());
data->SetString("capabilities", capabilities);
diff --git a/remoting/client/plugin/chromoting_instance.h b/remoting/client/plugin/chromoting_instance.h
index 7b120a8..0b4a1dd2 100644
--- a/remoting/client/plugin/chromoting_instance.h
+++ b/remoting/client/plugin/chromoting_instance.h
@@ -116,6 +116,8 @@ class ChromotingInstance :
virtual void OnConnectionState(protocol::ConnectionToHost::State state,
protocol::ErrorCode error) OVERRIDE;
virtual void OnConnectionReady(bool ready) OVERRIDE;
+ virtual void OnRouteChanged(const std::string& channel_name,
+ const protocol::TransportRoute& route) OVERRIDE;
virtual void SetCapabilities(const std::string& capabilities) OVERRIDE;
virtual void SetPairingResponse(
const protocol::PairingResponse& pairing_response) OVERRIDE;
diff --git a/remoting/protocol/connection_to_host.cc b/remoting/protocol/connection_to_host.cc
index e35ba22..cdaf4b6 100644
--- a/remoting/protocol/connection_to_host.cc
+++ b/remoting/protocol/connection_to_host.cc
@@ -212,8 +212,7 @@ void ConnectionToHost::OnSessionStateChange(
void ConnectionToHost::OnSessionRouteChange(const std::string& channel_name,
const TransportRoute& route) {
- VLOG(0) << "Using " << TransportRoute::GetTypeString(route.type)
- << " connection for " << channel_name << " channel";
+ event_callback_->OnRouteChanged(channel_name, route);
}
void ConnectionToHost::OnSessionChannelReady(const std::string& channel_name,
diff --git a/remoting/protocol/connection_to_host.h b/remoting/protocol/connection_to_host.h
index 78c258e..6b3d1c4 100644
--- a/remoting/protocol/connection_to_host.h
+++ b/remoting/protocol/connection_to_host.h
@@ -77,6 +77,10 @@ class ConnectionToHost : public SignalStrategy::Listener,
// delayed. This is used to indicate in the UI when connection is
// temporarily broken.
virtual void OnConnectionReady(bool ready) = 0;
+
+ // Called when the route type (direct vs. STUN vs. proxied) changes.
+ virtual void OnRouteChanged(const std::string& channel_name,
+ const protocol::TransportRoute& route) = 0;
};
ConnectionToHost(bool allow_nat_traversal);