exif-mem.h File Reference

Define the ExifMem data type and the associated functions. ExifMem defined the memory management functions used my the ExifLoader. More...

#include <libexif/exif-utils.h>

Go to the source code of this file.

Typedefs

typedef void *(*) ExifMemAllocFunc (ExifLong s)
typedef void *(*) ExifMemReallocFunc (void *p, ExifLong s)
typedef void(*) ExifMemFreeFunc (void *p)
typedef _ExifMem ExifMem

Functions

ExifMemexif_mem_new (ExifMemAllocFunc a, ExifMemReallocFunc r, ExifMemFreeFunc f)
void exif_mem_ref (ExifMem *)
void exif_mem_unref (ExifMem *)
void * exif_mem_alloc (ExifMem *m, ExifLong s)
void * exif_mem_realloc (ExifMem *m, void *p, ExifLong s)
void exif_mem_free (ExifMem *m, void *p)
ExifMemexif_mem_new_default (void)


Detailed Description

Define the ExifMem data type and the associated functions. ExifMem defined the memory management functions used my the ExifLoader.

Definition in file exif-mem.h.


Typedef Documentation

typedef struct _ExifMem ExifMem

ExifMem define a memory allocator

Definition at line 53 of file exif-mem.h.

typedef void*(* ) ExifMemAllocFunc(ExifLong s)

Should work like calloc()

Parameters:
[in] s the size of the block to allocate.
Returns:
the allocated memory and initialized.

Definition at line 38 of file exif-mem.h.

typedef void(* ) ExifMemFreeFunc(void *p)

Free method for ExifMem

Parameters:
[in] p the pointer to free
Returns:
the freed pointer

Definition at line 50 of file exif-mem.h.

typedef void*(* ) ExifMemReallocFunc(void *p, ExifLong s)

Should work like realloc()

Parameters:
[in] p the pointer to reallocate
[in] s the size of the reallocated block
Returns:
allocated memory

Definition at line 45 of file exif-mem.h.


Function Documentation

void* exif_mem_alloc ( ExifMem m,
ExifLong  s 
)

Definition at line 75 of file exif-mem.c.

References _ExifMem::alloc_func, and _ExifMem::realloc_func.

Referenced by exif_content_new_mem(), exif_data_alloc(), exif_data_new_mem(), exif_entry_alloc(), exif_entry_new_mem(), exif_loader_alloc(), exif_loader_new_mem(), exif_log_new_mem(), exif_mnote_data_canon_load(), exif_mnote_data_canon_new(), exif_mnote_data_canon_save(), exif_mnote_data_construct(), exif_mnote_data_olympus_load(), exif_mnote_data_olympus_new(), exif_mnote_data_olympus_save(), exif_mnote_data_pentax_load(), and exif_mnote_data_pentax_new().

void exif_mem_free ( ExifMem m,
void *  p 
)

Definition at line 65 of file exif-mem.c.

References _ExifMem::free_func.

Referenced by exif_content_free(), exif_content_new_mem(), exif_data_load_data_thumbnail(), exif_data_new_mem(), exif_data_save_data_entry(), exif_entry_free(), exif_entry_new_mem(), exif_entry_realloc(), exif_loader_free(), exif_loader_reset(), exif_log_free(), exif_mem_unref(), exif_mnote_data_canon_clear(), exif_mnote_data_free(), exif_mnote_data_olympus_clear(), and exif_mnote_data_pentax_clear().

ExifMem* exif_mem_new ( ExifMemAllocFunc  a,
ExifMemReallocFunc  r,
ExifMemFreeFunc  f 
)

Create a new ExifMem

Parameters:
[in] a the allocator function
[in] r the reallocator function
[in] f the free function

Definition at line 31 of file exif-mem.c.

References _ExifMem::alloc_func, _ExifMem::free_func, _ExifMem::realloc_func, and _ExifMem::ref_count.

Referenced by exif_mem_new_default().

ExifMem* exif_mem_new_default ( void   ) 

The default ExifMem for your convenience

Returns:
return the default ExifMem

Definition at line 91 of file exif-mem.c.

References exif_mem_alloc_func(), exif_mem_free_func(), exif_mem_new(), and exif_mem_realloc_func().

Referenced by exif_content_new(), exif_data_new(), exif_entry_new(), exif_loader_new(), and exif_log_new().

void* exif_mem_realloc ( ExifMem m,
void *  p,
ExifLong  s 
)

Definition at line 85 of file exif-mem.c.

References _ExifMem::realloc_func.

Referenced by exif_content_add_entry(), exif_content_remove_entry(), exif_data_save_data_content(), exif_data_save_data_entry(), exif_entry_realloc(), exif_mnote_data_canon_load(), exif_mnote_data_canon_save(), and exif_mnote_data_olympus_save().

void exif_mem_ref ( ExifMem  ) 

Refcount an ExifMem

Definition at line 50 of file exif-mem.c.

References _ExifMem::ref_count.

Referenced by exif_content_new_mem(), exif_data_new_mem(), exif_entry_new_mem(), exif_loader_new_mem(), exif_log_new_mem(), and exif_mnote_data_construct().

void exif_mem_unref ( ExifMem  ) 

Unrefcount an ExifMem If the refcount reaches 0, the ExifMem is freed

Definition at line 57 of file exif-mem.c.

References exif_mem_free(), and _ExifMem::ref_count.

Referenced by exif_content_new(), exif_data_new(), exif_entry_free(), exif_entry_new(), exif_loader_free(), exif_loader_new(), exif_log_free(), exif_log_new(), and exif_mnote_data_free().


Generated on Fri Jun 15 20:58:44 2007 for EXIF library (libexif) Internals by  doxygen 1.5.0