OpenJPEG  2.3.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;
50  int num_of_use;
53  struct target_param
54  *next;
56 
57 
59 typedef struct targetlist_param {
63 
64 
65 
72 
73 
81 target_param_t * gene_target(targetlist_param_t *targetlist, char *targetpath);
82 
83 
90 void refer_target(target_param_t *reftarget, target_param_t **ptr);
91 
92 
98 void unrefer_target(target_param_t *target);
99 
105 void delete_target(target_param_t **target);
106 
107 
115  targetlist_param_t *targetlist);
116 
117 
123 void delete_targetlist(targetlist_param_t **targetlist);
124 
125 
131 void print_target(target_param_t *target);
132 
138 void print_alltarget(targetlist_param_t *targetlist);
139 
140 
148 target_param_t * search_target(const char targetname[],
149  targetlist_param_t *targetlist);
150 
151 
159 target_param_t * search_targetBytid(const char tid[],
160  targetlist_param_t *targetlist);
161 
162 #endif /* !TARGET_MANAGER_H_ */
163 
OPJ_BOOL jptstream
if this target can return JPP-stream
Definition: target_manager.h:52
void print_alltarget(targetlist_param_t *targetlist)
print all target parameters
Definition: target_manager.c:213
struct target_param * next
pointer to the next target
Definition: target_manager.h:53
target_param_t * first
first target pointer of the list
Definition: target_manager.h:60
void delete_target(target_param_t **target)
delete a target
Definition: target_manager.c:146
char * targetname
local file path or URL ( URL is supported only with SERVER mode)
Definition: target_manager.h:42
int OPJ_BOOL
Definition: openjpeg.h:110
int num_of_use
numbers of sessions referring to this target
Definition: target_manager.h:50
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:224
struct target_param target_param_t
target parameters
Target list parameters.
Definition: target_manager.h:59
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:170
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:141
#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:135
target_param_t * search_targetBytid(const char tid[], targetlist_param_t *targetlist)
search a target by tid
Definition: target_manager.c:242
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:61
index parameters
Definition: index_manager.h:86
void print_target(target_param_t *target)
print target parameters
Definition: target_manager.c:205
int csn
codestream number
Definition: target_manager.h:47
OPJ_BOOL jppstream
if this target can return JPP-stream
Definition: target_manager.h:51
index_param_t * codeidx
index information of codestream
Definition: target_manager.h:49
target parameters
Definition: target_manager.h:40
void delete_targetlist(targetlist_param_t **targetlist)
delete target list
Definition: target_manager.c:192