gwenhywfar  4.6.0beta
Macros | Functions
multicache.c File Reference
#include "multicache_p.h"
#include <gwenhywfar/debug.h>

Go to the source code of this file.

Macros

#define DISABLE_DEBUGLOG

Functions

 GWEN_IDMAP_FUNCTIONS (GWEN_MULTICACHE_ENTRY, GWEN_MultiCache_Entry)
 GWEN_LIST_FUNCTIONS (GWEN_MULTICACHE_ENTRY, GWEN_MultiCache_Entry)
 GWEN_LIST_FUNCTIONS (GWEN_MULTICACHE_TYPE, GWEN_MultiCache_Type)
int GWEN_MultiCache_AddEntry (GWEN_MULTICACHE *mc, GWEN_MULTICACHE_ENTRY *e)
void GWEN_MultiCache_Entry_free (GWEN_MULTICACHE_ENTRY *e)
GWEN_MULTICACHE_TYPEGWEN_MultiCache_Entry_GetCacheType (const GWEN_MULTICACHE_ENTRY *e)
void * GWEN_MultiCache_Entry_GetDataPtr (const GWEN_MULTICACHE_ENTRY *e)
uint32_t GWEN_MultiCache_Entry_GetDataSize (const GWEN_MULTICACHE_ENTRY *e)
uint32_t GWEN_MultiCache_Entry_GetId (const GWEN_MULTICACHE_ENTRY *e)
uint32_t GWEN_MultiCache_Entry_GetParam1 (const GWEN_MULTICACHE_ENTRY *e)
uint32_t GWEN_MultiCache_Entry_GetParam2 (const GWEN_MULTICACHE_ENTRY *e)
uint32_t GWEN_MultiCache_Entry_GetParam3 (const GWEN_MULTICACHE_ENTRY *e)
uint32_t GWEN_MultiCache_Entry_GetParam4 (const GWEN_MULTICACHE_ENTRY *e)
GWEN_MULTICACHE_ENTRY * GWEN_MultiCache_Entry_new (GWEN_MULTICACHE_TYPE *ct, uint32_t id, void *p, uint32_t i)
void GWEN_MultiCache_Entry_SetParam1 (GWEN_MULTICACHE_ENTRY *e, uint32_t i)
void GWEN_MultiCache_Entry_SetParam2 (GWEN_MULTICACHE_ENTRY *e, uint32_t i)
void GWEN_MultiCache_Entry_SetParam3 (GWEN_MULTICACHE_ENTRY *e, uint32_t i)
void GWEN_MultiCache_Entry_SetParam4 (GWEN_MULTICACHE_ENTRY *e, uint32_t i)
void GWEN_MultiCache_free (GWEN_MULTICACHE *mc)
uint64_t GWEN_MultiCache_GetMaxSizeUsed (const GWEN_MULTICACHE *mc)
GWEN_MULTICACHEGWEN_MultiCache_new (uint64_t maxSize)
void GWEN_MultiCache_ReleaseEntriesForType (GWEN_MULTICACHE *mc, GWEN_MULTICACHE_TYPE *ct)
void GWEN_MultiCache_ReleaseEntry (GWEN_MULTICACHE *mc, GWEN_MULTICACHE_ENTRY *e)
int GWEN_MultiCache_Type_AttachData (const GWEN_MULTICACHE_TYPE *ct, void *p)
void GWEN_MultiCache_Type_free (GWEN_MULTICACHE_TYPE *ct)
int GWEN_MultiCache_Type_FreeData (const GWEN_MULTICACHE_TYPE *ct, void *p)
void * GWEN_MultiCache_Type_GetData (const GWEN_MULTICACHE_TYPE *ct, uint32_t id)
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)
GWEN_MULTICACHE_TYPEGWEN_MultiCache_Type_new (GWEN_MULTICACHE *mc)
void GWEN_MultiCache_Type_PurgeAll (GWEN_MULTICACHE_TYPE *ct)
void GWEN_MultiCache_Type_PurgeData (GWEN_MULTICACHE_TYPE *ct, uint32_t id)
void GWEN_MultiCache_Type_ReleaseEntry (GWEN_MULTICACHE_TYPE *ct, GWEN_MULTICACHE_ENTRY *e)
void GWEN_MultiCache_Type_SetAttachFn (GWEN_MULTICACHE_TYPE *ct, GWEN_MULTICACHE_TYPE_ATTACH_FN fn)
void GWEN_MultiCache_Type_SetData (GWEN_MULTICACHE_TYPE *ct, uint32_t id, void *ptr, uint32_t size)
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)
void GWEN_MultiCache_Type_SetFreeFn (GWEN_MULTICACHE_TYPE *ct, GWEN_MULTICACHE_TYPE_FREE_FN fn)
void GWEN_MultiCache_UsingEntry (GWEN_MULTICACHE *mc, GWEN_MULTICACHE_ENTRY *e)

Macro Definition Documentation

#define DISABLE_DEBUGLOG

Definition at line 29 of file multicache.c.

Function Documentation

