190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved. 290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// found in the LICENSE file. 490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#ifndef CHROME_BROWSER_BROWSER_PROCESS_PLATFORM_PART_BASE_H_ 690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#define CHROME_BROWSER_BROWSER_PROCESS_PLATFORM_PART_BASE_H_ 790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "base/basictypes.h" 95d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "base/memory/scoped_ptr.h" 1090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 11a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)namespace base { 1290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)class CommandLine; 13a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)} 1490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)namespace policy { 165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)class BrowserPolicyConnector; 175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 1990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// A base class for platform-specific BrowserProcessPlatformPart 2090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// implementations. This class itself should never be used verbatim. 2190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)class BrowserProcessPlatformPartBase { 2290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) public: 2390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) BrowserProcessPlatformPartBase(); 2490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) virtual ~BrowserProcessPlatformPartBase(); 2590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 2690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) // Called after creating the process singleton or when another chrome 2790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) // rendez-vous with this one. 2890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) virtual void PlatformSpecificCommandLineProcessing( 29a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) const base::CommandLine& command_line); 3090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 3190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) // Called from BrowserProcessImpl::StartTearDown(). 3290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) virtual void StartTearDown(); 3390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 3490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) // Called from AttemptExitInternal(). 3590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) virtual void AttemptExit(); 3690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 37a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) // Called at the end of BrowserProcessImpl::PreMainMessageLoopRun(). 38a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) virtual void PreMainMessageLoopRun(); 39a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#if defined(ENABLE_CONFIGURATION_POLICY) 415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) virtual scoped_ptr<policy::BrowserPolicyConnector> 425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) CreateBrowserPolicyConnector(); 435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#endif 445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 4590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) private: 4690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(BrowserProcessPlatformPartBase); 4790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)}; 4890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 4990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#endif // CHROME_BROWSER_BROWSER_PROCESS_PLATFORM_PART_BASE_H_ 50