diff options
Diffstat (limited to 'include/camera/ICameraService.h')
-rw-r--r-- | include/camera/ICameraService.h | 49 |
1 files changed, 47 insertions, 2 deletions
diff --git a/include/camera/ICameraService.h b/include/camera/ICameraService.h index f342122..f7f06bb 100644 --- a/include/camera/ICameraService.h +++ b/include/camera/ICameraService.h @@ -31,6 +31,8 @@ class ICameraServiceListener; class ICameraDeviceUser; class ICameraDeviceCallbacks; class CameraMetadata; +class VendorTagDescriptor; +class String16; class ICameraService : public IInterface { @@ -47,21 +49,40 @@ public: ADD_LISTENER, REMOVE_LISTENER, GET_CAMERA_CHARACTERISTICS, + GET_CAMERA_VENDOR_TAG_DESCRIPTOR, + GET_LEGACY_PARAMETERS, + SUPPORTS_CAMERA_API, + CONNECT_LEGACY, }; enum { USE_CALLING_UID = -1 }; + enum { + API_VERSION_1 = 1, + API_VERSION_2 = 2, + }; + + enum { + CAMERA_HAL_API_VERSION_UNSPECIFIED = -1 + }; + public: DECLARE_META_INTERFACE(CameraService); virtual int32_t getNumberOfCameras() = 0; virtual status_t getCameraInfo(int cameraId, - struct CameraInfo* cameraInfo) = 0; + /*out*/ + struct CameraInfo* cameraInfo) = 0; virtual status_t getCameraCharacteristics(int cameraId, - CameraMetadata* cameraInfo) = 0; + /*out*/ + CameraMetadata* cameraInfo) = 0; + + virtual status_t getCameraVendorTagDescriptor( + /*out*/ + sp<VendorTagDescriptor>& desc) = 0; // Returns 'OK' if operation succeeded // - Errors: ALREADY_EXISTS if the listener was already added @@ -97,6 +118,30 @@ public: int clientUid, /*out*/ sp<ICameraDeviceUser>& device) = 0; + + virtual status_t getLegacyParameters( + int cameraId, + /*out*/ + String16* parameters) = 0; + + /** + * Returns OK if device supports camera2 api, + * returns -EOPNOTSUPP if it doesn't. + */ + virtual status_t supportsCameraApi( + int cameraId, int apiVersion) = 0; + + /** + * Connect the device as a legacy device for a given HAL version. + * For halVersion, use CAMERA_API_DEVICE_VERSION_* for a particular + * version, or CAMERA_HAL_API_VERSION_UNSPECIFIED for a service-selected version. + */ + virtual status_t connectLegacy(const sp<ICameraClient>& cameraClient, + int cameraId, int halVersion, + const String16& clientPackageName, + int clientUid, + /*out*/ + sp<ICamera>& device) = 0; }; // ---------------------------------------------------------------------------- |