Revert "drm_hwcomposer: remove compositor interface"

This reverts commit 7912438911de042dc035cf1ea39daaf4e56bf9f3.

For now until we can get back to a stable SF/compositor.

Change-Id: I2ba7cab4f1cccfe44b3d35fb18c7784125e88fd6
diff --git a/drmcompositor.cpp b/drmcompositor.cpp
index 082e75d..3bab93f 100644
--- a/drmcompositor.cpp
+++ b/drmcompositor.cpp
@@ -47,7 +47,7 @@
   return 0;
 }
 
-DrmComposition *DrmCompositor::CreateComposition(Importer *importer) {
+Composition *DrmCompositor::CreateComposition(Importer *importer) {
   DrmComposition *composition = new DrmComposition(drm_, importer);
   if (!composition) {
     ALOGE("Failed to allocate drm composition");
@@ -62,8 +62,10 @@
   return composition;
 }
 
-int DrmCompositor::QueueComposition(DrmComposition *composition) {
-  int ret = composition->DisableUnusedPlanes();
+int DrmCompositor::QueueComposition(Composition *composition) {
+  DrmComposition *drm_composition = (DrmComposition *)composition;
+
+  int ret = drm_composition->DisableUnusedPlanes();
   if (ret) {
     ALOGE("Failed to disable unused planes %d", ret);
     return ret;
@@ -73,7 +75,7 @@
        iter != drm_->end_connectors(); ++iter) {
     int display = (*iter)->display();
     int ret = compositor_map_[display].QueueComposition(
-        composition->TakeDisplayComposition(display));
+        drm_composition->TakeDisplayComposition(display));
     if (ret) {
       ALOGE("Failed to queue composition for display %d", display);
       delete composition;