Chromium Code Reviews| 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..f2377834bde0af7563c88f766d43f6c51d99b59d 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,17 @@ 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 which received fetched remote commands. |
|
bartfab (slow)
2015/03/10 16:09:21
Nit: Sorry, I mistyped. I meant s/received/receive
binjin
2015/03/12 11:03:15
Done.
|
| + using RemoteCommandCallback = base::Callback<void( |
| + DeviceManagementStatus, |
| + const std::vector<enterprise_management::RemoteCommand>&)>; |
| // Observer interface for state and policy changes. |
| class POLICY_EXPORT Observer { |
| @@ -138,6 +144,17 @@ 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 |
| + // commands which have not been reported yet. The |callback| will be called |
| + // when the operation completes. A negative last command ID indicates that |
|
bartfab (slow)
2015/03/10 16:09:20
Sorry, but a negative command ID cannot be used as
binjin
2015/03/12 11:03:15
Done.
|
| + // no command was recorded. |
| + virtual void FetchRemoteCommands( |
| + RemoteCommandJob::UniqueIDType last_command_id, |
| + 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 +284,14 @@ class POLICY_EXPORT CloudPolicyClient { |
| int net_error, |
| const enterprise_management::DeviceManagementResponse& response); |
| + // Callback for remote command fetch requests. |
| + 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); |