1// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CHROME_BROWSER_BROWSER_PROCESS_PLATFORM_PART_BASE_H_ 6#define CHROME_BROWSER_BROWSER_PROCESS_PLATFORM_PART_BASE_H_ 7 8#include "base/basictypes.h" 9#include "base/memory/scoped_ptr.h" 10 11namespace base { 12class CommandLine; 13} 14 15namespace policy { 16class BrowserPolicyConnector; 17} 18 19// A base class for platform-specific BrowserProcessPlatformPart 20// implementations. This class itself should never be used verbatim. 21class BrowserProcessPlatformPartBase { 22 public: 23 BrowserProcessPlatformPartBase(); 24 virtual ~BrowserProcessPlatformPartBase(); 25 26 // Called after creating the process singleton or when another chrome 27 // rendez-vous with this one. 28 virtual void PlatformSpecificCommandLineProcessing( 29 const base::CommandLine& command_line); 30 31 // Called from BrowserProcessImpl::StartTearDown(). 32 virtual void StartTearDown(); 33 34 // Called from AttemptExitInternal(). 35 virtual void AttemptExit(); 36 37 // Called at the end of BrowserProcessImpl::PreMainMessageLoopRun(). 38 virtual void PreMainMessageLoopRun(); 39 40#if defined(ENABLE_CONFIGURATION_POLICY) 41 virtual scoped_ptr<policy::BrowserPolicyConnector> 42 CreateBrowserPolicyConnector(); 43#endif 44 45 private: 46 DISALLOW_COPY_AND_ASSIGN(BrowserProcessPlatformPartBase); 47}; 48 49#endif // CHROME_BROWSER_BROWSER_PROCESS_PLATFORM_PART_BASE_H_ 50