Main Page
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
fielddesc.h
Go to the documentation of this file.
1
/* $Id$
2
*
3
* OpenMAMA: The open middleware agnostic messaging API
4
* Copyright (C) 2011 NYSE Technologies, Inc.
5
*
6
* This library is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* This library is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with this library; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19
* 02110-1301 USA
20
*/
21
22
#ifndef MamaFieldDescriptorH__
23
#define MamaFieldDescriptorH__
24
29
#include <
mama/status.h
>
30
#include <
mama/types.h
>
31
#include <stdlib.h>
32
33
#include "wombat/port.h"
34
35
#if defined(__cplusplus)
36
extern
"C"
{
37
#endif
38
39
typedef
enum
mamaFieldType_
40
{
42
MAMA_FIELD_TYPE_MSG
= 1,
43
45
MAMA_FIELD_TYPE_OPAQUE
= 7,
46
48
MAMA_FIELD_TYPE_STRING
= 8,
49
51
MAMA_FIELD_TYPE_BOOL
= 9,
52
54
MAMA_FIELD_TYPE_CHAR
= 10,
55
57
MAMA_FIELD_TYPE_I8
= 14,
58
60
MAMA_FIELD_TYPE_U8
= 15,
61
63
MAMA_FIELD_TYPE_I16
= 16,
64
66
MAMA_FIELD_TYPE_U16
= 17,
67
69
MAMA_FIELD_TYPE_I32
= 18,
70
72
MAMA_FIELD_TYPE_U32
= 19,
73
75
MAMA_FIELD_TYPE_I64
= 20,
76
78
MAMA_FIELD_TYPE_U64
= 21,
79
81
MAMA_FIELD_TYPE_F32
= 24,
82
84
MAMA_FIELD_TYPE_F64
= 25,
85
87
MAMA_FIELD_TYPE_TIME
= 26,
88
90
MAMA_FIELD_TYPE_PRICE
= 27,
91
93
MAMA_FIELD_TYPE_VECTOR_I8
= 34,
94
MAMA_FIELD_TYPE_VECTOR_U8
= 35,
95
MAMA_FIELD_TYPE_VECTOR_I16
= 36,
96
MAMA_FIELD_TYPE_VECTOR_U16
= 37,
97
MAMA_FIELD_TYPE_VECTOR_I32
= 38,
98
MAMA_FIELD_TYPE_VECTOR_U32
= 39,
99
MAMA_FIELD_TYPE_VECTOR_I64
= 40,
100
MAMA_FIELD_TYPE_VECTOR_U64
= 41,
101
MAMA_FIELD_TYPE_VECTOR_F32
= 44,
102
MAMA_FIELD_TYPE_VECTOR_F64
= 45,
103
MAMA_FIELD_TYPE_VECTOR_STRING
= 46,
104
MAMA_FIELD_TYPE_VECTOR_MSG
= 47,
105
MAMA_FIELD_TYPE_VECTOR_TIME
= 48,
106
MAMA_FIELD_TYPE_VECTOR_PRICE
= 49,
107
MAMA_FIELD_TYPE_QUANTITY
= 50,
108
110
MAMA_FIELD_TYPE_COLLECTION
= 99,
111
113
MAMA_FIELD_TYPE_UNKNOWN
= 100
114
115
}
mamaFieldType
;
116
124
MAMAExpDLL
125
extern
const
char
*
126
mamaFieldTypeToString
(
mamaFieldType
type);
127
135
MAMAExpDLL
136
extern
mamaFieldType
137
stringToMamaFieldType
(
const
char
* str);
138
149
MAMAExpDLL
150
extern
mama_status
151
mamaFieldDescriptor_create
(
152
mamaFieldDescriptor
* descriptor,
153
mama_fid_t
fid,
154
mamaFieldType
type,
155
const
char
* name);
156
163
MAMAExpDLL
164
extern
mama_status
165
mamaFieldDescriptor_destroy
(
166
mamaFieldDescriptor
descriptor);
167
174
MAMAExpDLL
175
mama_fid_t
176
mamaFieldDescriptor_getFid
(
177
const
mamaFieldDescriptor
descriptor);
178
184
MAMAExpDLL
185
mamaFieldType
186
mamaFieldDescriptor_getType
(
187
const
mamaFieldDescriptor
descriptor);
188
195
MAMAExpDLL
196
const
char
*
197
mamaFieldDescriptor_getName
(
198
const
mamaFieldDescriptor
descriptor);
199
205
MAMAExpDLL
206
const
char
*
207
mamaFieldDescriptor_getTypeName
(
208
const
mamaFieldDescriptor
descriptor);
209
219
MAMAExpDLL
220
mama_status
221
mamaFieldDescriptor_setClosure
(
222
mamaFieldDescriptor
descriptor,
223
void
*
closure
);
224
235
MAMAExpDLL
236
mama_status
237
mamaFieldDescriptor_getClosure
(
238
mamaFieldDescriptor
descriptor,
239
void
**
closure
);
240
241
#if defined(__cplusplus)
242
}
243
#endif
244
245
#endif
/* MamaFieldDescriptorH__ */
© 2012 Linux Foundation