| Index: remoting/host/host_service_win.h
|
| ===================================================================
|
| --- remoting/host/host_service_win.h (revision 149037)
|
| +++ remoting/host/host_service_win.h (working copy)
|
| @@ -1,110 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef REMOTING_HOST_HOST_SERVICE_WIN_H_
|
| -#define REMOTING_HOST_HOST_SERVICE_WIN_H_
|
| -
|
| -#include <windows.h>
|
| -
|
| -#include "base/file_path.h"
|
| -#include "base/memory/singleton.h"
|
| -#include "base/observer_list.h"
|
| -#include "base/synchronization/waitable_event.h"
|
| -
|
| -#include "remoting/host/wts_console_monitor_win.h"
|
| -
|
| -class CommandLine;
|
| -class MessageLoop;
|
| -
|
| -namespace remoting {
|
| -
|
| -class WtsConsoleObserver;
|
| -
|
| -class HostService : public WtsConsoleMonitor {
|
| - public:
|
| - static HostService* GetInstance();
|
| -
|
| - // This function parses the command line and selects the action routine.
|
| - bool InitWithCommandLine(const CommandLine* command_line);
|
| -
|
| - // Invoke the choosen action routine.
|
| - int Run();
|
| -
|
| - // WtsConsoleMonitor implementation
|
| - virtual void AddWtsConsoleObserver(WtsConsoleObserver* observer) OVERRIDE;
|
| - virtual void RemoveWtsConsoleObserver(
|
| - WtsConsoleObserver* observer) OVERRIDE;
|
| -
|
| - private:
|
| - HostService();
|
| - ~HostService();
|
| -
|
| - // Notifies the service of changes in session state.
|
| - void OnSessionChange();
|
| -
|
| - // This is a common entry point to the main service loop called by both
|
| - // RunAsService() and RunInConsole().
|
| - void RunMessageLoop();
|
| -
|
| - // This function handshakes with the service control manager and starts
|
| - // the service.
|
| - int RunAsService();
|
| -
|
| - // This function starts the service in interactive mode (i.e. as a plain
|
| - // console application).
|
| - int RunInConsole();
|
| -
|
| - static BOOL WINAPI ConsoleControlHandler(DWORD event);
|
| -
|
| - // The control handler of the service.
|
| - static DWORD WINAPI ServiceControlHandler(DWORD control,
|
| - DWORD event_type,
|
| - LPVOID event_data,
|
| - LPVOID context);
|
| -
|
| - // The main service entry point.
|
| - static VOID WINAPI ServiceMain(DWORD argc, WCHAR* argv[]);
|
| -
|
| - static LRESULT CALLBACK SessionChangeNotificationProc(HWND hwnd,
|
| - UINT message,
|
| - WPARAM wparam,
|
| - LPARAM lparam);
|
| -
|
| - // Current physical console session id.
|
| - uint32 console_session_id_;
|
| -
|
| - // The list of observers receiving notifications about any session attached
|
| - // to the physical console.
|
| - ObserverList<WtsConsoleObserver> console_observers_;
|
| -
|
| - // The host binary name.
|
| - FilePath host_binary_;
|
| -
|
| - // Service message loop.
|
| - MessageLoop* message_loop_;
|
| -
|
| - // The action routine to be executed.
|
| - int (HostService::*run_routine_)();
|
| -
|
| - // The service name.
|
| - std::wstring service_name_;
|
| -
|
| - // The service status handle.
|
| - SERVICE_STATUS_HANDLE service_status_handle_;
|
| -
|
| - // True if the service is being stopped.
|
| - bool shutting_down_;
|
| -
|
| - // A waitable event that is used to wait until the service is stopped.
|
| - base::WaitableEvent stopped_event_;
|
| -
|
| - // Singleton.
|
| - friend struct DefaultSingletonTraits<HostService>;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(HostService);
|
| -};
|
| -
|
| -} // namespace remoting
|
| -
|
| -#endif // REMOTING_HOST_HOST_SERVICE_WIN_H_
|
|
|