libgphoto2 photo camera library (libgphoto2) API 2.4.11

- Main Page
- Related Pages
- Data Structures
- Files
- Directories

- File List
- Globals

gphoto2-abilities-list.h
Go to the documentation of this file.

    00001
    00025 #ifndef __GPHOTO2_ABILITIES_LIST_H__
    00026 #define __GPHOTO2_ABILITIES_LIST_H__
    00027
    00028 #include <gphoto2/gphoto2-context.h>
    00029 #include <gphoto2/gphoto2-list.h>
    00030 #include <gphoto2/gphoto2-port-info-list.h>
    00031
    00032 #include <gphoto2/gphoto2-port-log.h>
    00033
    00034 #ifdef __cplusplus
    00035 extern "C" {
    00036 #endif /* __cplusplus */
    00037
    00041 typedef enum {
    00042         GP_DRIVER_STATUS_PRODUCTION,
    00043         GP_DRIVER_STATUS_TESTING,
    00044         GP_DRIVER_STATUS_EXPERIMENTAL,
    00045         GP_DRIVER_STATUS_DEPRECATED
    00046 } CameraDriverStatus;
    00047
    00052 typedef enum {
    00053         GP_DEVICE_STILL_CAMERA          = 0,
    00054         GP_DEVICE_AUDIO_PLAYER          = 1 << 0
    00055 } GphotoDeviceType;
    00056
    00061 typedef enum {
    00062         GP_OPERATION_NONE               = 0,
    00063         GP_OPERATION_CAPTURE_IMAGE      = 1 << 0,
    00064         GP_OPERATION_CAPTURE_VIDEO      = 1 << 1,
    00065         GP_OPERATION_CAPTURE_AUDIO      = 1 << 2,
    00066         GP_OPERATION_CAPTURE_PREVIEW    = 1 << 3,
    00067         GP_OPERATION_CONFIG             = 1 << 4
    00068 } CameraOperation;
    00069
    00073 typedef enum {
    00074         GP_FILE_OPERATION_NONE          = 0,
    00075         GP_FILE_OPERATION_DELETE        = 1 << 1,
    00076         GP_FILE_OPERATION_PREVIEW       = 1 << 3,
    00077         GP_FILE_OPERATION_RAW           = 1 << 4,
    00078         GP_FILE_OPERATION_AUDIO         = 1 << 5,
    00079         GP_FILE_OPERATION_EXIF          = 1 << 6
    00080 } CameraFileOperation;
    00081
    00085 typedef enum {
    00086         GP_FOLDER_OPERATION_NONE        = 0,
    00087         GP_FOLDER_OPERATION_DELETE_ALL  = 1 << 0,
    00088         GP_FOLDER_OPERATION_PUT_FILE    = 1 << 1,
    00089         GP_FOLDER_OPERATION_MAKE_DIR    = 1 << 2,
    00090         GP_FOLDER_OPERATION_REMOVE_DIR  = 1 << 3
    00091 } CameraFolderOperation;
    00092
    00093 #ifdef _GPHOTO2_INTERNAL_CODE
    00094
    00095   /* enum CameraOperation */
    00096   extern const StringFlagItem gpi_camera_operation_map[];
    00097
    00098   /* enum CameraFileOperation */
    00099   extern const StringFlagItem gpi_file_operation_map[];
    00100
    00101   /* enum CameraFolderOperation */
    00102   extern const StringFlagItem gpi_folder_operation_map[];
    00103
    00104   /* enum GphotoDeviceType */
    00105   extern const StringFlagItem gpi_gphoto_device_type_map[];
    00106
    00107   /* enum CameraDriverStatus */
    00108   extern const StringFlagItem gpi_camera_driver_status_map[];
    00109
    00110 #endif /* _GPHOTO2_INTERNAL_CODE */
    00111
    00112
    00119 typedef struct {
    00120         char model [128];
    00121         CameraDriverStatus status;
    00124         GPPortType port;
    00126         int speed [64];
    00127
    00128         /* Supported operations */
    00129         CameraOperation       operations;
    00130         CameraFileOperation   file_operations;
    00131         CameraFolderOperation folder_operations;
    00133         int usb_vendor;
    00134         int usb_product;
    00135         int usb_class;
    00136         int usb_subclass;
    00137         int usb_protocol;
    00139         /* For core use */
    00140         char library [1024];
    00141         char id [1024];
    00143         GphotoDeviceType        device_type;
    00146         int reserved2;
    00147         int reserved3;
    00148         int reserved4;
    00149         int reserved5;
    00150         int reserved6;
    00151         int reserved7;
    00152         int reserved8;
    00153 } CameraAbilities;
    00154
    00155
    00161 typedef struct _CameraAbilitiesList CameraAbilitiesList;
    00162
    00163
    00164 int gp_abilities_list_new    (CameraAbilitiesList **list);
    00165 int gp_abilities_list_free   (CameraAbilitiesList *list);
    00166
    00167 int gp_abilities_list_load   (CameraAbilitiesList *list, GPContext *context);
    00168 int gp_abilities_list_reset  (CameraAbilitiesList *list);
    00169
    00170 int gp_abilities_list_detect (CameraAbilitiesList *list,
    00171                               GPPortInfoList *info_list, CameraList *l,
    00172                               GPContext *context);
    00173
    00174 int gp_abilities_list_append (CameraAbilitiesList *list,
    00175                               CameraAbilities abilities);
    00176
    00177 int gp_abilities_list_count  (CameraAbilitiesList *list);
    00178
    00179 int gp_abilities_list_lookup_model (CameraAbilitiesList *list,
    00180                                     const char *model);
    00181
    00182 int gp_abilities_list_get_abilities (CameraAbilitiesList *list, int index,
    00183                                      CameraAbilities *abilities);
    00184
    00185 const char *gp_message_codeset (const char *);
    00186
    00187
    00195 #ifdef _GPHOTO2_INTERNAL_CODE
    00196 #define CAMLIBDIR_ENV "CAMLIBS"
    00197 #endif /* _GPHOTO2_INTERNAL_CODE */
    00198
    00199
    00200 #ifdef __cplusplus
    00201 }
    00202 #endif /* __cplusplus */
    00203
    00204 #endif /* __GPHOTO2_ABILITIES_LIST_H__ */