Initial static info.

Fills in initial values for all required static info
fields for LIMITED devices. Currently fakes entries
that will eventually be queried from the device (open
bug https://b/29394024).

BUG: https://b/29214526, https://b/29221641
Change-Id: I6b4bfa172c882df22159da63378902cea7cc76fd
diff --git a/modules/camera/3_4/Camera.h b/modules/camera/3_4/Camera.h
index 3ecd0a8..a61cee2 100644
--- a/modules/camera/3_4/Camera.h
+++ b/modules/camera/3_4/Camera.h
@@ -59,7 +59,7 @@
         // Disconnect from the device: close dev nodes, etc.
         virtual void disconnect() = 0;
         // Initialize static camera characteristics for individual device
-        virtual camera_metadata_t *initStaticInfo() = 0;
+        virtual int initStaticInfo(camera_metadata_t **out) = 0;
         // Initialize device info: facing, orientation, resource cost,
         // and conflicting devices (/conflicting devices length)
         virtual void initDeviceInfo(struct camera_info *info) = 0;
@@ -68,7 +68,7 @@
         // Separate initialization method for individual devices when opened
         virtual int initDevice() = 0;
         // Accessor used by initDevice() to set the templates' metadata
-        int setTemplate(int type, camera_metadata_t *static_info);
+        int setTemplate(int type, const camera_metadata_t *static_info);
         // Prettyprint template names
         const char* templateToString(int type);