| Index: remoting/host/remoting_me2me_host.cc
|
| diff --git a/remoting/host/remoting_me2me_host.cc b/remoting/host/remoting_me2me_host.cc
|
| index 96fe46e40165ff34fb2a592013ed555494c8eaff..fc0503e159f7d7583d04a4be81ae06b0b6584bfa 100644
|
| --- a/remoting/host/remoting_me2me_host.cc
|
| +++ b/remoting/host/remoting_me2me_host.cc
|
| @@ -149,12 +149,6 @@ const int kShutdownTimeoutSeconds = 15;
|
| // before continuing normal process shutdown.
|
| const int kHostOfflineReasonTimeoutSeconds = 10;
|
|
|
| -// Host offline reasons not associated with shutting down the host process
|
| -// and therefore not expressible through HostExitCodes enum.
|
| -const char kHostOfflineReasonPolicyReadError[] = "POLICY_READ_ERROR";
|
| -const char kHostOfflineReasonPolicyChangeRequiresRestart[] =
|
| - "POLICY_CHANGE_REQUIRES_RESTART";
|
| -
|
| } // namespace
|
|
|
| namespace remoting {
|
| @@ -283,11 +277,11 @@ class HostProcess : public ConfigWatcher::Delegate,
|
| void OnUnknownHostIdError() override;
|
| void OnAuthFailed() override;
|
|
|
| - void RestartHost(const std::string& host_offline_reason);
|
| + void RestartHost(HostExitCodes exit_code);
|
| void ShutdownHost(HostExitCodes exit_code);
|
|
|
| // Helper methods doing the work needed by RestartHost and ShutdownHost.
|
| - void GoOffline(const std::string& host_offline_reason);
|
| + void GoOffline(HostExitCodes exit_code);
|
| void OnHostOfflineReasonAck(bool success);
|
|
|
| #if defined(OS_WIN)
|
| @@ -1014,7 +1008,7 @@ void HostProcess::OnPolicyUpdate(scoped_ptr<base::DictionaryValue> policies) {
|
| StartHostIfReady();
|
| } else if (state_ == HOST_STARTED) {
|
| if (restart_required)
|
| - RestartHost(kHostOfflineReasonPolicyChangeRequiresRestart);
|
| + RestartHost(kPolicyChangeRequiresRestart);
|
| }
|
| }
|
|
|
| @@ -1042,7 +1036,7 @@ void HostProcess::ReportPolicyErrorAndRestartHost() {
|
| policy_state_ = POLICY_ERROR_REPORTED;
|
|
|
| LOG(INFO) << "Restarting the host due to policy errors.";
|
| - RestartHost(kHostOfflineReasonPolicyReadError);
|
| + RestartHost(kPolicyReadError);
|
| }
|
|
|
| void HostProcess::ApplyHostDomainPolicy() {
|
| @@ -1413,12 +1407,11 @@ void HostProcess::OnAuthFailed() {
|
| ShutdownHost(kInvalidOauthCredentialsExitCode);
|
| }
|
|
|
| -void HostProcess::RestartHost(const std::string& host_offline_reason) {
|
| +void HostProcess::RestartHost(HostExitCodes exit_code) {
|
| DCHECK(context_->network_task_runner()->BelongsToCurrentThread());
|
| - DCHECK(!host_offline_reason.empty());
|
|
|
| SetState(HOST_GOING_OFFLINE_TO_RESTART);
|
| - GoOffline(host_offline_reason);
|
| + GoOffline(exit_code);
|
| }
|
|
|
| void HostProcess::ShutdownHost(HostExitCodes exit_code) {
|
| @@ -1430,7 +1423,7 @@ void HostProcess::ShutdownHost(HostExitCodes exit_code) {
|
| case HOST_STARTING:
|
| case HOST_STARTED:
|
| SetState(HOST_GOING_OFFLINE_TO_STOP);
|
| - GoOffline(ExitCodeToString(exit_code));
|
| + GoOffline(exit_code);
|
| break;
|
|
|
| case HOST_GOING_OFFLINE_TO_RESTART:
|
| @@ -1444,13 +1437,14 @@ void HostProcess::ShutdownHost(HostExitCodes exit_code) {
|
| }
|
| }
|
|
|
| -void HostProcess::GoOffline(const std::string& host_offline_reason) {
|
| +void HostProcess::GoOffline(HostExitCodes exit_code) {
|
| DCHECK(context_->network_task_runner()->BelongsToCurrentThread());
|
| - DCHECK(!host_offline_reason.empty());
|
| DCHECK((state_ == HOST_GOING_OFFLINE_TO_STOP) ||
|
| (state_ == HOST_GOING_OFFLINE_TO_RESTART));
|
|
|
| + std::string host_offline_reason = ExitCodeToString(exit_code);
|
| // Shut down everything except the HostSignalingManager.
|
| + host_->SetExitCode(exit_code);
|
| host_.reset();
|
| host_event_logger_.reset();
|
| host_status_logger_.reset();
|
|
|