Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(981)

Unified Diff: components/policy/core/common/cloud/cloud_policy_client.h

Issue 879233003: Initial RemoteCommandService (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@remote-commands
Patch Set: minor fixes Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/policy/core/common/cloud/cloud_policy_client.h
diff --git a/components/policy/core/common/cloud/cloud_policy_client.h b/components/policy/core/common/cloud/cloud_policy_client.h
index 4fefa864743c5f32ba3a94d1219c20c9f4d4bb97..d78bac95219795c625d7eda2de22c22a89464365 100644
--- a/components/policy/core/common/cloud/cloud_policy_client.h
+++ b/components/policy/core/common/cloud/cloud_policy_client.h
@@ -18,6 +18,7 @@
#include "base/observer_list.h"
#include "base/time/time.h"
#include "components/policy/core/common/cloud/cloud_policy_constants.h"
+#include "components/policy/core/common/remote_commands/remote_command_job.h"
#include "components/policy/policy_export.h"
#include "policy/proto/device_management_backend.pb.h"
@@ -42,12 +43,16 @@ class POLICY_EXPORT CloudPolicyClient {
public:
// Maps a (policy type, settings entity ID) pair to its corresponding
// PolicyFetchResponse.
- typedef std::map<std::pair<std::string, std::string>,
- enterprise_management::PolicyFetchResponse*> ResponseMap;
+ using ResponseMap = std::map<std::pair<std::string, std::string>,
+ enterprise_management::PolicyFetchResponse*>;
// A callback which receives boolean status of an operation. If the operation
// succeeded, |status| is true.
- typedef base::Callback<void(bool status)> StatusCallback;
+ using StatusCallback = base::Callback<void(bool status)>;
+
+ // A callback to send fetched remote commands back.
bartfab (slow) 2015/02/28 00:01:22 Nit: It sounds like the callback will send the com
binjin 2015/02/28 02:18:04 Done.
+ using RemoteCommandCallback = base::Callback<void(
+ const std::vector<enterprise_management::RemoteCommand>&)>;
// Observer interface for state and policy changes.
class POLICY_EXPORT Observer {
@@ -138,6 +143,16 @@ class POLICY_EXPORT CloudPolicyClient {
const enterprise_management::SessionStatusReportRequest* session_status,
const StatusCallback& callback);
+ // Attempts to fetch remote commands, with |last_command_id| being the last
+ // recorded command id and |command_results| being results for previous
bartfab (slow) 2015/02/28 00:01:22 Nit: s/id/ID/
binjin 2015/02/28 02:18:04 Done.
+ // commands which have not been reported yet. The |callback| will be called
+ // when the operation completes.
+ virtual void FetchRemoteCommands(
+ RemoteCommandJob::UniqueIDType last_command_id,
bartfab (slow) 2015/02/28 00:01:22 Nit: During the first fetch, there is no |last_com
binjin 2015/03/09 16:31:56 Done. Used negative numbers to indicate invalid co
+ const std::vector<enterprise_management::RemoteCommandResult>&
+ command_results,
+ const RemoteCommandCallback& callback);
+
// Adds an observer to be called back upon policy and state changes.
void AddObserver(Observer* observer);
@@ -267,6 +282,14 @@ class POLICY_EXPORT CloudPolicyClient {
int net_error,
const enterprise_management::DeviceManagementResponse& response);
+ // Callback for remote commands fetch requests.
bartfab (slow) 2015/02/28 00:01:22 Nit: s/commands/command/
binjin 2015/02/28 02:18:04 Done.
+ void OnRemoteCommandsFetched(
+ const DeviceManagementRequestJob* job,
+ const RemoteCommandCallback& callback,
+ DeviceManagementStatus status,
+ int net_error,
+ const enterprise_management::DeviceManagementResponse& response);
+
// Helper to remove a job from request_jobs_.
void RemoveJob(const DeviceManagementRequestJob* job);

Powered by Google App Engine
This is Rietveld 408576698