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;
48 index_param_t
49 *codeidx;
50 int num_of_use;
51 OPJ_BOOL jppstream;
52 OPJ_BOOL jptstream;
53 struct target_param
54 *next;
55} target_param_t;
56
57
59 typedef struct targetlist_param {
60 target_param_t *first;
61 target_param_t *last;
62} targetlist_param_t;
63
64
65
71 targetlist_param_t * gene_targetlist(void);
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
114 void delete_target_in_list(target_param_t **target,
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
index_manager.h
OPJ_BOOL
int OPJ_BOOL
Definition: openjpeg.h:116
index_param
index parameters
Definition: index_manager.h:86
target_param
target parameters
Definition: target_manager.h:40
target_param::num_of_use
int num_of_use
numbers of sessions referring to this target
Definition: target_manager.h:50
target_param::jptstream
OPJ_BOOL jptstream
if this target can return JPP-stream
Definition: target_manager.h:52
target_param::next
struct target_param * next
pointer to the next target
Definition: target_manager.h:53
target_param::tid
char tid[MAX_LENOFTID]
target identifier
Definition: target_manager.h:41
target_param::fd
int fd
file descriptor
Definition: target_manager.h:43
target_param::targetname
char * targetname
local file path or URL ( URL is supported only with SERVER mode)
Definition: target_manager.h:42
target_param::codeidx
index_param_t * codeidx
index information of codestream
Definition: target_manager.h:49
target_param::csn
int csn
codestream number
Definition: target_manager.h:47
target_param::jppstream
OPJ_BOOL jppstream
if this target can return JPP-stream
Definition: target_manager.h:51
targetlist_param
Target list parameters.
Definition: target_manager.h:59
targetlist_param::first
target_param_t * first
first target pointer of the list
Definition: target_manager.h:60
targetlist_param::last
target_param_t * last
last target pointer of the list
Definition: target_manager.h:61
targetlist_param_t
struct targetlist_param targetlist_param_t
Target list parameters.
unrefer_target
void unrefer_target(target_param_t *target)
refer a target, used to make a new cache model
Definition: target_manager.c:141
target_param_t
struct target_param target_param_t
target parameters
gene_target
target_param_t * gene_target(targetlist_param_t *targetlist, char *targetpath)
generate a target
Definition: target_manager.c:79
search_targetBytid
target_param_t * search_targetBytid(const char tid[], targetlist_param_t *targetlist)
search a target by tid
Definition: target_manager.c:242
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
delete_targetlist
void delete_targetlist(targetlist_param_t **targetlist)
delete target list
Definition: target_manager.c:192
print_target
void print_target(target_param_t *target)
print target parameters
Definition: target_manager.c:205
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
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
MAX_LENOFTID
#define MAX_LENOFTID
maximum length of target identifier
Definition: target_manager.h:37
delete_target
void delete_target(target_param_t **target)
delete a target
Definition: target_manager.c:146
print_alltarget
void print_alltarget(targetlist_param_t *targetlist)
print all target parameters
Definition: target_manager.c:213
gene_targetlist
targetlist_param_t * gene_targetlist(void)
generate a target list
Definition: target_manager.c:57