OpenJPEG  2.1.0
target_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 TARGET_MANAGER_H_
32 # define TARGET_MANAGER_H_
33 
34 #include "index_manager.h"
35 
37 #define MAX_LENOFTID 30
38 
40 typedef struct target_param{
41  char tid[MAX_LENOFTID];
42  char *targetname;
43  int fd;
44 #ifdef SERVER
45  char *tmpfname;
46 #endif
47  int csn;
49  int num_of_use;
52  struct target_param *next;
54 
55 
57 typedef struct targetlist_param{
61 
62 
63 
70 
71 
79 target_param_t * gene_target( targetlist_param_t *targetlist, char *targetpath);
80 
81 
88 void refer_target( target_param_t *reftarget, target_param_t **ptr);
89 
90 
96 void unrefer_target( target_param_t *target);
97 
103 void delete_target( target_param_t **target);
104 
105 
112 void delete_target_in_list( target_param_t **target, targetlist_param_t *targetlist);
113 
114 
120 void delete_targetlist(targetlist_param_t **targetlist);
121 
122 
128 void print_target( target_param_t *target);
129 
135 void print_alltarget( targetlist_param_t *targetlist);
136 
137 
145 target_param_t * search_target( const char targetname[], targetlist_param_t *targetlist);
146 
147 
155 target_param_t * search_targetBytid( const char tid[], targetlist_param_t *targetlist);
156 
157 #endif /* !TARGET_MANAGER_H_ */
158 
OPJ_BOOL jptstream
if this target can return JPP-stream
Definition: target_manager.h:51
void print_alltarget(targetlist_param_t *targetlist)
print all target parameters
Definition: target_manager.c:207
struct target_param * next
pointer to the next target
Definition: target_manager.h:52
target_param_t * first
first target pointer of the list
Definition: target_manager.h:58
void delete_target(target_param_t **target)
delete a target
Definition: target_manager.c:143
char * targetname
local file path or URL ( URL is suported only with SERVER mode)
Definition: target_manager.h:42
int OPJ_BOOL
Definition: openjpeg.h:110
int num_of_use
numbers of sessions refering to this target
Definition: target_manager.h:49
int fd
file descriptor
Definition: target_manager.h:43
targetlist_param_t * gene_targetlist(void)
generate a target list
Definition: target_manager.c:57
target_param_t * search_target(const char targetname[], targetlist_param_t *targetlist)
search a target by target name
Definition: target_manager.c:218
struct target_param target_param_t
target parameters
Target list parameters.
Definition: target_manager.h:57
struct targetlist_param targetlist_param_t
Target list parameters.
void delete_target_in_list(target_param_t **target, targetlist_param_t *targetlist)
delete a target in list
Definition: target_manager.c:166
target_param_t * gene_target(targetlist_param_t *targetlist, char *targetpath)
generate a target
Definition: target_manager.c:79
void unrefer_target(target_param_t *target)
refer a target, used to make a new cache model
Definition: target_manager.c:138
#define MAX_LENOFTID
maximum length of target identifier
Definition: target_manager.h:37
void refer_target(target_param_t *reftarget, target_param_t **ptr)
refer a target, used to make a new cache model
Definition: target_manager.c:132
target_param_t * search_targetBytid(const char tid[], targetlist_param_t *targetlist)
search a target by tid
Definition: target_manager.c:234
char tid[MAX_LENOFTID]
target identifier
Definition: target_manager.h:41
target_param_t * last
last target pointer of the list
Definition: target_manager.h:59
index parameters
Definition: index_manager.h:86
void print_target(target_param_t *target)
print target parameters
Definition: target_manager.c:199
int csn
codestream number
Definition: target_manager.h:47
OPJ_BOOL jppstream
if this target can return JPP-stream
Definition: target_manager.h:50
index_param_t * codeidx
index information of codestream
Definition: target_manager.h:48
target parameters
Definition: target_manager.h:40
void delete_targetlist(targetlist_param_t **targetlist)
delete target list
Definition: target_manager.c:186