gwenhywfar  4.18.0
Typedefs
multicache.h File Reference
#include <gwenhywfar/list1.h>
#include <gwenhywfar/misc.h>

Go to the source code of this file.

Typedefs

typedef struct GWEN_MULTICACHE GWEN_MULTICACHE
 
typedef struct GWEN_MULTICACHE_TYPE GWEN_MULTICACHE_TYPE
 
typedef int GWENHYWFAR_CB(* GWEN_MULTICACHE_TYPE_ATTACH_FN) (void *p)
 
typedef int GWENHYWFAR_CB(* GWEN_MULTICACHE_TYPE_ATTACH_OBJECT_FN) (const GWEN_MULTICACHE_TYPE *ct, void *p)
 
typedef int GWENHYWFAR_CB(* GWEN_MULTICACHE_TYPE_FREE_FN) (void *p)
 
typedef int GWENHYWFAR_CB(* GWEN_MULTICACHE_TYPE_FREE_OBJECT_FN) (const GWEN_MULTICACHE_TYPE *ct, void *p)
 

Functions

Per-type Cache Objects

This object describes one of the data types which can be managed by a central cache object.

GWENHYWFAR_API GWEN_MULTICACHE_TYPEGWEN_MultiCache_Type_new (GWEN_MULTICACHE *mc)
 
GWENHYWFAR_API void GWEN_MultiCache_Type_free (GWEN_MULTICACHE_TYPE *ct)
 
GWENHYWFAR_API void * GWEN_MultiCache_Type_GetData (const GWEN_MULTICACHE_TYPE *ct, uint32_t id)
 
GWENHYWFAR_API void * GWEN_MultiCache_Type_GetDataWithParams (const GWEN_MULTICACHE_TYPE *ct, uint32_t id, uint32_t param1, uint32_t param2, uint32_t param3, uint32_t param4)
 
GWENHYWFAR_API void * GWEN_MultiCache_Type_GetDataWithParams5 (const GWEN_MULTICACHE_TYPE *ct, uint32_t id, uint32_t param1, uint32_t param2, uint32_t param3, uint32_t param4, double param5)
 
GWENHYWFAR_API void GWEN_MultiCache_Type_SetData (GWEN_MULTICACHE_TYPE *ct, uint32_t id, void *ptr, uint32_t size)
 
GWENHYWFAR_API void GWEN_MultiCache_Type_SetDataWithParams (GWEN_MULTICACHE_TYPE *ct, uint32_t id, void *ptr, uint32_t size, uint32_t param1, uint32_t param2, uint32_t param3, uint32_t param4)
 
GWENHYWFAR_API void GWEN_MultiCache_Type_SetDataWithParams5 (GWEN_MULTICACHE_TYPE *ct, uint32_t id, void *ptr, uint32_t size, uint32_t param1, uint32_t param2, uint32_t param3, uint32_t param4, double param5)
 
GWENHYWFAR_API void GWEN_MultiCache_Type_PurgeData (GWEN_MULTICACHE_TYPE *ct, uint32_t id)
 
GWENHYWFAR_API void GWEN_MultiCache_Type_PurgeAll (GWEN_MULTICACHE_TYPE *ct)
 
GWENHYWFAR_API void GWEN_MultiCache_Type_SetAttachFn (GWEN_MULTICACHE_TYPE *ct, GWEN_MULTICACHE_TYPE_ATTACH_FN fn)
 
GWENHYWFAR_API void GWEN_MultiCache_Type_SetFreeFn (GWEN_MULTICACHE_TYPE *ct, GWEN_MULTICACHE_TYPE_FREE_FN fn)
 
GWENHYWFAR_API void GWEN_MultiCache_Type_SetAttachObjectFn (GWEN_MULTICACHE_TYPE *ct, GWEN_MULTICACHE_TYPE_ATTACH_OBJECT_FN fn)
 
GWENHYWFAR_API void GWEN_MultiCache_Type_SetFreeObjectFn (GWEN_MULTICACHE_TYPE *ct, GWEN_MULTICACHE_TYPE_FREE_OBJECT_FN fn)
 
Central Cache Object

This is the central cache object which can hold multiple types of data.

GWENHYWFAR_API GWEN_MULTICACHEGWEN_MultiCache_new (uint64_t maxSize)
 
GWENHYWFAR_API void GWEN_MultiCache_free (GWEN_MULTICACHE *mc)
 
GWENHYWFAR_API uint64_t GWEN_MultiCache_GetMaxSizeUsed (const GWEN_MULTICACHE *mc)