chrome_launcher.h revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
16f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org// Copyright (c) 2012 The Chromium Authors. All rights reserved. 26f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org// Use of this source code is governed by a BSD-style license that can be 36f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org// found in the LICENSE file. 46f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 56f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef CLOUD_PRINT_SERVICE_CHROME_LAUNCHER_H_ 66f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define CLOUD_PRINT_SERVICE_CHROME_LAUNCHER_H_ 76f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 86f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include <string> 96f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include "base/basictypes.h" 116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include "base/files/file_path.h" 126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include "base/memory/scoped_ptr.h" 136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include "base/threading/simple_thread.h" 146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgclass ChromeLauncher : public base::DelegateSimpleThread::Delegate { 166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org public: 176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org explicit ChromeLauncher(const base::FilePath& user_data); 186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual ~ChromeLauncher(); 206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org bool Start(); 226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void Stop(); 236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual void Run() OVERRIDE; 256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org private: 276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org base::FilePath user_data_; 286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org base::WaitableEvent stop_event_; 296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org scoped_ptr<base::DelegateSimpleThread> thread_; 306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org DISALLOW_COPY_AND_ASSIGN(ChromeLauncher); 326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif // CLOUD_PRINT_SERVICE_CHROME_LAUNCHER_H_ 356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org