Home | History | Annotate | Download | only in camera
      1 /*
      2 ** Copyright (c) 2011 The Linux Foundation. All rights reserved.
      3 **
      4 ** Licensed under the Apache License, Version 2.0 (the "License");
      5 ** you may not use this file except in compliance with the License.
      6 ** You may obtain a copy of the License at
      7 **
      8 **     http://www.apache.org/licenses/LICENSE-2.0
      9 **
     10 ** Unless required by applicable law or agreed to in writing, software
     11 ** distributed under the License is distributed on an "AS IS" BASIS,
     12 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13 ** See the License for the specific language governing permissions and
     14 ** limitations under the License.
     15 */
     16 
     17 #ifndef ANDROID_HARDWARE_QUALCOMM_CAMERA_H
     18 #define ANDROID_HARDWARE_QUALCOMM_CAMERA_H
     19 
     20 
     21 //#include <camera/CameraHardwareInterface.h>
     22 
     23 extern "C" {
     24 #include <hardware/camera.h>
     25 
     26   int get_number_of_cameras();
     27   int get_camera_info(int camera_id, struct camera_info *info);
     28 
     29   int camera_device_open(const struct hw_module_t* module, const char* id,
     30           struct hw_device_t** device);
     31 
     32   hw_device_t * open_camera_device(int cameraId);
     33 
     34   int close_camera_device( hw_device_t *);
     35 
     36 namespace android {
     37   int set_preview_window(struct camera_device *,
     38           struct preview_stream_ops *window);
     39   void set_callbacks(struct camera_device *,
     40           camera_notify_callback notify_cb,
     41           camera_data_callback data_cb,
     42           camera_data_timestamp_callback data_cb_timestamp,
     43           camera_request_memory get_memory,
     44           void *user);
     45 
     46   void enable_msg_type(struct camera_device *, int32_t msg_type);
     47 
     48   void disable_msg_type(struct camera_device *, int32_t msg_type);
     49   int msg_type_enabled(struct camera_device *, int32_t msg_type);
     50 
     51   int start_preview(struct camera_device *);
     52 
     53   void stop_preview(struct camera_device *);
     54 
     55   int preview_enabled(struct camera_device *);
     56   int store_meta_data_in_buffers(struct camera_device *, int enable);
     57 
     58   int start_recording(struct camera_device *);
     59 
     60   void stop_recording(struct camera_device *);
     61 
     62   int recording_enabled(struct camera_device *);
     63 
     64   void release_recording_frame(struct camera_device *,
     65                   const void *opaque);
     66 
     67   int auto_focus(struct camera_device *);
     68 
     69   int cancel_auto_focus(struct camera_device *);
     70 
     71   int take_picture(struct camera_device *);
     72 
     73   int cancel_picture(struct camera_device *);
     74 
     75   int set_parameters(struct camera_device *, const char *parms);
     76 
     77   char* get_parameters(struct camera_device *);
     78 
     79   void put_parameters(struct camera_device *, char *);
     80 
     81   int send_command(struct camera_device *,
     82               int32_t cmd, int32_t arg1, int32_t arg2);
     83 
     84   void release(struct camera_device *);
     85 
     86   int dump(struct camera_device *, int fd);
     87 
     88 
     89 
     90 }; // namespace android
     91 
     92 } //extern "C"
     93 
     94 #endif
     95 
     96