1116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 2116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// found in the LICENSE file. 4116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 5116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chromecast/service/cast_service.h" 6116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 7116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "base/logging.h" 8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "base/threading/thread_checker.h" 9116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 10116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace chromecast { 11116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 12116680a4aac90f2aa7413d9095a592090648e557Ben MurdochCastService::CastService(content::BrowserContext* browser_context) 13116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch : browser_context_(browser_context), 14116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch stopped_(true), 15116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch thread_checker_(new base::ThreadChecker()) { 16116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 17116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 18116680a4aac90f2aa7413d9095a592090648e557Ben MurdochCastService::~CastService() { 19116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch DCHECK(thread_checker_->CalledOnValidThread()); 20116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch DCHECK(stopped_); 21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 23116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid CastService::Start() { 24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch DCHECK(thread_checker_->CalledOnValidThread()); 25116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch Initialize(); 27116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch stopped_ = false; 28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch StartInternal(); 29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 31116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid CastService::Stop() { 32116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch DCHECK(thread_checker_->CalledOnValidThread()); 33116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch StopInternal(); 34116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch stopped_ = true; 35116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 36116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 37116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} // namespace chromecast 38