UniMRCP  1.3.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
mrcp_generic_header.h
Go to the documentation of this file.
1 /*
2  * Copyright 2008-2014 Arsen Chaloyan
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  * $Id: mrcp_generic_header.h 2136 2014-07-04 06:33:36Z achaloyan@gmail.com $
17  */
18 
19 #ifndef MRCP_GENERIC_HEADER_H
20 #define MRCP_GENERIC_HEADER_H
21 
22 /**
23  * @file mrcp_generic_header.h
24  * @brief MRCP Generic Header
25  */
26 
27 #include "mrcp_types.h"
28 #include "mrcp_header_accessor.h"
29 
31 
32 /** Enumeration of MRCP generic header fields */
33 typedef enum {
34  GENERIC_HEADER_ACTIVE_REQUEST_ID_LIST,
35  GENERIC_HEADER_PROXY_SYNC_ID,
36  GENERIC_HEADER_ACCEPT_CHARSET,
37  GENERIC_HEADER_CONTENT_TYPE,
38  GENERIC_HEADER_CONTENT_ID,
39  GENERIC_HEADER_CONTENT_BASE,
40  GENERIC_HEADER_CONTENT_ENCODING,
41  GENERIC_HEADER_CONTENT_LOCATION,
42  GENERIC_HEADER_CONTENT_LENGTH,
43  GENERIC_HEADER_CACHE_CONTROL,
44  GENERIC_HEADER_LOGGING_TAG,
45  GENERIC_HEADER_VENDOR_SPECIFIC_PARAMS,
46 
47  /** Additional header fields for MRCP v2 */
49  GENERIC_HEADER_FETCH_TIMEOUT,
50  GENERIC_HEADER_SET_COOKIE,
51  GENERIC_HEADER_SET_COOKIE2,
52 
53  GENERIC_HEADER_COUNT
55 
56 /** MRCP request identifiers list declaration */
58 /** MRCP vendor specific parameter list of pairs */
60 /** MRCP generic header declaration */
62 
63 /** Max number of request ids in active request id list */
64 #define MAX_ACTIVE_REQUEST_ID_COUNT 5
65 /** List (array) of MRCP request identifiers */
67  /** Array of request identifiers */
69  /** Number of request identifiers */
70  apr_size_t count;
71 };
72 
73 
74 /** MRCP generic header */
76  /** Indicates the list of request-ids to which it should apply */
78  /** Helps the resource receiving the event, proxied by the client,
79  to decide if this event has been processed through a direct interaction of the resources */
81  /** Specifies the acceptable character set for entities returned in the response or events associated with this request */
83  /** Restricted to speech markup, grammar, recognition results, etc. */
85  /** Contains an ID or name for the content, by which it can be referred to */
87  /** May be used to specify the base URI for resolving relative URLs within the entity */
89  /** Indicates what additional content coding has been applied to the entity-body */
91  /** Statement of the location of the resource corresponding to this particular entity at the time of the request */
93  /** Contains the length of the content of the message body */
95  /** Defines the default caching algorithms on the media server for the session or request */
97  /** Sets the logging tag for logs generated by the media server */
99  /** Specifies the vendor specific parameters used by the media server */
101 
102  /** Additional header fields for MRCP v2 */
103  /** Specifies the acceptable media types set for entities returned in the response or events associated with this request */
105  /** Defines the timeout for content that the server may need to fetch over the network */
106  apr_size_t fetch_timeout;
107  /** Enables to synchronize the cookie store of MRCP v2 client and server */
109  /** Enables to synchronize the cookie store of MRCP v2 client and server */
111 };
112 
113 /** Get generic header vtable */
115 
116 
117 /** Append active request id list */
119 /** Find request id in active request id list */
121 
122 
124 
125 #endif /* MRCP_GENERIC_HEADER_H */