summaryrefslogtreecommitdiffstats
path: root/remoting
diff options
context:
space:
mode:
authoralexeypa@chromium.org <alexeypa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-01 03:56:38 +0000
committeralexeypa@chromium.org <alexeypa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-01 03:56:38 +0000
commitb6d0cd9a7c38055a9e719e7ac3d90fc1aaa3cddb (patch)
tree362aee8f0ad4fc1bc0ec33bc2b2216de9f89fe23 /remoting
parentbcc2c6dcda4c70cf546cec0b25228fa571b4924c (diff)
downloadchromium_src-b6d0cd9a7c38055a9e719e7ac3d90fc1aaa3cddb.zip
chromium_src-b6d0cd9a7c38055a9e719e7ac3d90fc1aaa3cddb.tar.gz
chromium_src-b6d0cd9a7c38055a9e719e7ac3d90fc1aaa3cddb.tar.bz2
Refactor the ATL module code to accomodate the coming RDP changes.
Changes in this CL: - The list of COM classes served by the process explicitly specified. This way a different set of classes can be served depending on the entry point used. - Renamed the type library to ChromotingLib as it will contain other classes as well. - The ATL module class runs Chromium message loop allowing tasks to be posted to it. - The main mesage loop is wrapped into AutoThreadTaskRunner as an aid to implementing asynchronous shutdown code. - The COM process exits as soon as the last COM object it serves released. BUG=137696 Review URL: https://chromiumcodereview.appspot.com/12326164 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185453 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting')
-rw-r--r--remoting/host/installer/win/chromoting.wxs30
-rw-r--r--remoting/host/installer/win/parameters.json2
-rw-r--r--remoting/host/setup/daemon_controller_win.cc5
-rw-r--r--remoting/host/win/chromoting_lib_idl.templ (renamed from remoting/host/win/elevated_controller_idl.templ)8
-rw-r--r--remoting/host/win/chromoting_module.cc140
-rw-r--r--remoting/host/win/chromoting_module.h71
-rw-r--r--remoting/host/win/elevated_controller.h6
-rw-r--r--remoting/host/win/elevated_controller_module.cc24
-rw-r--r--remoting/remoting.gyp60
9 files changed, 264 insertions, 82 deletions
diff --git a/remoting/host/installer/win/chromoting.wxs b/remoting/host/installer/win/chromoting.wxs
index 47a2189..0ef21fd 100644
--- a/remoting/host/installer/win/chromoting.wxs
+++ b/remoting/host/installer/win/chromoting.wxs
@@ -24,13 +24,14 @@
<?define UpgradeCode = "2b21f767-e157-4fa6-963c-55834c1433a6" ?>
<?define CoreBinary = "remoting_core.dll" ?>
+ <?define HostBinary = "remoting_host.exe" ?>
+
+ <?define ChromotingTypelib = "{b6396c45-b0cc-456b-9f49-f12964ee6df4}" ?>
<?define ControllerAppid = "{4ff35d5e-d226-4550-9248-03e7779e67de}" ?>
- <?define ControllerBinary = "remoting_host.exe" ?>
<?define ControllerClass = "ElevatedController Class" ?>
<?define ControllerProgid =
"ChromotingElevatedController.ElevatedController" ?>
- <?define ControllerTypelib = "{9d9a5a2c-576e-4acd-9c75-aabff74b205d}" ?>
<!--
The long hex value below is a security descriptor that allows SYSTEM,
@@ -45,6 +46,7 @@
-->
<?define ControllerSd = "010004805C0000006C00000000000000140000000200480003000000000014000300000001010000000000050400000000001400030000000101000000000005120000000000180003000000010200000000000520000000200200000102000000000005200000002002000001020000000000052000000020020000" ?>
+ <!-- Verify that all required parameters are defined. -->
<?ifndef ControllerClsid ?>
<?error ControllerClsid must be defined ?>
<?endif?>
@@ -225,7 +227,7 @@
</Component>
<?endif?>
- <Component Id="remoting_controller" Guid="*">
+ <Component Id="remoting_lib" Guid="*">
<RegistryKey Root="HKLM"
Key="SOFTWARE\Classes">
<RegistryKey Key="AppId">
@@ -236,12 +238,6 @@
Type="binary"
Value="$(var.ControllerSd)"/>
</RegistryKey>
-
- <RegistryKey Key="$(var.ControllerBinary)" Action="create">
- <RegistryValue Type="string"
- Name="AppID"
- Value="$(var.ControllerAppid)"/>
- </RegistryKey>
</RegistryKey>
<RegistryKey Key="$(var.ControllerProgid)" Action="create">
@@ -285,7 +281,7 @@
<RegistryKey Key="LocalServer32" Action="create">
<RegistryValue Type="string"
- Value="[binaries]$(var.ControllerBinary) --type=controller"/>
+ Value="[binaries]$(var.HostBinary) --type=controller"/>
</RegistryKey>
<RegistryKey Key="ProgID" Action="create">
@@ -295,7 +291,7 @@
<RegistryKey Key="TypeLib" Action="create">
<RegistryValue Type="string"
- Value="$(var.ControllerTypelib)"/>
+ Value="$(var.ChromotingTypelib)"/>
</RegistryKey>
<RegistryKey Key="VersionIndependentProgID" Action="create">
@@ -324,7 +320,7 @@
<RegistryKey Key="TypeLib" Action="create">
<RegistryValue Type="string"
- Value="$(var.ControllerTypelib)"/>
+ Value="$(var.ChromotingTypelib)"/>
</RegistryKey>
</RegistryKey>
@@ -337,14 +333,16 @@
<RegistryKey Key="TypeLib" Action="create">
<RegistryValue Type="string"
- Value="$(var.ControllerTypelib)"/>
+ Value="$(var.ChromotingTypelib)"/>
</RegistryKey>
</RegistryKey>
</RegistryKey>
<RegistryKey Key="Typelib">
- <RegistryKey Key="$(var.ControllerTypelib)" Action="create">
- <RegistryKey Key="1.1" Action="create">
+ <RegistryKey Key="$(var.ChromotingTypelib)" Action="create">
+ <RegistryKey Key="1.0" Action="create">
+ <RegistryValue Type="string"
+ Value="Chromoting 1.0 Type Library"/>
<RegistryKey Key="0" Action="create">
<RegistryKey Key="win32" Action="create">
<RegistryValue Type="string"
@@ -467,10 +465,10 @@
<?if $(var.OfficialBuild) != 0 ?>
<ComponentRef Id="omaha_registration"/>
<?endif?>
- <ComponentRef Id="remoting_controller"/>
<ComponentRef Id="remoting_core"/>
<ComponentRef Id="remoting_desktop"/>
<ComponentRef Id="remoting_host"/>
+ <ComponentRef Id="remoting_lib"/>
<ComponentRef Id="sas"/>
<ComponentRef Id="sawbuck_provider"/>
</Feature>
diff --git a/remoting/host/installer/win/parameters.json b/remoting/host/installer/win/parameters.json
index d5c13cd..324dc7e 100644
--- a/remoting/host/installer/win/parameters.json
+++ b/remoting/host/installer/win/parameters.json
@@ -1,9 +1,9 @@
{
"defines": {
"Branding": "@@BRANDING@@",
+ "ControllerClsid": "@@DAEMON_CONTROLLER_CLSID@@",
"OfficialBuild": "@@OFFICIAL_BUILD@@",
"RemotingMultiProcess" : "@@REMOTING_MULTI_PROCESS@@",
- "ControllerClsid": "@@CONTROLLER_CLSID@@",
"Version": "@@VERSION@@"
},
"extensions": [
diff --git a/remoting/host/setup/daemon_controller_win.cc b/remoting/host/setup/daemon_controller_win.cc
index c2897d4..497fd5a 100644
--- a/remoting/host/setup/daemon_controller_win.cc
+++ b/remoting/host/setup/daemon_controller_win.cc
@@ -26,12 +26,11 @@
#include "base/win/windows_version.h"
#include "remoting/base/scoped_sc_handle_win.h"
#include "remoting/host/branding.h"
+// MIDL-generated declarations and definitions.
+#include "remoting/host/chromoting_lib.h"
#include "remoting/host/setup/daemon_installer_win.h"
#include "remoting/host/usage_stats_consent.h"
-// MIDL-generated declarations and definitions.
-#include "remoting/host/elevated_controller.h"
-
using base::win::ScopedBstr;
using base::win::ScopedComPtr;
diff --git a/remoting/host/win/elevated_controller_idl.templ b/remoting/host/win/chromoting_lib_idl.templ
index 27b15ae..f2f7f31 100644
--- a/remoting/host/win/elevated_controller_idl.templ
+++ b/remoting/host/win/chromoting_lib_idl.templ
@@ -65,11 +65,11 @@ interface IDaemonControl2: IDaemonControl {
};
[
- uuid(9d9a5a2c-576e-4acd-9c75-aabff74b205d),
- version(1.1),
- helpstring("Chromoting Elevated Controller 1.1 Type Library")
+ uuid(b6396c45-b0cc-456b-9f49-f12964ee6df4),
+ version(1.0),
+ helpstring("Chromoting 1.0 Type Library")
]
-library ChromotingElevatedControllerLib {
+library ChromotingLib {
importlib("stdole2.tlb");
[
diff --git a/remoting/host/win/chromoting_module.cc b/remoting/host/win/chromoting_module.cc
new file mode 100644
index 0000000..a9f62b1
--- /dev/null
+++ b/remoting/host/win/chromoting_module.cc
@@ -0,0 +1,140 @@
+// Copyright (c) 2013 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.
+
+#include "remoting/host/win/chromoting_module.h"
+
+#include "base/lazy_instance.h"
+#include "base/logging.h"
+#include "base/message_loop.h"
+#include "base/run_loop.h"
+#include "remoting/base/auto_thread_task_runner.h"
+#include "remoting/host/host_exit_codes.h"
+#include "remoting/host/win/elevated_controller.h"
+
+namespace remoting {
+
+namespace {
+
+// Holds a reference to the task runner used by the module.
+base::LazyInstance<scoped_refptr<AutoThreadTaskRunner> > g_module_task_runner =
+ LAZY_INSTANCE_INITIALIZER;
+
+} // namespace
+
+ChromotingModule::ChromotingModule(
+ ATL::_ATL_OBJMAP_ENTRY* classes,
+ ATL::_ATL_OBJMAP_ENTRY* classes_end)
+ : classes_(classes),
+ classes_end_(classes_end) {
+ // Don't do anything if COM initialization failed.
+ if (!com_initializer_.succeeded())
+ return;
+
+ ATL::_AtlComModule.ExecuteObjectMain(true);
+}
+
+ChromotingModule::~ChromotingModule() {
+ // Don't do anything if COM initialization failed.
+ if (!com_initializer_.succeeded())
+ return;
+
+ Term();
+ ATL::_AtlComModule.ExecuteObjectMain(false);
+}
+
+// static
+scoped_refptr<AutoThreadTaskRunner> ChromotingModule::task_runner() {
+ return g_module_task_runner.Get();
+}
+
+bool ChromotingModule::Run() {
+ // Don't do anything if COM initialization failed.
+ if (!com_initializer_.succeeded())
+ return false;
+
+ // Register class objects.
+ HRESULT result = RegisterClassObjects(CLSCTX_LOCAL_SERVER,
+ REGCLS_MULTIPLEUSE | REGCLS_SUSPENDED);
+ if (FAILED(result)) {
+ LOG(ERROR) << "Failed to register class objects, result=0x"
+ << std::hex << result << std::dec << ".";
+ return false;
+ }
+
+ // Arrange to run |message_loop| until no components depend on it.
+ MessageLoop message_loop(MessageLoop::TYPE_UI);
+ base::RunLoop run_loop;
+ g_module_task_runner.Get() = new AutoThreadTaskRunner(
+ message_loop.message_loop_proxy(), run_loop.QuitClosure());
+
+ // Start accepting activations.
+ result = CoResumeClassObjects();
+ if (FAILED(result)) {
+ LOG(ERROR) << "CoResumeClassObjects() failed, result=0x"
+ << std::hex << result << std::dec << ".";
+ return false;
+ }
+
+ // Run the loop until the module lock counter reaches zero.
+ run_loop.Run();
+
+ // Unregister class objects.
+ result = RevokeClassObjects();
+ if (FAILED(result)) {
+ LOG(ERROR) << "Failed to unregister class objects, result=0x"
+ << std::hex << result << std::dec << ".";
+ return false;
+ }
+
+ return true;
+}
+
+LONG ChromotingModule::Unlock() {
+ LONG count = ATL::CAtlModuleT<ChromotingModule>::Unlock();
+
+ if (!count) {
+ // Stop accepting activations.
+ HRESULT hr = CoSuspendClassObjects();
+ CHECK(SUCCEEDED(hr));
+
+ // Release the message loop reference, causing the message loop to exit.
+ g_module_task_runner.Get() = NULL;
+ }
+
+ return count;
+}
+
+HRESULT ChromotingModule::RegisterClassObjects(DWORD class_context,
+ DWORD flags) {
+ for (ATL::_ATL_OBJMAP_ENTRY* i = classes_; i != classes_end_; ++i) {
+ HRESULT result = i->RegisterClassObject(class_context, flags);
+ if (FAILED(result))
+ return result;
+ }
+
+ return S_OK;
+}
+
+HRESULT ChromotingModule::RevokeClassObjects() {
+ for (ATL::_ATL_OBJMAP_ENTRY* i = classes_; i != classes_end_; ++i) {
+ HRESULT result = i->RevokeClassObject();
+ if (FAILED(result))
+ return result;
+ }
+
+ return S_OK;
+}
+
+// Elevated controller entry point.
+int ElevatedControllerMain() {
+ ATL::_ATL_OBJMAP_ENTRY elevated_controller_entry[] = {
+ OBJECT_ENTRY(__uuidof(ElevatedController), ElevatedController)
+ };
+
+ ChromotingModule module(elevated_controller_entry,
+ elevated_controller_entry + 1);
+ return module.Run() ? kSuccessExitCode : kInitializationFailed;
+}
+
+} // namespace remoting
diff --git a/remoting/host/win/chromoting_module.h b/remoting/host/win/chromoting_module.h
new file mode 100644
index 0000000..4a1bd2be
--- /dev/null
+++ b/remoting/host/win/chromoting_module.h
@@ -0,0 +1,71 @@
+// Copyright (c) 2013 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_WIN_CHROMOTING_MODULE_H_
+#define REMOTING_HOST_WIN_CHROMOTING_MODULE_H_
+
+#include <atlbase.h>
+#include <atlcom.h>
+#include <atlctl.h>
+
+#include "base/basictypes.h"
+#include "base/memory/ref_counted.h"
+#include "base/win/scoped_com_initializer.h"
+
+// MIDL-generated declarations.
+#include "remoting/host/chromoting_lib.h"
+
+namespace base {
+namespace win {
+class ScopedCOMInitializer;
+} // namespace win
+} // namespace base
+
+namespace remoting {
+
+class AutoThreadTaskRunner;
+
+// A custom version of |CAtlModuleT<>| that registers only those classes which
+// registration entries are passed to the constructor. |ChromotingModule| runs
+// |MessageLoop| allowing Chromium code to post tasks to it. Unlike
+// |CAtlExeModuleT<>|, |ChromotingModule| shuts itself down immediately once
+// the last COM object is released.
+class ChromotingModule : public ATL::CAtlModuleT<ChromotingModule> {
+ public:
+ // Initializes the module. |classes| and |classes_end| must outlive |this|.
+ ChromotingModule(ATL::_ATL_OBJMAP_ENTRY* classes,
+ ATL::_ATL_OBJMAP_ENTRY* classes_end);
+ virtual ~ChromotingModule();
+
+ // Returns the task runner used by the module. Returns NULL if the task runner
+ // hasn't been registered yet or if the server is shutting down.
+ static scoped_refptr<AutoThreadTaskRunner> task_runner();
+
+ // Registers COM classes and runs the main message loop until there are
+ // components using it.
+ bool Run();
+
+ // ATL::CAtlModuleT<> overrides
+ virtual LONG Unlock() OVERRIDE;
+
+ DECLARE_LIBID(LIBID_ChromotingLib)
+
+ private:
+ // Registers/unregisters class objects from |classes_| - |classes_end_|.
+ HRESULT RegisterClassObjects(DWORD class_context, DWORD flags);
+ HRESULT RevokeClassObjects();
+
+ // Used to initialize COM library.
+ base::win::ScopedCOMInitializer com_initializer_;
+
+ // Point to the vector of classes registered by this module.
+ ATL::_ATL_OBJMAP_ENTRY* classes_;
+ ATL::_ATL_OBJMAP_ENTRY* classes_end_;
+
+ DISALLOW_COPY_AND_ASSIGN(ChromotingModule);
+};
+
+} // namespace remoting
+
+#endif // REMOTING_HOST_WIN_CHROMOTING_MODULE_H_
diff --git a/remoting/host/win/elevated_controller.h b/remoting/host/win/elevated_controller.h
index 52beb80..3901bc1 100644
--- a/remoting/host/win/elevated_controller.h
+++ b/remoting/host/win/elevated_controller.h
@@ -12,7 +12,7 @@
#include "remoting/base/scoped_sc_handle_win.h"
// MIDL-generated declarations.
-#include "remoting/host/elevated_controller.h"
+#include "remoting/host/chromoting_lib.h"
namespace remoting {
@@ -21,7 +21,7 @@ class ATL_NO_VTABLE __declspec(uuid(DAEMON_CONTROLLER_CLSID)) ElevatedController
public ATL::CComCoClass<ElevatedController,
&__uuidof(ElevatedController)>,
public ATL::IDispatchImpl<IDaemonControl2, &IID_IDaemonControl2,
- &LIBID_ChromotingElevatedControllerLib, 1, 1> {
+ &LIBID_ChromotingLib, 1, 0> {
public:
// Declare the class factory that does not lock the ATL module. This is the
// same DECLARE_CLASSFACTORY() with the exception that ATL::CComObjectNoLock
@@ -69,8 +69,6 @@ class ATL_NO_VTABLE __declspec(uuid(DAEMON_CONTROLLER_CLSID)) ElevatedController
DECLARE_PROTECT_FINAL_CONSTRUCT()
};
-OBJECT_ENTRY_AUTO(__uuidof(ElevatedController), ElevatedController)
-
} // namespace remoting
#endif // REMOTING_HOST_WIN_ELEVATED_CONTROLLER_H_
diff --git a/remoting/host/win/elevated_controller_module.cc b/remoting/host/win/elevated_controller_module.cc
deleted file mode 100644
index a230e51..0000000
--- a/remoting/host/win/elevated_controller_module.cc
+++ /dev/null
@@ -1,24 +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.
-
-#include <atlbase.h>
-#include <atlcom.h>
-#include <atlctl.h>
-
-#include "remoting/host/win/elevated_controller.h"
-
-namespace remoting {
-
-class ElevatedControllerModule
- : public ATL::CAtlExeModuleT<ElevatedControllerModule> {
- public:
- DECLARE_LIBID(LIBID_ChromotingElevatedControllerLib)
-};
-
-int ElevatedControllerMain() {
- ElevatedControllerModule module;
- return module.WinMain(SW_HIDE);
-}
-
-} // namespace remoting
diff --git a/remoting/remoting.gyp b/remoting/remoting.gyp
index 4162bcf..7a73e44 100644
--- a/remoting/remoting.gyp
+++ b/remoting/remoting.gyp
@@ -89,9 +89,9 @@
'host_plugin_prefix': '',
}],
['OS=="win"', {
- # Use auto-generated CLSID for the daemon controller to make sure that
- # the newly installed version of the controller will be used during
- # upgrade even if there is an old instance running already.
+ # Use auto-generated CLSID to make sure that the newly installed COM
+ # classes will be used during/after upgrade even if there are old
+ # instances running already.
'daemon_controller_clsid': '<!(python tools/uuidgen.py)',
}],
],
@@ -590,7 +590,7 @@
['OS=="win"', {
'dependencies': [
'../google_update/google_update.gyp:google_update',
- 'remoting_controller_idl',
+ 'remoting_lib_idl',
],
# TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
'msvs_disabled_warnings': [4267, ],
@@ -664,7 +664,7 @@
'ISOLATION_AWARE_ENABLED=1',
],
'dependencies': [
- 'remoting_controller_idl',
+ 'remoting_lib_idl',
'remoting_version_resources',
],
'include_dirs': [
@@ -1125,16 +1125,16 @@
],
}, # end of target 'remoting_breakpad_tester'
{
- 'target_name': 'remoting_controller_idl',
+ 'target_name': 'remoting_lib_idl',
'type': 'static_library',
'sources': [
- 'host/win/elevated_controller_idl.templ',
- '<(SHARED_INTERMEDIATE_DIR)/remoting/host/elevated_controller.h',
- '<(SHARED_INTERMEDIATE_DIR)/remoting/host/elevated_controller.idl',
- '<(SHARED_INTERMEDIATE_DIR)/remoting/host/elevated_controller_i.c',
+ 'host/win/chromoting_lib_idl.templ',
+ '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.h',
+ '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.idl',
+ '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib_i.c',
],
# This target exports a hard dependency because dependent targets may
- # include elevated_controller.h, a generated header.
+ # include chromoting_lib.h, a generated header.
'hard_dependency': 1,
'msvs_settings': {
'VCMIDLTool': {
@@ -1151,7 +1151,7 @@
'rule_name': 'generate_idl',
'extension': 'templ',
'outputs': [
- '<(SHARED_INTERMEDIATE_DIR)/remoting/host/elevated_controller.idl',
+ '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.idl',
],
'action': [
'python',
@@ -1165,19 +1165,19 @@
'msvs_cygwin_shell': 0,
},
],
- }, # end of target 'remoting_controller_idl'
+ }, # end of target 'remoting_lib_idl'
- # Regenerates 'elevated_controller.rc' (used to embed
- # 'elevated_controller.tlb' into remoting_core.dll's resources) every
- # time 'elevated_controller_idl.templ' changes. Making remoting_core
- # depend on both this and 'remoting_controller_idl' targets ensures that
- # the resorces are rebuilt every time the type library is updated. GYP
- # alone is not smart enough to figure out this dependency on its own.
+ # Regenerates 'chromoting_lib.rc' (used to embed 'chromoting_lib.tlb'
+ # into remoting_core.dll's resources) every time
+ # 'chromoting_lib_idl.templ' changes. Making remoting_core depend on
+ # both this and 'remoting_lib_idl' targets ensures that the resorces
+ # are rebuilt every time the type library is updated. GYP alone is
+ # not smart enough to figure out this dependency on its own.
{
- 'target_name': 'remoting_controller_rc',
+ 'target_name': 'remoting_lib_rc',
'type': 'none',
'sources': [
- 'host/win/elevated_controller_idl.templ',
+ 'host/win/chromoting_lib_idl.templ',
],
'hard_dependency': 1,
'direct_dependent_settings': {
@@ -1190,16 +1190,16 @@
'rule_name': 'generate_rc',
'extension': 'templ',
'outputs': [
- '<(SHARED_INTERMEDIATE_DIR)/remoting/host/elevated_controller.rc',
+ '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.rc',
],
'action': [
- 'echo 1 typelib "remoting/host/elevated_controller.tlb" > <@(_outputs)',
+ 'echo 1 typelib "remoting/host/chromoting_lib.tlb" > <@(_outputs)',
],
'message': 'Generating <@(_outputs)',
'msvs_cygwin_shell': 0,
},
],
- }, # end of target 'remoting_controller_rc'
+ }, # end of target 'remoting_lib_rc'
{
'target_name': 'remoting_configurer',
'type': 'executable',
@@ -1318,20 +1318,19 @@
'../net/net.gyp:net',
'remoting_base',
'remoting_breakpad',
- 'remoting_controller_idl',
- 'remoting_controller_rc',
'remoting_host',
'remoting_host_event_logger',
'remoting_host_logging',
+ 'remoting_lib_idl',
+ 'remoting_lib_rc',
'remoting_me2me_host_static',
'remoting_protocol',
'remoting_version_resources',
],
'sources': [
- '<(SHARED_INTERMEDIATE_DIR)/remoting/host/elevated_controller.rc',
+ '<(SHARED_INTERMEDIATE_DIR)/remoting/host/chromoting_lib.rc',
'<(SHARED_INTERMEDIATE_DIR)/remoting/host/remoting_host_messages.rc',
'<(SHARED_INTERMEDIATE_DIR)/remoting/remoting_core_version.rc',
- 'base/scoped_sc_handle_win.h',
'host/chromoting_messages.cc',
'host/chromoting_messages.h',
'host/config_file_watcher.cc',
@@ -1361,12 +1360,13 @@
'host/sas_injector_win.cc',
'host/verify_config_window_win.cc',
'host/verify_config_window_win.h',
+ 'host/win/chromoting_module.cc',
+ 'host/win/chromoting_module.h',
'host/win/core.cc',
'host/win/core.rc',
'host/win/core_resource.h',
'host/win/elevated_controller.cc',
'host/win/elevated_controller.h',
- 'host/win/elevated_controller_module.cc',
'host/win/host_service.cc',
'host/win/host_service.h',
'host/win/omaha.cc',
@@ -1722,7 +1722,7 @@
],
'defs': [
'BRANDING=<(branding)',
- 'CONTROLLER_CLSID={<(daemon_controller_clsid)}',
+ 'DAEMON_CONTROLLER_CLSID={<(daemon_controller_clsid)}',
'REMOTING_MULTI_PROCESS=<(remoting_multi_process)',
'VERSION=<(version_full)',
],