11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Copyright 2014 The Chromium Authors. All rights reserved. 21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Use of this source code is governed by a BSD-style license that can be 31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// found in the LICENSE file. 41320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "chromecast/shell/browser/cast_browser_process.h" 61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "base/logging.h" 81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "chromecast/metrics/cast_metrics_service_client.h" 91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "chromecast/service/cast_service.h" 101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "chromecast/shell/browser/cast_browser_context.h" 111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "chromecast/shell/browser/devtools/remote_debugging_server.h" 121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccinamespace chromecast { 141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccinamespace shell { 151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccinamespace { 171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciCastBrowserProcess* g_instance = NULL; 181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} // namespace 191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// static 211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciCastBrowserProcess* CastBrowserProcess::GetInstance() { 221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci DCHECK(g_instance); 231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci return g_instance; 241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciCastBrowserProcess::CastBrowserProcess() { 271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci DCHECK(!g_instance); 281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci g_instance = this; 291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciCastBrowserProcess::~CastBrowserProcess() { 321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci DCHECK_EQ(g_instance, this); 331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci g_instance = NULL; 341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid CastBrowserProcess::SetBrowserContext( 371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci CastBrowserContext* browser_context) { 381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci DCHECK(!browser_context_); 391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci browser_context_.reset(browser_context); 401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid CastBrowserProcess::SetCastService(CastService* cast_service) { 431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci DCHECK(!cast_service_); 441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci cast_service_.reset(cast_service); 451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 471320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid CastBrowserProcess::SetRemoteDebuggingServer( 481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci RemoteDebuggingServer* remote_debugging_server) { 491320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci DCHECK(!remote_debugging_server_); 501320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci remote_debugging_server_.reset(remote_debugging_server); 511320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 521320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 531320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid CastBrowserProcess::SetMetricsServiceClient( 541320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci metrics::CastMetricsServiceClient* metrics_service_client) { 551320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci DCHECK(!metrics_service_client_); 561320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci metrics_service_client_.reset(metrics_service_client); 571320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 581320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 591320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} // namespace shell 601320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} // namespace chromecast 61