GWEN_IDMAP_FUNCTIONS ( GWEN_MULTICACHE_ENTRY  ,
GWEN_MultiCache_Entry   
)
GWEN_LIST_FUNCTIONS ( GWEN_MULTICACHE_ENTRY  ,
GWEN_MultiCache_Entry   
)
GWEN_LIST_FUNCTIONS ( GWEN_MULTICACHE_TYPE  ,
GWEN_MultiCache_Type   
)
int GWEN_MultiCache_AddEntry ( GWEN_MULTICACHE mc,
GWEN_MULTICACHE_ENTRY *  e 
)
void GWEN_MultiCache_Entry_free ( GWEN_MULTICACHE_ENTRY *  e)

Definition at line 60 of file multicache.c.

References GWEN_FREE_OBJECT, and GWEN_LIST_FINI.

Referenced by GWEN_MultiCache_ReleaseEntry().

GWEN_MULTICACHE_TYPE* GWEN_MultiCache_Entry_GetCacheType ( const GWEN_MULTICACHE_ENTRY *  e)
void* GWEN_MultiCache_Entry_GetDataPtr ( const GWEN_MULTICACHE_ENTRY *  e)
uint32_t GWEN_MultiCache_Entry_GetDataSize ( const GWEN_MULTICACHE_ENTRY *  e)

Definition at line 76 of file multicache.c.

Referenced by GWEN_MultiCache_AddEntry(), and GWEN_MultiCache_ReleaseEntry().

uint32_t GWEN_MultiCache_Entry_GetId ( const GWEN_MULTICACHE_ENTRY *  e)

Definition at line 69 of file multicache.c.

Referenced by GWEN_MultiCache_Type_ReleaseEntry().

uint32_t GWEN_MultiCache_Entry_GetParam1 ( const GWEN_MULTICACHE_ENTRY *  e)

Definition at line 97 of file multicache.c.

Referenced by GWEN_MultiCache_Type_GetDataWithParams().

uint32_t GWEN_MultiCache_Entry_GetParam2 ( const GWEN_MULTICACHE_ENTRY *  e)

Definition at line 111 of file multicache.c.

Referenced by GWEN_MultiCache_Type_GetDataWithParams().

uint32_t GWEN_MultiCache_Entry_GetParam3 ( const GWEN_MULTICACHE_ENTRY *  e)

Definition at line 125 of file multicache.c.

Referenced by GWEN_MultiCache_Type_GetDataWithParams().

uint32_t GWEN_MultiCache_Entry_GetParam4 ( const GWEN_MULTICACHE_ENTRY *  e)

Definition at line 139 of file multicache.c.

Referenced by GWEN_MultiCache_Type_GetDataWithParams().

GWEN_MULTICACHE_ENTRY* GWEN_MultiCache_Entry_new ( GWEN_MULTICACHE_TYPE ct,
uint32_t  id,
void *  p,
uint32_t  i 
)
void GWEN_MultiCache_Entry_SetParam1 ( GWEN_MULTICACHE_ENTRY *  e,
uint32_t  i 
)

Definition at line 104 of file multicache.c.

Referenced by GWEN_MultiCache_Type_SetDataWithParams().

void GWEN_MultiCache_Entry_SetParam2 ( GWEN_MULTICACHE_ENTRY *  e,
uint32_t  i 
)

Definition at line 118 of file multicache.c.

Referenced by GWEN_MultiCache_Type_SetDataWithParams().

void GWEN_MultiCache_Entry_SetParam3 ( GWEN_MULTICACHE_ENTRY *  e,
uint32_t  i 
)

Definition at line 132 of file multicache.c.

Referenced by GWEN_MultiCache_Type_SetDataWithParams().

void GWEN_MultiCache_Entry_SetParam4 ( GWEN_MULTICACHE_ENTRY *  e,
uint32_t  i 
)

Definition at line 146 of file multicache.c.

Referenced by GWEN_MultiCache_Type_SetDataWithParams().

void GWEN_MultiCache_ReleaseEntriesForType ( GWEN_MULTICACHE mc,
GWEN_MULTICACHE_TYPE ct 
)
void GWEN_MultiCache_ReleaseEntry ( GWEN_MULTICACHE mc,
GWEN_MULTICACHE_ENTRY *  e 
)
int GWEN_MultiCache_Type_AttachData ( const GWEN_MULTICACHE_TYPE ct,
void *  p 
)
int GWEN_MultiCache_Type_FreeData ( const GWEN_MULTICACHE_TYPE ct,
void *  p 
)

Definition at line 292 of file multicache.c.

References GWEN_ERROR_NOT_IMPLEMENTED.

Referenced by GWEN_MultiCache_ReleaseEntry().

void GWEN_MultiCache_Type_ReleaseEntry ( GWEN_MULTICACHE_TYPE ct,
GWEN_MULTICACHE_ENTRY *  e 
)

Definition at line 301 of file multicache.c.

References GWEN_MultiCache_Entry_GetId().

Referenced by GWEN_MultiCache_ReleaseEntry().

void GWEN_MultiCache_UsingEntry ( GWEN_MULTICACHE mc,
GWEN_MULTICACHE_ENTRY *  e 
)