imgstore.h File Reference

IM Image Store API. More...

#include <glib.h>

Include dependency graph for imgstore.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef _PurpleStoredImage PurpleStoredImage
 A reference-counted immutable wrapper around an image's data and its filename.

Functions

PurpleStoredImagepurple_imgstore_add (gpointer data, size_t size, const char *filename)
 Add an image to the store.
int purple_imgstore_add_with_id (gpointer data, size_t size, const char *filename)
 Add an image to the store, allocating an ID.
PurpleStoredImagepurple_imgstore_find_by_id (int id)
 Retrieve an image from the store.
gconstpointer purple_imgstore_get_data (PurpleStoredImage *img)
 Retrieves a pointer to the image's data.
size_t purple_imgstore_get_size (PurpleStoredImage *img)
 Retrieves the length of the image's data.
const char * purple_imgstore_get_filename (const PurpleStoredImage *img)
 Retrieves a pointer to the image's filename.
const char * purple_imgstore_get_extension (PurpleStoredImage *img)
 Returns an extension corresponding to the image's file type.
PurpleStoredImagepurple_imgstore_ref (PurpleStoredImage *img)
 Increment the reference count.
PurpleStoredImagepurple_imgstore_unref (PurpleStoredImage *img)
 Decrement the reference count.
void purple_imgstore_ref_by_id (int id)
 Increment the reference count using an ID.
void purple_imgstore_unref_by_id (int id)
 Decrement the reference count using an ID.
void * purple_imgstore_get_handle (void)
 Returns the image store subsystem handle.
void purple_imgstore_init (void)
 Initializes the image store subsystem.
void purple_imgstore_uninit (void)
 Uninitializes the image store subsystem.


Detailed Description

IM Image Store API.

See also:
Image Store Signals

Definition in file imgstore.h.


Function Documentation

PurpleStoredImage* purple_imgstore_add gpointer  data,
size_t  size,
const char *  filename
 

Add an image to the store.

The caller owns a reference to the image in the store, and must dereference the image with purple_imgstore_unref() for it to be freed.

No ID is allocated when using this function. If you need to reference the image by an ID, use purple_imgstore_add_with_id() instead.

Parameters:
data Pointer to the image data, which the imgstore will take ownership of and free as appropriate. If you want a copy of the data, make it before calling this function.
size Image data's size.
filename Filename associated with image.
Returns:
The stored image.

int purple_imgstore_add_with_id gpointer  data,
size_t  size,
const char *  filename
 

Add an image to the store, allocating an ID.

The caller owns a reference to the image in the store, and must dereference the image with purple_imgstore_unref_by_id() or purple_imgstore_unref() for it to be freed.

Parameters:
data Pointer to the image data, which the imgstore will take ownership of and free as appropriate. If you want a copy of the data, make it before calling this function.
size Image data's size.
filename Filename associated with image.
Returns:
ID for the image.

PurpleStoredImage* purple_imgstore_find_by_id int  id  ) 
 

Retrieve an image from the store.

The caller does not own a reference to the image.

Parameters:
id The ID for the image.
Returns:
A pointer to the requested image, or NULL if it was not found.

gconstpointer purple_imgstore_get_data PurpleStoredImage img  ) 
 

Retrieves a pointer to the image's data.

Parameters:
img The Image
Returns:
A pointer to the data, which must not be freed or modified.

const char* purple_imgstore_get_extension PurpleStoredImage img  ) 
 

Returns an extension corresponding to the image's file type.

Parameters:
img The image.
Returns:
The icon's extension or "icon" if unknown.

const char* purple_imgstore_get_filename const PurpleStoredImage img  ) 
 

Retrieves a pointer to the image's filename.

Parameters:
img The image
Returns:
A pointer to the filename, which must not be freed or modified.

void* purple_imgstore_get_handle void   ) 
 

Returns the image store subsystem handle.

Returns:
The subsystem handle.

size_t purple_imgstore_get_size PurpleStoredImage img  ) 
 

Retrieves the length of the image's data.

Parameters:
img The Image
Returns:
The size of the data that the pointer returned by purple_imgstore_get_data points to.

PurpleStoredImage* purple_imgstore_ref PurpleStoredImage img  ) 
 

Increment the reference count.

Parameters:
img The image.
Returns:
img

void purple_imgstore_ref_by_id int  id  ) 
 

Increment the reference count using an ID.

This is a convience wrapper for purple_imgstore_find_by_id() and purple_imgstore_ref(), so if you have a PurpleStoredImage, it'll be more efficient to call purple_imgstore_ref() directly.

Parameters:
id The ID for the image.

PurpleStoredImage* purple_imgstore_unref PurpleStoredImage img  ) 
 

Decrement the reference count.

If the reference count reaches zero, the image will be freed.

Parameters:
img The image.
Returns:
img or NULL if the reference count reached zero.

void purple_imgstore_unref_by_id int  id  ) 
 

Decrement the reference count using an ID.

This is a convience wrapper for purple_imgstore_find_by_id() and purple_imgstore_unref(), so if you have a PurpleStoredImage, it'll be more efficient to call purple_imgstore_unref() directly.

Parameters:
id The ID for the image.