cache_manager.h
Go to the documentation of this file.
/*
* $Id$
*
* Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
* Copyright (c) 2002-2014, Professor Benoit Macq
* Copyright (c) 2010-2011, Kaori Hagihara
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef CACHE_MANAGER_H_
# define CACHE_MANAGER_H_
#include "metadata_manager.h"
#include "ihdrbox_manager.h"
typedef struct cache_param {
char *filename;
char *tid;
int csn;
char **cid;
int numOfcid;
metadatalist_param_t *metadatalist;
ihdrbox_param_t *ihdrbox;
struct cache_param *next;
} cache_param_t;
typedef struct cachelist_param {
cache_param_t *first;
cache_param_t *last;
} cachelist_param_t;
cachelist_param_t * gene_cachelist(void);
void delete_cachelist(cachelist_param_t **cachelist);
cache_param_t * gene_cache(const char *targetname, int csn, char *tid,
char *cid);
void delete_cache(cache_param_t **cache);
void insert_cache_into_list(cache_param_t *cache, cachelist_param_t *cachelist);
cache_param_t * search_cache(const char targetname[],
cachelist_param_t *cachelist);
cache_param_t * search_cacheBycsn(int csn, cachelist_param_t *cachelist);
cache_param_t * search_cacheBycid(const char cid[],
cachelist_param_t *cachelist);
cache_param_t * search_cacheBytid(const char tid[],
cachelist_param_t *cachelist);
void add_cachecid(const char *cid, cache_param_t *cache);
void update_cachetid(const char *tid, cache_param_t *cache);
void remove_cachecid(const char *cid, cachelist_param_t *cachelist);
void print_cache(cache_param_t *cache);
void print_allcache(cachelist_param_t *cachelist);
#endif /* !CACHE_MANAGER_H_ */
cachelist_param_t
struct cachelist_param cachelist_param_t
search_cacheBycsn
cache_param_t * search_cacheBycsn(int csn, cachelist_param_t *cachelist)
search a cache by csn
Definition cache_manager.c:135
remove_cachecid
void remove_cachecid(const char *cid, cachelist_param_t *cachelist)
remove cid in cache
Definition cache_manager.c:225
search_cacheBycid
cache_param_t * search_cacheBycid(const char cid[], cachelist_param_t *cachelist)
search a cache by cid
Definition cache_manager.c:151
insert_cache_into_list
void insert_cache_into_list(cache_param_t *cache, cachelist_param_t *cachelist)
insert a cache into list
Definition cache_manager.c:103
delete_cachelist
void delete_cachelist(cachelist_param_t **cachelist)
delete cache list
Definition cache_manager.c:48
cache_param_t
struct cache_param cache_param_t
cache parameters
gene_cachelist
cachelist_param_t * gene_cachelist(void)
generate a cache list
Definition cache_manager.c:36
print_allcache
void print_allcache(cachelist_param_t *cachelist)
print all cache parameters
Definition cache_manager.c:283
add_cachecid
void add_cachecid(const char *cid, cache_param_t *cache)
add cid into a cache
Definition cache_manager.c:193
search_cacheBytid
cache_param_t * search_cacheBytid(const char tid[], cachelist_param_t *cachelist)
search a cache by tid
Definition cache_manager.c:173
gene_cache
cache_param_t * gene_cache(const char *targetname, int csn, char *tid, char *cid)
generate a cache
Definition cache_manager.c:61
delete_cache
void delete_cache(cache_param_t **cache)
delete a cache
Definition cache_manager.c:84
print_cache
void print_cache(cache_param_t *cache)
print cache parameters
Definition cache_manager.c:267
search_cache
cache_param_t * search_cache(const char targetname[], cachelist_param_t *cachelist)
search a cache by target name
Definition cache_manager.c:113
update_cachetid
void update_cachetid(const char *tid, cache_param_t *cache)
update tid of a cache
Definition cache_manager.c:210
ihdrbox_manager.h
metadata_manager.h
cache_param
cache parameters
Definition cache_manager.h:38
cache_param::metadatalist
metadatalist_param_t * metadatalist
metadata-bin list
Definition cache_manager.h:44
cache_param::cid
char ** cid
dynamic array of channel identifiers
Definition cache_manager.h:42
cache_param::filename
char * filename
file name
Definition cache_manager.h:39
cache_param::ihdrbox
ihdrbox_param_t * ihdrbox
ihdrbox
Definition cache_manager.h:45
cache_param::csn
int csn
codestream number
Definition cache_manager.h:41
cache_param::tid
char * tid
taregt identifier
Definition cache_manager.h:40
cache_param::numOfcid
int numOfcid
number of cids
Definition cache_manager.h:43
cache_param::next
struct cache_param * next
pointer to the next cache
Definition cache_manager.h:46
cachelist_param
Definition cache_manager.h:50
cachelist_param::first
cache_param_t * first
first cache pointer of the list
Definition cache_manager.h:51
cachelist_param::last
cache_param_t * last
last cache pointer of the list
Definition cache_manager.h:52
ihdrbox_param
I.5.3.1 Image Header box.
Definition ihdrbox_manager.h:39
metadatalist_param
metadata-bin list parameters
Definition metadata_manager.h:54