# e-cache

## Name

e-cache --

## Synopsis

                ECache;
    gpointer    (*ECacheDupFunc)                (gconstpointer data);
    void        (*ECacheFreeFunc)               (gpointer data);
    ECache*     e_cache_new                     (GHashFunc key_hash_func,
                                                 GCompareFunc key_compare_func,
                                                 ECacheDupFunc key_dup_func,
                                                 ECacheFreeFunc key_free_func,
                                                 ECacheFreeFunc object_free_func,
                                                 size_t softlimit,
                                                 size_t hardlimit);
    void        e_cache_ref                     (ECache *cache);
    void        e_cache_unref                   (ECache *cache);
    gpointer    e_cache_lookup                  (ECache *cache,
                                                 gconstpointer key);
    gpointer    e_cache_lookup_notouch          (ECache *cache,
                                                 gconstpointer key);
    gboolean    e_cache_insert                  (ECache *cache,
                                                 gpointer key,
                                                 gpointer data,
                                                 size_t size);
    void        e_cache_invalidate              (ECache *cache,
                                                 gpointer key);
    void        e_cache_invalidate_all          (ECache *cache);
    size_t      e_cache_query_object_size       (ECache *cache,
                                                 gconstpointer key);

## Description

## Details

### ECache

    typedef struct _ECache ECache;

### ECacheDupFunc ()

    gpointer    (*ECacheDupFunc)                (gconstpointer data);

`data` : |
Returns : |

### ECacheFreeFunc ()

    void        (*ECacheFreeFunc)               (gpointer data);

`data` : |

### e_cache_new ()

    ECache*     e_cache_new                     (GHashFunc key_hash_func,
                                                 GCompareFunc key_compare_func,
                                                 ECacheDupFunc key_dup_func,
                                                 ECacheFreeFunc key_free_func,
                                                 ECacheFreeFunc object_free_func,
                                                 size_t softlimit,
                                                 size_t hardlimit);

`key_hash_func` : |
`key_compare_func` : |
`key_dup_func` : |
`key_free_func` : |
`object_free_func` : |
`softlimit` : |
`hardlimit` : |
Returns : |

### e_cache_ref ()

    void        e_cache_ref                     (ECache *cache);

`cache` : |

### e_cache_unref ()

    void        e_cache_unref                   (ECache *cache);

`cache` : |

### e_cache_lookup ()

    gpointer    e_cache_lookup                  (ECache *cache,
                                                 gconstpointer key);

`cache` : |
`key` : |
Returns : |

### e_cache_lookup_notouch ()

    gpointer    e_cache_lookup_notouch          (ECache *cache,
                                                 gconstpointer key);

`cache` : |
`key` : |
Returns : |

### e_cache_insert ()

    gboolean    e_cache_insert                  (ECache *cache,
                                                 gpointer key,
                                                 gpointer data,
                                                 size_t size);

`cache` : |
`key` : |
`data` : |
`size` : |
Returns : |

### e_cache_invalidate ()

    void        e_cache_invalidate              (ECache *cache,
                                                 gpointer key);

`cache` : |
`key` : |

### e_cache_invalidate_all ()

    void        e_cache_invalidate_all          (ECache *cache);

`cache` : |

### e_cache_query_object_size ()

    size_t      e_cache_query_object_size       (ECache *cache,
                                                 gconstpointer key);

`cache` : |
`key` : |
Returns : |