Merge "ICameraServiceListener.h: Add STATUS_ENUMERATING enum" into jb-mr2-dev
diff --git a/include/camera/ICameraServiceListener.h b/include/camera/ICameraServiceListener.h
index 207116a..88860dd 100644
--- a/include/camera/ICameraServiceListener.h
+++ b/include/camera/ICameraServiceListener.h
@@ -28,11 +28,30 @@
 {
 public:
 
+    /**
+     * Initial status will be transmitted with onStatusChange immediately
+     * after this listener is added to the service listener list.
+     *
+     * Allowed transitions:
+     *
+     *     (Any)               -> NOT_PRESENT
+     *     NOT_PRESENT         -> PRESENT
+     *     NOT_PRESENT         -> ENUMERATING
+     *     ENUMERATING         -> PRESENT
+     *     PRESENT             -> AVAILABLE
+     *     AVAILABLE           -> NOT_AVAILABLE
+     *     NOT_AVAILABLE       -> AVAILABLE
+     *
+     * A state will never immediately transition back to itself.
+     */
     enum Status {
         // Device physically unplugged
-        STATUS_PRESENT          = CAMERA_DEVICE_STATUS_PRESENT,
-        // Device physically re-plugged
         STATUS_NOT_PRESENT      = CAMERA_DEVICE_STATUS_NOT_PRESENT,
+        // Device physically has been plugged in
+        STATUS_PRESENT          = CAMERA_DEVICE_STATUS_PRESENT,
+        // Device physically has been plugged in
+        //   but it will not be connect-able until enumeration is complete
+        STATUS_ENUMERATING      = CAMERA_DEVICE_STATUS_ENUMERATING,
 
         // Camera can be used exclusively
         STATUS_AVAILABLE        = 0x80000000,