OpenJPEG  2.5.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 
search_target
target_param_t * search_target(const char targetname[], targetlist_param_t *targetlist)
search a target by target name
Definition: target_manager.c:224
target_param::codeidx
index_param_t * codeidx
index information of codestream
Definition: target_manager.h:49
delete_targetlist
void delete_targetlist(targetlist_param_t **targetlist)
delete target list
Definition: target_manager.c:192
target_param::csn
int csn
codestream number
Definition: target_manager.h:47
gene_target
target_param_t * gene_target(targetlist_param_t *targetlist, char *targetpath)
generate a target
Definition: target_manager.c:79
FCGI_stdout
#define FCGI_stdout
Definition: target_manager.c:52
logstream
#define logstream
Definition: target_manager.c:54
gene_targetlist
targetlist_param_t * gene_targetlist(void)
generate a target list
Definition: target_manager.c:57
target_param::jppstream
OPJ_BOOL jppstream
if this target can return JPP-stream
Definition: target_manager.h:51
index_param
index parameters
Definition: index_manager.h:86
gene_targetlist
targetlist_param_t * gene_targetlist(void)
generate a target list
Definition: target_manager.c:57
delete_index
void delete_index(index_param_t **index)
delete index
Definition: index_manager.c:192
delete_target_in_list
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::next
struct target_param * next
pointer to the next target
Definition: target_manager.h:53
refer_target
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
MAX_LENOFTID
#define MAX_LENOFTID
maximum length of target identifier
Definition: target_manager.h:37
targetlist_param::last
target_param_t * last
last target pointer of the list
Definition: target_manager.h:61
OPJ_BOOL
int OPJ_BOOL
Definition: openjpeg.h:116
refer_target
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::jptstream
OPJ_BOOL jptstream
if this target can return JPP-stream
Definition: target_manager.h:52
target_manager.h
print_target
void print_target(target_param_t *target)
print target parameters
Definition: target_manager.c:205
open_jp2file
int open_jp2file(const char filepath[], char tmpfname[])
open jp2 format image file
Definition: target_manager.c:263
gene_target
target_param_t * gene_target(targetlist_param_t *targetlist, char *targetpath)
generate a target
Definition: target_manager.c:79
OPJ_TRUE
#define OPJ_TRUE
Definition: openjpeg.h:117
opj_malloc
void * opj_malloc(size_t size)
Allocate an uninitialized memory block.
Definition: opj_malloc.c:191
unrefer_target
void unrefer_target(target_param_t *target)
refer a target, used to make a new cache model
Definition: target_manager.c:141
opj_free
void opj_free(void *ptr)
Deallocates or frees a memory block.
Definition: opj_malloc.c:246
delete_target
void delete_target(target_param_t **target)
delete a target
Definition: target_manager.c:146
target_param::num_of_use
int num_of_use
numbers of sessions referring to this target
Definition: target_manager.h:50
open_remotefile
int open_remotefile(const char filepath[], char tmpfname[])
Definition: target_manager.c:314
delete_target
void delete_target(target_param_t **target)
delete a target
Definition: target_manager.c:146
target_param::targetname
char * targetname
local file path or URL ( URL is supported only with SERVER mode)
Definition: target_manager.h:42
unrefer_target
void unrefer_target(target_param_t *target)
refer a target, used to make a new cache model
Definition: target_manager.c:141
delete_target_in_list
void delete_target_in_list(target_param_t **target, targetlist_param_t *targetlist)
delete a target in list
Definition: target_manager.c:170
targetlist_param
Target list parameters.
Definition: target_manager.h:59
isJPTfeasible
OPJ_BOOL isJPTfeasible(index_param_t index)
answers if the target is feasible to JPT-stream
Definition: index_manager.c:792
target_param::tid
char tid[MAX_LENOFTID]
target identifier
Definition: target_manager.h:41
parse_jp2file
index_param_t * parse_jp2file(int fd)
parse JP2 file AnnexI: Indexing JPEG2000 files for JPIP
Definition: index_manager.c:73
target_param::fd
int fd
file descriptor
Definition: target_manager.h:43
target_param
target parameters
Definition: target_manager.h:40
search_target
target_param_t * search_target(const char targetname[], targetlist_param_t *targetlist)
search a target by target name
Definition: target_manager.c:224
search_targetBytid
target_param_t * search_targetBytid(const char tid[], targetlist_param_t *targetlist)
search a target by tid
Definition: target_manager.c:242
print_alltarget
void print_alltarget(targetlist_param_t *targetlist)
print all target parameters
Definition: target_manager.c:213
targetlist_param_t
struct targetlist_param targetlist_param_t
Target list parameters.
index_manager.h
FCGI_stderr
#define FCGI_stderr
Definition: target_manager.c:53
print_target
void print_target(target_param_t *target)
print target parameters
Definition: target_manager.c:205
targetlist_param::first
target_param_t * first
first target pointer of the list
Definition: target_manager.h:60
target_param_t
struct target_param target_param_t
target parameters
delete_targetlist
void delete_targetlist(targetlist_param_t **targetlist)
delete target list
Definition: target_manager.c:192
search_targetBytid
target_param_t * search_targetBytid(const char tid[], targetlist_param_t *targetlist)
search a target by tid
Definition: target_manager.c:242
print_alltarget
void print_alltarget(targetlist_param_t *targetlist)
print all target parameters
Definition: target_manager.c:213