diff options
Diffstat (limited to 'guest/hals/camera/EmulatedCamera3.h')
-rw-r--r-- | guest/hals/camera/EmulatedCamera3.h | 196 |
1 files changed, 0 insertions, 196 deletions
diff --git a/guest/hals/camera/EmulatedCamera3.h b/guest/hals/camera/EmulatedCamera3.h deleted file mode 100644 index 92fbb4d7..00000000 --- a/guest/hals/camera/EmulatedCamera3.h +++ /dev/null @@ -1,196 +0,0 @@ -/* - * Copyright (C) 2013 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef HW_EMULATOR_CAMERA_EMULATED_CAMERA3_H -#define HW_EMULATOR_CAMERA_EMULATED_CAMERA3_H - -/** - * Contains declaration of a class EmulatedCamera that encapsulates - * functionality common to all version 3.0 emulated camera devices. Instances - * of this class (for each emulated camera) are created during the construction - * of the EmulatedCameraFactory instance. This class serves as an entry point - * for all camera API calls that defined by camera3_device_ops_t API. - */ - -#include "EmulatedBaseCamera.h" -#include "hardware/camera3.h" -#include "system/camera_metadata.h" - -namespace android { - -/** - * Encapsulates functionality common to all version 3.0 emulated camera devices - * - * Note that EmulatedCameraFactory instantiates an object of this class just - * once, when EmulatedCameraFactory instance gets constructed. Connection to / - * disconnection from the actual camera device is handled by calls to - * connectDevice(), and closeCamera() methods of this class that are invoked in - * response to hw_module_methods_t::open, and camera_device::close callbacks. - */ -class EmulatedCamera3 : public camera3_device, public EmulatedBaseCamera { - public: - /* Constructs EmulatedCamera3 instance. - * Param: - * cameraId - Zero based camera identifier, which is an index of the camera - * instance in camera factory's array. - * module - Emulated camera HAL module descriptor. - */ - EmulatedCamera3(int cameraId, struct hw_module_t *module); - - /* Destructs EmulatedCamera2 instance. */ - virtual ~EmulatedCamera3(); - - /* List of all defined capabilities plus useful HW levels */ - enum AvailableCapabilities { - BACKWARD_COMPATIBLE, - MANUAL_SENSOR, - MANUAL_POST_PROCESSING, - RAW, - PRIVATE_REPROCESSING, - READ_SENSOR_SETTINGS, - BURST_CAPTURE, - YUV_REPROCESSING, - DEPTH_OUTPUT, - CONSTRAINED_HIGH_SPEED_VIDEO, - // Levels - FULL_LEVEL, - - NUM_CAPABILITIES - }; - - // Char strings for above enum, with size NUM_CAPABILITIES - static const char *sAvailableCapabilitiesStrings[]; - - /**************************************************************************** - * Abstract API - ***************************************************************************/ - - public: - /**************************************************************************** - * Public API - ***************************************************************************/ - - public: - virtual status_t Initialize(const cvd::CameraDefinition ¶ms); - - /**************************************************************************** - * Camera module API and generic hardware device API implementation - ***************************************************************************/ - - public: - virtual status_t connectCamera(hw_device_t **device); - - virtual status_t closeCamera(); - - virtual status_t getCameraInfo(struct camera_info *info); - - /**************************************************************************** - * Camera API implementation. - * These methods are called from the camera API callback routines. - ***************************************************************************/ - - protected: - virtual status_t initializeDevice(const camera3_callback_ops *callbackOps); - - virtual status_t configureStreams(camera3_stream_configuration *streamList); - - virtual status_t registerStreamBuffers( - const camera3_stream_buffer_set *bufferSet); - - virtual const camera_metadata_t *constructDefaultRequestSettings(int type); - - virtual status_t processCaptureRequest(camera3_capture_request *request); - - virtual status_t flush(); - - /** Debug methods */ - - virtual void dump(int fd); - - /**************************************************************************** - * Camera API callbacks as defined by camera3_device_ops structure. See - * hardware/libhardware/include/hardware/camera3.h for information on each - * of these callbacks. Implemented in this class, these callbacks simply - * dispatch the call into an instance of EmulatedCamera3 class defined in - * the 'camera_device3' parameter. - ***************************************************************************/ - - private: - /** Startup */ - static int initialize(const struct camera3_device *, - const camera3_callback_ops_t *callback_ops); - - /** Stream configuration and buffer registration */ - - static int configure_streams(const struct camera3_device *, - camera3_stream_configuration_t *stream_list); - - static int register_stream_buffers( - const struct camera3_device *, - const camera3_stream_buffer_set_t *buffer_set); - - /** Template request settings provision */ - - static const camera_metadata_t *construct_default_request_settings( - const struct camera3_device *, int type); - - /** Submission of capture requests to HAL */ - - static int process_capture_request(const struct camera3_device *, - camera3_capture_request_t *request); - - static void dump(const camera3_device_t *, int fd); - - static int flush(const camera3_device_t *); - - /** For hw_device_t ops */ - static int close(struct hw_device_t *device); - - /**************************************************************************** - * Data members shared with implementations - ***************************************************************************/ - protected: - enum { - // State at construction time, and after a device operation error - STATUS_ERROR = 0, - // State after startup-time init and after device instance close - STATUS_CLOSED, - // State after being opened, before device instance init - STATUS_OPEN, - // State after device instance initialization - STATUS_READY, - // State while actively capturing data - STATUS_ACTIVE - } mStatus; - - /** - * Callbacks back to the framework - */ - - void sendCaptureResult(camera3_capture_result_t *result); - void sendNotify(camera3_notify_msg_t *msg); - - /**************************************************************************** - * Data members - ***************************************************************************/ - private: - static camera3_device_ops_t sDeviceOps; - const camera3_callback_ops_t *mCallbackOps; -}; - -}; /* namespace android */ - -#endif /* HW_EMULATOR_CAMERA_EMULATED_CAMERA3_H */ |