1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- // 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_CONFIG_FILE_WATCHER_H_
- #define REMOTING_HOST_CONFIG_FILE_WATCHER_H_
- #include "base/compiler_specific.h"
- #include "base/files/file_path.h"
- #include "base/memory/ref_counted.h"
- #include "remoting/host/config_watcher.h"
- namespace base {
- class SingleThreadTaskRunner;
- } // namespace base
- namespace remoting {
- extern const char kHostConfigSwitchName[];
- extern const base::FilePath::CharType kDefaultHostConfigFile[];
- class ConfigFileWatcherImpl;
- class ConfigFileWatcher : public ConfigWatcher {
- public:
- // Creates a configuration file watcher that lives at the |io_task_runner|
- // thread but posts config file updates on on |main_task_runner|.
- ConfigFileWatcher(
- scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
- scoped_refptr<base::SingleThreadTaskRunner> io_task_runner,
- const base::FilePath& config_path);
- ConfigFileWatcher(const ConfigFileWatcher&) = delete;
- ConfigFileWatcher& operator=(const ConfigFileWatcher&) = delete;
- ~ConfigFileWatcher() override;
- // Inherited from ConfigWatcher.
- void Watch(Delegate* delegate) override;
- private:
- scoped_refptr<ConfigFileWatcherImpl> impl_;
- };
- } // namespace remoting
- #endif // REMOTING_HOST_CONFIG_FILE_WATCHER_H_
|