exif-loader.h File Reference

Defines the ExifLoader type. More...

#include <libexif/exif-data.h>
#include <libexif/exif-log.h>
#include <libexif/exif-mem.h>

Go to the source code of this file.

Typedefs

typedef struct _ExifLoader ExifLoader
 Data used by the loader interface.

Functions

ExifLoaderexif_loader_new (void)
 Allocate a new ExifLoader.
ExifLoaderexif_loader_new_mem (ExifMem *mem)
 Allocate a new ExifLoader using the specified memory allocator.
void exif_loader_ref (ExifLoader *loader)
 Increase the refcount of the ExifLoader.
void exif_loader_unref (ExifLoader *loader)
 Decrease the refcount of the ExifLoader.
void exif_loader_write_file (ExifLoader *loader, const char *fname)
 Load a file into the given ExifLoader from the filesystem.
unsigned char exif_loader_write (ExifLoader *loader, unsigned char *buf, unsigned int sz)
 Load a buffer into the ExifLoader from a memory buffer.
void exif_loader_reset (ExifLoader *loader)
 Free any data previously loaded and reset the ExifLoader to its newly-initialized state.
ExifDataexif_loader_get_data (ExifLoader *loader)
 Create an ExifData from the data in the loader.
void exif_loader_get_buf (ExifLoader *loader, const unsigned char **buf, unsigned int *buf_size)
 Return the data read by the loader.
void exif_loader_log (ExifLoader *loader, ExifLog *log)
 Set the log message object used by this ExifLoader.


Detailed Description

Defines the ExifLoader type.


Function Documentation

void exif_loader_get_buf ( ExifLoader loader,
const unsigned char **  buf,
unsigned int *  buf_size 
)

Return the data read by the loader.

The returned pointer is only guaranteed to be valid until the next call to a function modifying this ExifLoader. Either or both of buf and buf_size may be NULL on entry, in which case that value is not returned.

Parameters:
[in] loader the loader
[out] buf read-only pointer to the data read by the loader, or NULL in case of error
[out] buf_size size of the data at buf, or 0 in case of error

ExifData* exif_loader_get_data ( ExifLoader loader  ) 

Create an ExifData from the data in the loader.

The loader must already contain data from a previous call to exif_loader_write_file or exif_loader_write.

Parameters:
[in] loader the loader
Returns:
allocated ExifData

void exif_loader_log ( ExifLoader loader,
ExifLog log 
)

Set the log message object used by this ExifLoader.

Parameters:
[in] loader the loader
[in] log ExifLog

ExifLoader* exif_loader_new ( void   ) 

Allocate a new ExifLoader.

Returns:
allocated ExifLoader

ExifLoader* exif_loader_new_mem ( ExifMem mem  ) 

Allocate a new ExifLoader using the specified memory allocator.

Parameters:
[in] mem the ExifMem
Returns:
allocated ExifLoader

void exif_loader_ref ( ExifLoader loader  ) 

Increase the refcount of the ExifLoader.

Parameters:
[in] loader the ExifLoader to increase the refcount of.

void exif_loader_reset ( ExifLoader loader  ) 

Free any data previously loaded and reset the ExifLoader to its newly-initialized state.

Parameters:
[in] loader the loader

void exif_loader_unref ( ExifLoader loader  ) 

Decrease the refcount of the ExifLoader.

If the refcount reaches 0, the loader is freed.

Parameters:
[in] loader ExifLoader for which to decrease the refcount

unsigned char exif_loader_write ( ExifLoader loader,
unsigned char *  buf,
unsigned int  sz 
)

Load a buffer into the ExifLoader from a memory buffer.

The relevant data is copied in raw form into the ExifLoader.

Parameters:
[in] loader loader to write to
[in] buf buffer to read from
[in] sz size of the buffer
Returns:
1 while EXIF data is read (or while there is still hope that there will be EXIF data later on), 0 otherwise.

void exif_loader_write_file ( ExifLoader loader,
const char *  fname 
)

Load a file into the given ExifLoader from the filesystem.

The relevant data is copied in raw form into the ExifLoader.

Parameters:
[in] loader loader to write to
[in] fname path to the file to read


SourceForge.net Logo Generated by doxygen