diff options
Diffstat (limited to 'chromium/components/policy/core/common/remote_commands/remote_commands_factory.h')
-rw-r--r-- | chromium/components/policy/core/common/remote_commands/remote_commands_factory.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/chromium/components/policy/core/common/remote_commands/remote_commands_factory.h b/chromium/components/policy/core/common/remote_commands/remote_commands_factory.h new file mode 100644 index 00000000000..02242797dc2 --- /dev/null +++ b/chromium/components/policy/core/common/remote_commands/remote_commands_factory.h @@ -0,0 +1,32 @@ +// Copyright 2015 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 COMPONENTS_POLICY_CORE_COMMON_REMOTE_COMMANDS_REMOTE_COMMANDS_FACTORY_H_ +#define COMPONENTS_POLICY_CORE_COMMON_REMOTE_COMMANDS_REMOTE_COMMANDS_FACTORY_H_ + +#include <memory> + +#include "components/policy/policy_export.h" +#include "components/policy/proto/device_management_backend.pb.h" + +namespace policy { + +class RemoteCommandJob; +class RemoteCommandsService; + +// An interface class for creating remote commands based on command type. +class POLICY_EXPORT RemoteCommandsFactory { + public: + RemoteCommandsFactory& operator=(const RemoteCommandsFactory&) = delete; + + virtual ~RemoteCommandsFactory(); + + virtual std::unique_ptr<RemoteCommandJob> BuildJobForType( + enterprise_management::RemoteCommand_Type type, + RemoteCommandsService* service) = 0; +}; + +} // namespace policy + +#endif // COMPONENTS_POLICY_CORE_COMMON_REMOTE_COMMANDS_REMOTE_COMMANDS_FACTORY_H_ |