// Copyright 2015 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_POLICY_CORE_COMMON_REMOTE_COMMANDS_REMOTE_COMMANDS_QUEUE_H_ #define COMPONENTS_POLICY_CORE_COMMON_REMOTE_COMMANDS_REMOTE_COMMANDS_QUEUE_H_ #include <memory> #include "base/containers/queue.h" #include "base/memory/raw_ptr.h" #include "base/observer_list.h" #include "base/timer/timer.h" #include "components/policy/policy_export.h" namespace base { class Clock; class TickClock; } // namespace base namespace policy { class RemoteCommandJob; // This class manages the execution of multiple instances of RemoteCommandJob. // It runs all commands one by one in order from the same thread, i.e. there // will be at most one running command at any given time. // Although the queue lives on a single thread and manages the command execution // from the same thread, the actual command processing happens asynchronously in // the background. class POLICY_EXPORT RemoteCommandsQueue { … }; } // namespace policy #endif // COMPONENTS_POLICY_CORE_COMMON_REMOTE_COMMANDS_REMOTE_COMMANDS_QUEUE_H_