libgphoto2 photo camera library (libgphoto2) API  2.4.11
gphoto2-file.h
Go to the documentation of this file.
1 
25 #ifndef __GPHOTO2_FILE_H__
26 #define __GPHOTO2_FILE_H__
27 
28 #include <time.h>
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif /* __cplusplus */
33 
34 #define GP_MIME_WAV "audio/wav"
35 #define GP_MIME_RAW "image/x-raw"
36 #define GP_MIME_PNG "image/png"
37 #define GP_MIME_PGM "image/x-portable-graymap"
38 #define GP_MIME_PPM "image/x-portable-pixmap"
39 #define GP_MIME_PNM "image/x-portable-anymap"
40 #define GP_MIME_JPEG "image/jpeg"
41 #define GP_MIME_TIFF "image/tiff"
42 #define GP_MIME_BMP "image/bmp"
43 #define GP_MIME_QUICKTIME "video/quicktime"
44 #define GP_MIME_AVI "video/x-msvideo"
45 #define GP_MIME_CRW "image/x-canon-raw"
46 #define GP_MIME_CR2 "image/x-canon-cr2"
47 #define GP_MIME_UNKNOWN "application/octet-stream"
48 #define GP_MIME_EXIF "application/x-exif"
49 #define GP_MIME_MP3 "audio/mpeg"
50 #define GP_MIME_OGG "application/ogg"
51 #define GP_MIME_WMA "audio/x-wma"
52 #define GP_MIME_ASF "audio/x-asf"
53 #define GP_MIME_MPEG "video/mpeg"
54 #define GP_MIME_AVCHD "video/avchd"
55 
66 typedef enum {
76 
83 typedef enum {
87 
94 typedef struct _CameraFile CameraFile;
95 
96 int gp_file_new (CameraFile **file);
97 int gp_file_new_from_fd (CameraFile **file, int fd);
98 int gp_file_ref (CameraFile *file);
99 int gp_file_unref (CameraFile *file);
100 int gp_file_free (CameraFile *file);
101 
102 /* "Do not use those"
103  *
104  * These functions probably were originally intended for internal use only.
105  * However, due to
106  * - the lack of good documentation
107  * - this being the obvious way to save a file
108  * - the fact that libgphoto2 has been exporting all its internal
109  * symbols for years (until 2005-06)
110  * - our in-house frontends gphoto2 and gtkam using them
111  * a number of external frontends started to use these functions, as
112  * of 2005-06:
113  * - digikam
114  * - f-spot
115  * - gthumb
116  * But a few frontends can live without it (and thus are likely to
117  * use the correct API):
118  * - flphoto
119  * - kamera
120  *
121  * So we're going to phase these functions out over the next year or
122  * so, going the GTK way of keeping the ABI but breaking the API. So
123  * we'll continue to export functionally equivalent functions, but the
124  * header files will not contain definitions for you to use any more.
125  */
126 int gp_file_open (CameraFile *file, const char *filename);
127 int gp_file_save (CameraFile *file, const char *filename);
128 int gp_file_clean (CameraFile *file);
129 int gp_file_copy (CameraFile *destination, CameraFile *source);
130 
131 int gp_file_set_name (CameraFile *file, const char *name);
132 int gp_file_get_name (CameraFile *file, const char **name);
133 
134 int gp_file_set_mime_type (CameraFile *file, const char *mime_type);
135 int gp_file_get_mime_type (CameraFile *file, const char **mime_type);
136 
137 int gp_file_set_type (CameraFile *file, CameraFileType type);
138 int gp_file_get_type (CameraFile *file, CameraFileType *type);
139 
140 int gp_file_set_mtime (CameraFile *file, time_t mtime);
141 int gp_file_get_mtime (CameraFile *file, time_t *mtime);
142 
145 
146 int gp_file_append (CameraFile*, const char *data,
147  unsigned long int size);
148 int gp_file_slurp (CameraFile*, char *data,
149  size_t size, size_t *readlen);
150 int gp_file_set_data_and_size (CameraFile*, char *data,
151  unsigned long int size);
152 int gp_file_get_data_and_size (CameraFile*, const char **data,
153  unsigned long int *size);
154 
155 #ifdef __cplusplus
156 }
157 #endif /* __cplusplus */
158 
159 #endif /* __GPHOTO2_FILE_H__ */
int gp_file_set_mtime(CameraFile *file, time_t mtime)
Definition: gphoto2-file.c:1012
Definition: gphoto2-file.h:68
Definition: gphoto2-file.h:85
int gp_file_get_mtime(CameraFile *file, time_t *mtime)
Definition: gphoto2-file.c:995
int gp_file_get_name(CameraFile *file, const char **name)
Definition: gphoto2-file.c:793
Definition: gphoto2-file.h:67
Definition: gphoto2-file.h:73
int gp_file_set_mime_type(CameraFile *file, const char *mime_type)
Definition: gphoto2-file.c:844
int gp_file_unref(CameraFile *file)
Decrease reference counter for CameraFile object.
Definition: gphoto2-file.c:167
int gp_file_detect_mime_type(CameraFile *file)
Definition: gphoto2-file.c:860
int gp_file_append(CameraFile *file, const char *data, unsigned long int size)
Definition: gphoto2-file.c:188
int gp_file_copy(CameraFile *destination, CameraFile *source)
Definition: gphoto2-file.c:661
int gp_file_set_name(CameraFile *file, const char *name)
Definition: gphoto2-file.c:827
Definition: gphoto2-file.h:74
Definition: gphoto2-file.h:69
File structure.
int gp_file_save(CameraFile *file, const char *filename)
Definition: gphoto2-file.c:418
int gp_file_clean(CameraFile *file)
Definition: gphoto2-file.c:630
int gp_file_get_mime_type(CameraFile *file, const char **mime_type)
Definition: gphoto2-file.c:810
int gp_file_get_data_and_size(CameraFile *file, const char **data, unsigned long int *size)
Definition: gphoto2-file.c:350
int gp_file_get_type(CameraFile *file, CameraFileType *type)
Definition: gphoto2-file.c:978
Definition: gphoto2-file.h:72
int gp_file_slurp(CameraFile *file, char *data, size_t size, size_t *readlen)
Definition: gphoto2-file.c:240
int gp_file_new_from_fd(CameraFile **file, int fd)
Definition: gphoto2-file.c:107
int gp_file_ref(CameraFile *file)
Increase reference counter for CameraFile object.
Definition: gphoto2-file.c:150
int gp_file_set_type(CameraFile *file, CameraFileType type)
Definition: gphoto2-file.c:961
Definition: gphoto2-file.h:84
int gp_file_free(CameraFile *file)
descruct a CameraFile object.
Definition: gphoto2-file.c:130
int gp_file_new(CameraFile **file)
Definition: gphoto2-file.c:83
int gp_file_set_data_and_size(CameraFile *file, char *data, unsigned long int size)
Definition: gphoto2-file.c:288
CameraFileAccessType
File storage type.
Definition: gphoto2-file.h:83
int gp_file_adjust_name_for_mime_type(CameraFile *file)
Definition: gphoto2-file.c:914
CameraFileType
The type of view on the specified file.
Definition: gphoto2-file.h:66
int gp_file_open(CameraFile *file, const char *filename)
Definition: gphoto2-file.c:511
Definition: gphoto2-file.c:58