Home | History | Annotate | Download | only in browser
      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 
     11 namespace base {
     12 class CommandLine;
     13 }
     14 
     15 namespace policy {
     16 class BrowserPolicyConnector;
     17 }
     18 
     19 // A base class for platform-specific BrowserProcessPlatformPart
     20 // implementations. This class itself should never be used verbatim.
     21 class 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