UniMRCP  1.3.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
mrcp_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_header.h 2136 2014-07-04 06:33:36Z achaloyan@gmail.com $
17  */
18 
19 #ifndef MRCP_HEADER_H
20 #define MRCP_HEADER_H
21 
22 /**
23  * @file mrcp_header.h
24  * @brief MRCP Message Header Definition
25  */
26 
27 #include "mrcp_header_accessor.h"
28 
30 
31 /**
32  * Allows external applications to trigger whether
33  * transaprent header fields are supported or not
34  */
35 #define TRANSPARENT_HEADER_FIELDS_SUPPORT
36 
37 /** MRCP message header declaration */
39 /** MRCP channel-id declaration */
41 
42 
43 /** MRCP message-header */
45  /** MRCP generic-header */
47  /** MRCP resource specific header */
49 
50  /** Header section (collection of header fields)*/
52 };
53 
54 /** MRCP channel-identifier */
56  /** Unambiguous string identifying the MRCP session */
58  /** MRCP resource name */
60 };
61 
62 
63 /** Initialize MRCP message-header */
64 static APR_INLINE void mrcp_message_header_init(mrcp_message_header_t *header)
65 {
66  mrcp_header_accessor_init(&header->generic_header_accessor);
67  mrcp_header_accessor_init(&header->resource_header_accessor);
69 }
70 
71 /** Allocate MRCP message-header data */
73  mrcp_message_header_t *header,
74  const mrcp_header_vtable_t *generic_header_vtable,
75  const mrcp_header_vtable_t *resource_header_vtable,
76  apr_pool_t *pool);
77 
78 /** Create MRCP message-header */
80  const mrcp_header_vtable_t *generic_header_vtable,
81  const mrcp_header_vtable_t *resource_header_vtable,
82  apr_pool_t *pool);
83 
84 /** Destroy MRCP message-header */
85 static APR_INLINE void mrcp_message_header_destroy(mrcp_message_header_t *header)
86 {
87  mrcp_header_destroy(&header->generic_header_accessor);
88  mrcp_header_destroy(&header->resource_header_accessor);
89 }
90 
91 /** Add MRCP header field */
93 
94 
95 /** Set (copy) MRCP header fields */
97 
98 /** Get (copy) MRCP header fields */
99 MRCP_DECLARE(apt_bool_t) mrcp_header_fields_get(mrcp_message_header_t *header, const mrcp_message_header_t *src_header, const mrcp_message_header_t *mask_header, apr_pool_t *pool);
100 
101 /** Inherit (copy) MRCP header fields */
103 
104 /** Parse MRCP header fields */
106 
107 
108 /** Initialize MRCP channel-identifier */
110 
111 /** Parse MRCP channel-identifier */
113 
114 /** Generate MRCP channel-identifier */
116 
117 
118 
120 
121 #endif /* MRCP_HEADER_H */