Index: components/proximity_auth/remote_status_update.h |
diff --git a/components/proximity_auth/remote_status_update.h b/components/proximity_auth/remote_status_update.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..261ae7ae990934b3efaec2dadcb041123e11d9ee |
--- /dev/null |
+++ b/components/proximity_auth/remote_status_update.h |
@@ -0,0 +1,53 @@ |
+// Copyright 2014 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_PROXIMITY_AUTH_REMOTE_STATUS_UPDATE_H |
+#define COMPONENTS_PROXIMITY_AUTH_REMOTE_STATUS_UPDATE_H |
+ |
+#include "base/memory/scoped_ptr.h" |
+ |
+namespace base { |
+class DictionaryValue; |
+} |
+ |
+namespace proximity_auth { |
+ |
+// Corresponds to the possible values for the 'user_presence' status update |
+// field. |
+enum UserPresence { |
+ USER_PRESENT, |
+ USER_ABSENT, |
+ USER_PRESENCE_UNKNOWN, |
+}; |
+ |
+// Corresponds to the possible values for the 'secure_screen_lock' status update |
+// field. |
+enum SecureScreenLockState { |
+ SECURE_SCREEN_LOCK_ENABLED, |
+ SECURE_SCREEN_LOCK_DISABLED, |
+ SECURE_SCREEN_LOCK_STATE_UNKNOWN, |
+}; |
+ |
+// Corresponds to the possible values for the 'trust_agent' status update field. |
+enum TrustAgentState { |
+ TRUST_AGENT_ENABLED, |
+ TRUST_AGENT_DISABLED, |
+ TRUST_AGENT_UNSUPPORTED, |
+}; |
+ |
+// Represents a 'status_update' message received from the remote device. |
+struct RemoteStatusUpdate { |
+ // Parses a dictionary value into a RemoteStatusUpdate. Returns a null pointer |
+ // if the serialized dictionary value is not valid. |
+ static scoped_ptr<RemoteStatusUpdate> Deserialize( |
+ const base::DictionaryValue& serialized_value); |
+ |
+ UserPresence user_presence; |
+ SecureScreenLockState secure_screen_lock_state; |
+ TrustAgentState trust_agent_state; |
+}; |
+ |
+} // namespace proximity_auth |
+ |
+#endif // COMPONENTS_PROXIMITY_AUTH_REMOTE_STATUS_UPDATE_H |