OpenJPEG 2.1.0
|
00001 /* 00002 * $Id: cache_manager.h 2835 2014-04-03 15:30:57Z antonin $ 00003 * 00004 * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium 00005 * Copyright (c) 2002-2014, Professor Benoit Macq 00006 * Copyright (c) 2010-2011, Kaori Hagihara 00007 * All rights reserved. 00008 * 00009 * Redistribution and use in source and binary forms, with or without 00010 * modification, are permitted provided that the following conditions 00011 * are met: 00012 * 1. Redistributions of source code must retain the above copyright 00013 * notice, this list of conditions and the following disclaimer. 00014 * 2. Redistributions in binary form must reproduce the above copyright 00015 * notice, this list of conditions and the following disclaimer in the 00016 * documentation and/or other materials provided with the distribution. 00017 * 00018 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' 00019 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00020 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00021 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 00022 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 00023 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 00024 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 00025 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 00026 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 00027 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 00028 * POSSIBILITY OF SUCH DAMAGE. 00029 */ 00030 00031 #ifndef CACHE_MANAGER_H_ 00032 # define CACHE_MANAGER_H_ 00033 00034 #include "metadata_manager.h" 00035 #include "ihdrbox_manager.h" 00036 00038 typedef struct cache_param{ 00039 char *filename; 00040 char *tid; 00041 int csn; 00042 char **cid; 00043 int numOfcid; 00044 metadatalist_param_t *metadatalist; 00045 ihdrbox_param_t *ihdrbox; 00046 struct cache_param *next; 00047 } cache_param_t; 00048 00050 typedef struct cachelist_param{ 00051 cache_param_t *first; 00052 cache_param_t *last; 00053 } cachelist_param_t; 00054 00055 00061 cachelist_param_t * gene_cachelist(void); 00062 00068 void delete_cachelist(cachelist_param_t **cachelist); 00069 00079 cache_param_t * gene_cache( const char *targetname, int csn, char *tid, char *cid); 00080 00086 void delete_cache( cache_param_t **cache); 00087 00094 void insert_cache_into_list( cache_param_t *cache, cachelist_param_t *cachelist); 00095 00096 00104 cache_param_t * search_cache( const char targetname[], cachelist_param_t *cachelist); 00105 00106 00114 cache_param_t * search_cacheBycsn( int csn, cachelist_param_t *cachelist); 00115 00116 00124 cache_param_t * search_cacheBycid( const char cid[], cachelist_param_t *cachelist); 00125 00126 00134 cache_param_t * search_cacheBytid( const char tid[], cachelist_param_t *cachelist); 00135 00142 void add_cachecid( const char *cid, cache_param_t *cache); 00143 00144 00151 void update_cachetid( const char *tid, cache_param_t *cache); 00152 00153 00160 void remove_cachecid( const char *cid, cachelist_param_t *cachelist); 00161 00162 00168 void print_cache( cache_param_t *cache); 00169 00175 void print_allcache( cachelist_param_t *cachelist); 00176 00177 #endif /* !CACHE_MANAGER_H_ */