diff options
Diffstat (limited to 'remoting/base/stoppable.cc')
-rw-r--r-- | remoting/base/stoppable.cc | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/remoting/base/stoppable.cc b/remoting/base/stoppable.cc deleted file mode 100644 index 99acba4..0000000 --- a/remoting/base/stoppable.cc +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright (c) 2012 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. - -#include "remoting/base/stoppable.h" - -#include "base/message_loop.h" -#include "base/single_thread_task_runner.h" - -namespace remoting { - -Stoppable::Stoppable( - scoped_refptr<base::SingleThreadTaskRunner> task_runner, - const base::Closure& stopped_callback) - : state_(kRunning), - stopped_callback_(stopped_callback), - task_runner_(task_runner) { -} - -Stoppable::~Stoppable() { - CHECK_EQ(state_, kStopped); -} - -void Stoppable::Stop() { - DCHECK(task_runner_->BelongsToCurrentThread()); - - if (state_ == kRunning) { - state_ = kStopping; - } - - // DoStop() can be called multiple times. - DoStop(); -} - -void Stoppable::CompleteStopping() { - DCHECK(task_runner_->BelongsToCurrentThread()); - DCHECK_EQ(state_, kStopping); - - state_ = kStopped; - task_runner_->PostTask(FROM_HERE, stopped_callback_); -} - -} // namespace remoting |