hwc: add qdcm service to be loaded in HWC and perform service

 1. Add one binder command to display.qservice to serve the
    binder requests received from SDK.
 2. Each subcommand will be corresponding to one command
    handler. Command handler will pass the requests to
    qdcm library.
 3. Dynamically load qdcm library, where all apis are
    implemented.
 4. apply default mode function will be invoked once
    bootanimation event is detected

Change-Id: I28fdf5f2561fcaffbfd3b7a1e9b136a4c372300e
diff --git a/libhwcomposer/hwc_utils.h b/libhwcomposer/hwc_utils.h
index af43514..ac61e68 100644
--- a/libhwcomposer/hwc_utils.h
+++ b/libhwcomposer/hwc_utils.h
@@ -55,6 +55,10 @@
 
 namespace ovutils = overlay::utils;
 
+namespace qmode {
+class ModeManager;
+}
+
 namespace overlay {
 class Overlay;
 class Rotator;
@@ -611,6 +615,13 @@
     EGLDisplay mEGLDisplay;
 };
 
+//struct holds the information about libmm-qdcm.so
+struct qdcm_info {
+    qmode::ModeManager *mQdcmMode;
+    void *mQdcmLib;
+    bool  mBootAnimCompleted;
+};
+
 // -----------------------------------------------------------------------------
 // HWC context
 // This structure contains overall state
@@ -698,6 +709,8 @@
     bool mBootAnimCompleted;
     // Display binder service
     qService::QService* mQService;
+    //struct holds the information about display tuning service library.
+    struct qdcm_info mQdcmInfo;
 };
 
 namespace qhwc {