query_parser.h
Go to the documentation of this file.
/*
* $Id$
*
* Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
* Copyright (c) 2002-2014, Professor Benoit Macq
* Copyright (c) 2010-2011, Kaori Hagihara
* Copyright (c) 2011, Lucian Corlaciu, GSoC
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef QUERY_PARSER_H_
# define QUERY_PARSER_H_
#include "opj_includes.h"
#define MAX_NUMOFBOX 10
typedef enum cnew_transport { non, http, tcp, udp} cnew_transport_t;
typedef enum image_return { JPPstream, JPTstream, UNKNOWN = -1} image_return_t;
typedef struct query_param {
char *target;
char *tid;
int fx, fy;
int rx, ry, rw, rh;
int layers;
int lastcomp;
OPJ_BOOL *comps;
char *cid;
cnew_transport_t
cnew;
char *cclose;
int numOfcclose;
char box_type[MAX_NUMOFBOX][4];
int limit[MAX_NUMOFBOX];
OPJ_BOOL w[MAX_NUMOFBOX];
OPJ_BOOL s[MAX_NUMOFBOX];
OPJ_BOOL g[MAX_NUMOFBOX];
OPJ_BOOL a[MAX_NUMOFBOX];
OPJ_BOOL priority[MAX_NUMOFBOX];
int root_bin;
int max_depth;
OPJ_BOOL metadata_only;
image_return_t return_type;
int len;
} query_param_t;
query_param_t * parse_query(const char *query_string);
void print_queryparam(query_param_t query_param);
void delete_query(query_param_t **query);
#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