OpenJPEG 2.5.0

query_parser.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 * Copyright (c) 2011, Lucian Corlaciu, GSoC
8 * All rights reserved.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
20 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 */
31
32#ifndef QUERY_PARSER_H_
33# define QUERY_PARSER_H_
34
35#include "opj_includes.h"
36
38#define MAX_NUMOFBOX 10
39
41 typedef enum cnew_transport { non, http, tcp, udp} cnew_transport_t;
42
44 typedef enum image_return { JPPstream, JPTstream, UNKNOWN = -1} image_return_t;
45
47 typedef struct query_param {
48 char *target;
49 char *tid;
50 int fx, fy;
51 int rx, ry, rw, rh;
52 int layers;
53 int lastcomp;
54 OPJ_BOOL *comps;
55 char *cid;
56 cnew_transport_t
57 cnew;
58 char *cclose;
59 int numOfcclose;
60 char box_type[MAX_NUMOFBOX][4];
61 int limit[MAX_NUMOFBOX];
62 OPJ_BOOL w[MAX_NUMOFBOX];
63 OPJ_BOOL s[MAX_NUMOFBOX];
64 OPJ_BOOL g[MAX_NUMOFBOX];
65 OPJ_BOOL a[MAX_NUMOFBOX];
66 OPJ_BOOL priority[MAX_NUMOFBOX];
67 int root_bin;
68 int max_depth;
69 OPJ_BOOL metadata_only;
70 image_return_t return_type;
71 int len;
72} query_param_t;
73
74
81 query_param_t * parse_query(const char *query_string);
82
88 void print_queryparam(query_param_t query_param);
89
90
96 void delete_query(query_param_t **query);
97
98#endif /* !QUERY_PARSER_H_ */
OPJ_BOOL
int OPJ_BOOL
Definition: openjpeg.h:116
opj_includes.h
query_param_t
struct query_param query_param_t
Query parameters.
image_return
image_return
image return type
Definition: query_parser.h:44
JPPstream
@ JPPstream
Definition: query_parser.h:44
UNKNOWN
@ UNKNOWN
Definition: query_parser.h:44
JPTstream
@ JPTstream
Definition: query_parser.h:44
parse_query
query_param_t * parse_query(const char *query_string)
parse query
Definition: query_parser.c:88
image_return_t
enum image_return image_return_t
image return type
cnew_transport
cnew_transport
cnew aux transport name
Definition: query_parser.h:41
tcp
@ tcp
Definition: query_parser.h:41
non
@ non
Definition: query_parser.h:41
udp
@ udp
Definition: query_parser.h:41
http
@ http
Definition: query_parser.h:41
cnew_transport_t
enum cnew_transport cnew_transport_t
cnew aux transport name
MAX_NUMOFBOX
#define MAX_NUMOFBOX
maximum number of meta request box
Definition: query_parser.h:38
print_queryparam
void print_queryparam(query_param_t query_param)
print query parameters
Definition: query_parser.c:238
delete_query
void delete_query(query_param_t **query)
delete query
Definition: query_parser.c:449
query_param
Query parameters.
Definition: query_parser.h:47
query_param::a
OPJ_BOOL a[MAX_NUMOFBOX]
Definition: query_parser.h:65
query_param::cclose
char * cclose
list of closing channel identifiers, separated by '\0'
Definition: query_parser.h:58
query_param::priority
OPJ_BOOL priority[MAX_NUMOFBOX]
priority flag
Definition: query_parser.h:66
query_param::len
int len
maximum response length
Definition: query_parser.h:71
query_param::tid
char * tid
target identifier
Definition: query_parser.h:49
query_param::lastcomp
int lastcomp
last component number
Definition: query_parser.h:53
query_param::limit
int limit[MAX_NUMOFBOX]
limit value, -1: skeleton request "r", 0: entire contents
Definition: query_parser.h:61
query_param::box_type
char box_type[MAX_NUMOFBOX][4]
interested box-types
Definition: query_parser.h:60
query_param::g
OPJ_BOOL g[MAX_NUMOFBOX]
Definition: query_parser.h:64
query_param::rh
int rh
roi region
Definition: query_parser.h:51
query_param::cnew
cnew_transport_t cnew
transport name if there is new channel request, else non
Definition: query_parser.h:57
query_param::fx
int fx
Definition: query_parser.h:50
query_param::ry
int ry
Definition: query_parser.h:51
query_param::w
OPJ_BOOL w[MAX_NUMOFBOX]
Metadata request qualifier flags.
Definition: query_parser.h:62
query_param::target
char * target
target name
Definition: query_parser.h:48
query_param::metadata_only
OPJ_BOOL metadata_only
metadata-only request
Definition: query_parser.h:69
query_param::root_bin
int root_bin
root-bin
Definition: query_parser.h:67
query_param::layers
int layers
quality layers
Definition: query_parser.h:52
query_param::numOfcclose
int numOfcclose
number of closing channels
Definition: query_parser.h:59
query_param::comps
OPJ_BOOL * comps
components (dynamic array) for jpp-stream, null means all components
Definition: query_parser.h:54
query_param::max_depth
int max_depth
max-depth
Definition: query_parser.h:68
query_param::rx
int rx
Definition: query_parser.h:51
query_param::cid
char * cid
channel identifier
Definition: query_parser.h:55
query_param::rw
int rw
Definition: query_parser.h:51
query_param::s
OPJ_BOOL s[MAX_NUMOFBOX]
Definition: query_parser.h:63
query_param::fy
int fy
frame size (fx,fy)
Definition: query_parser.h:50
query_param::return_type
image_return_t return_type
image return type
Definition: query_parser.h:70