OpenJPEG 2.5.2

cache_manager.h
Go to the documentation of this file.
1/*
2 * $Id$
3 *
4 * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
5 * Copyright (c) 2002-2014, Professor Benoit Macq
6 * Copyright (c) 2010-2011, Kaori Hagihara
7 * All rights reserved.
8 *
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions
11 * are met:
12 * 1. Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer.
14 * 2. Redistributions in binary form must reproduce the above copyright
15 * notice, this list of conditions and the following disclaimer in the
16 * documentation and/or other materials provided with the distribution.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
22 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28 * POSSIBILITY OF SUCH DAMAGE.
29 */
30
31#ifndef CACHE_MANAGER_H_
32# define CACHE_MANAGER_H_
33
34#include "metadata_manager.h"
35#include "ihdrbox_manager.h"
36
38 typedef struct cache_param {
39 char *filename;
40 char *tid;
41 int csn;
42 char **cid;
43 int numOfcid;
44 metadatalist_param_t *metadatalist;
45 ihdrbox_param_t *ihdrbox;
46 struct cache_param *next;
47} cache_param_t;
48
50 typedef struct cachelist_param {
51 cache_param_t *first;
52 cache_param_t *last;
53} cachelist_param_t;
54
55
61 cachelist_param_t * gene_cachelist(void);
62
68 void delete_cachelist(cachelist_param_t **cachelist);
69
79 cache_param_t * gene_cache(const char *targetname, int csn, char *tid,
80 char *cid);
81
87 void delete_cache(cache_param_t **cache);
88
95 void insert_cache_into_list(cache_param_t *cache, cachelist_param_t *cachelist);
96
97
105 cache_param_t * search_cache(const char targetname[],
106 cachelist_param_t *cachelist);
107
108
116 cache_param_t * search_cacheBycsn(int csn, cachelist_param_t *cachelist);
117
118
126 cache_param_t * search_cacheBycid(const char cid[],
127 cachelist_param_t *cachelist);
128
129
137 cache_param_t * search_cacheBytid(const char tid[],
138 cachelist_param_t *cachelist);
139
146 void add_cachecid(const char *cid, cache_param_t *cache);
147
148
155 void update_cachetid(const char *tid, cache_param_t *cache);
156
157
164 void remove_cachecid(const char *cid, cachelist_param_t *cachelist);
165
166
172 void print_cache(cache_param_t *cache);
173
179 void print_allcache(cachelist_param_t *cachelist);
180
181#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