First prototype atttempting to support an external display

both API and implementation will change, this is just a prototype
intended to show feasability.

SurfaceFlinger is passed an ISurfaceTexture through a new
callback, it is in turn used to create an EGLSurface which
surfaceflinger will draw into in addition to the main screen.

Change-Id: Id0bbb0b854bb7bae44d57246a90b65d4567f9a21
diff --git a/services/surfaceflinger/SurfaceFlinger.h b/services/surfaceflinger/SurfaceFlinger.h
index c3efdbc..8256fef 100644
--- a/services/surfaceflinger/SurfaceFlinger.h
+++ b/services/surfaceflinger/SurfaceFlinger.h
@@ -153,6 +153,8 @@
             // called when screen is turning back on
     virtual void                        unblank();
 
+    virtual void connectDisplay(const sp<ISurfaceTexture> display);
+
             // called on the main thread in response to screenReleased()
             void onScreenReleased();
             // called on the main thread in response to screenAcquired()
@@ -388,6 +390,11 @@
 
    // only written in the main thread, only read in other threads
    volatile     int32_t                     mSecureFrameBuffer;
+
+
+   EGLSurface getExternalDisplaySurface() const;
+   sp<SurfaceTextureClient> mExternalDisplayNativeWindow;
+   EGLSurface mExternalDisplaySurface;
 };
 
 // ---------------------------------------------------------------------------