make multi-display more real

- displays are represented by a binder on the client side
- c++ clients can now create and modify displays

Change-Id: I203ea5b4beae0819d742ec5171c27568f4e8354b
diff --git a/include/private/gui/LayerState.h b/include/private/gui/LayerState.h
index 90e74a9..9765e28 100644
--- a/include/private/gui/LayerState.h
+++ b/include/private/gui/LayerState.h
@@ -106,14 +106,21 @@
         eOrientationSwapMask    = 0x01
     };
 
-    int32_t             displayId;
+    enum {
+        eSurfaceChanged     = 0x1,
+        eLayerStackChanged  = 0x2,
+        eTransformChanged   = 0x4
+    };
+
+    uint32_t what;
+    sp<IBinder> token;
     sp<ISurfaceTexture> surface;
-    uint32_t            layerStack;
-    uint32_t            orientation;
-    Rect                viewport;
-    Rect                frame;
-    status_t    write(Parcel& output) const;
-    status_t    read(const Parcel& input);
+    uint32_t layerStack;
+    uint32_t orientation;
+    Rect viewport;
+    Rect frame;
+    status_t write(Parcel& output) const;
+    status_t read(const Parcel& input);
 };
 
 }; // namespace android