proton
0
Main Page
Related Pages
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
include
proton
message.h
Go to the documentation of this file.
1
#ifndef PROTON_MESSAGE_H
2
#define PROTON_MESSAGE_H 1
3
4
/*
5
*
6
* Licensed to the Apache Software Foundation (ASF) under one
7
* or more contributor license agreements. See the NOTICE file
8
* distributed with this work for additional information
9
* regarding copyright ownership. The ASF licenses this file
10
* to you under the Apache License, Version 2.0 (the
11
* "License"); you may not use this file except in compliance
12
* with the License. You may obtain a copy of the License at
13
*
14
* http://www.apache.org/licenses/LICENSE-2.0
15
*
16
* Unless required by applicable law or agreed to in writing,
17
* software distributed under the License is distributed on an
18
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
19
* KIND, either express or implied. See the License for the
20
* specific language governing permissions and limitations
21
* under the License.
22
*
23
*/
24
25
#include <
proton/import_export.h
>
26
#include <
proton/types.h
>
27
#include <
proton/codec.h
>
28
#include <
proton/error.h
>
29
#include <sys/types.h>
30
#ifndef __cplusplus
31
#include <stdbool.h>
32
#endif
33
34
#ifdef __cplusplus
35
extern
"C"
{
36
#endif
37
38
typedef
struct
pn_message_t
pn_message_t
;
39
40
typedef
enum
{
41
PN_DATA
,
42
PN_TEXT
,
43
PN_AMQP
,
44
PN_JSON
45
}
pn_format_t
;
46
47
#define PN_DEFAULT_PRIORITY (4)
48
49
PN_EXTERN
pn_message_t
*
pn_message
(
void
);
50
PN_EXTERN
void
pn_message_free
(
pn_message_t
*msg);
51
52
PN_EXTERN
void
pn_message_clear
(
pn_message_t
*msg);
53
PN_EXTERN
int
pn_message_errno
(
pn_message_t
*msg);
54
PN_EXTERN
pn_error_t
*
pn_message_error
(
pn_message_t
*msg);
55
56
PN_EXTERN
bool
pn_message_is_inferred
(
pn_message_t
*msg);
57
PN_EXTERN
int
pn_message_set_inferred
(
pn_message_t
*msg,
bool
inferred);
58
59
// standard message headers and properties
60
PN_EXTERN
bool
pn_message_is_durable
(
pn_message_t
*msg);
61
PN_EXTERN
int
pn_message_set_durable
(
pn_message_t
*msg,
bool
durable);
62
63
PN_EXTERN
uint8_t
pn_message_get_priority
(
pn_message_t
*msg);
64
PN_EXTERN
int
pn_message_set_priority
(
pn_message_t
*msg, uint8_t priority);
65
66
PN_EXTERN
pn_millis_t
pn_message_get_ttl
(
pn_message_t
*msg);
67
PN_EXTERN
int
pn_message_set_ttl
(
pn_message_t
*msg,
pn_millis_t
ttl);
68
69
PN_EXTERN
bool
pn_message_is_first_acquirer
(
pn_message_t
*msg);
70
PN_EXTERN
int
pn_message_set_first_acquirer
(
pn_message_t
*msg,
bool
first);
71
72
PN_EXTERN
uint32_t
pn_message_get_delivery_count
(
pn_message_t
*msg);
73
PN_EXTERN
int
pn_message_set_delivery_count
(
pn_message_t
*msg, uint32_t count);
74
75
PN_EXTERN
pn_data_t
*
pn_message_id
(
pn_message_t
*msg);
76
PN_EXTERN
pn_atom_t
pn_message_get_id
(
pn_message_t
*msg);
77
PN_EXTERN
int
pn_message_set_id
(
pn_message_t
*msg,
pn_atom_t
id
);
78
79
PN_EXTERN
pn_bytes_t
pn_message_get_user_id
(
pn_message_t
*msg);
80
PN_EXTERN
int
pn_message_set_user_id
(
pn_message_t
*msg,
pn_bytes_t
user_id);
81
82
PN_EXTERN
const
char
*
pn_message_get_address
(
pn_message_t
*msg);
83
PN_EXTERN
int
pn_message_set_address
(
pn_message_t
*msg,
const
char
*address);
84
85
PN_EXTERN
const
char
*
pn_message_get_subject
(
pn_message_t
*msg);
86
PN_EXTERN
int
pn_message_set_subject
(
pn_message_t
*msg,
const
char
*subject);
87
88
PN_EXTERN
const
char
*
pn_message_get_reply_to
(
pn_message_t
*msg);
89
PN_EXTERN
int
pn_message_set_reply_to
(
pn_message_t
*msg,
const
char
*reply_to);
90
91
PN_EXTERN
pn_data_t
*
pn_message_correlation_id
(
pn_message_t
*msg);
92
PN_EXTERN
pn_atom_t
pn_message_get_correlation_id
(
pn_message_t
*msg);
93
PN_EXTERN
int
pn_message_set_correlation_id
(
pn_message_t
*msg,
pn_atom_t
atom);
94
95
PN_EXTERN
const
char
*
pn_message_get_content_type
(
pn_message_t
*msg);
96
PN_EXTERN
int
pn_message_set_content_type
(
pn_message_t
*msg,
const
char
*type);
97
98
PN_EXTERN
const
char
*
pn_message_get_content_encoding
(
pn_message_t
*msg);
99
PN_EXTERN
int
pn_message_set_content_encoding
(
pn_message_t
*msg,
const
char
*encoding);
100
101
PN_EXTERN
pn_timestamp_t
pn_message_get_expiry_time
(
pn_message_t
*msg);
102
PN_EXTERN
int
pn_message_set_expiry_time
(
pn_message_t
*msg,
pn_timestamp_t
time);
103
104
PN_EXTERN
pn_timestamp_t
pn_message_get_creation_time
(
pn_message_t
*msg);
105
PN_EXTERN
int
pn_message_set_creation_time
(
pn_message_t
*msg,
pn_timestamp_t
time);
106
107
PN_EXTERN
const
char
*
pn_message_get_group_id
(
pn_message_t
*msg);
108
PN_EXTERN
int
pn_message_set_group_id
(
pn_message_t
*msg,
const
char
*group_id);
109
110
PN_EXTERN
pn_sequence_t
pn_message_get_group_sequence
(
pn_message_t
*msg);
111
PN_EXTERN
int
pn_message_set_group_sequence
(
pn_message_t
*msg,
pn_sequence_t
n);
112
113
PN_EXTERN
const
char
*
pn_message_get_reply_to_group_id
(
pn_message_t
*msg);
114
PN_EXTERN
int
pn_message_set_reply_to_group_id
(
pn_message_t
*msg,
const
char
*reply_to_group_id);
115
116
PN_EXTERN
pn_format_t
pn_message_get_format
(
pn_message_t
*message);
117
PN_EXTERN
int
pn_message_set_format
(
pn_message_t
*message,
pn_format_t
format);
118
119
PN_EXTERN
int
pn_message_load
(
pn_message_t
*message,
const
char
*data,
size_t
size);
120
PN_EXTERN
int
pn_message_load_data
(
pn_message_t
*message,
const
char
*data,
size_t
size);
121
PN_EXTERN
int
pn_message_load_text
(
pn_message_t
*message,
const
char
*data,
size_t
size);
122
PN_EXTERN
int
pn_message_load_amqp
(
pn_message_t
*message,
const
char
*data,
size_t
size);
123
PN_EXTERN
int
pn_message_load_json
(
pn_message_t
*message,
const
char
*data,
size_t
size);
124
125
PN_EXTERN
int
pn_message_save
(
pn_message_t
*message,
char
*data,
size_t
*size);
126
PN_EXTERN
int
pn_message_save_data
(
pn_message_t
*message,
char
*data,
size_t
*size);
127
PN_EXTERN
int
pn_message_save_text
(
pn_message_t
*message,
char
*data,
size_t
*size);
128
PN_EXTERN
int
pn_message_save_amqp
(
pn_message_t
*message,
char
*data,
size_t
*size);
129
PN_EXTERN
int
pn_message_save_json
(
pn_message_t
*message,
char
*data,
size_t
*size);
130
131
PN_EXTERN
pn_data_t
*
pn_message_instructions
(
pn_message_t
*msg);
132
PN_EXTERN
pn_data_t
*
pn_message_annotations
(
pn_message_t
*msg);
133
PN_EXTERN
pn_data_t
*
pn_message_properties
(
pn_message_t
*msg);
134
PN_EXTERN
pn_data_t
*
pn_message_body
(
pn_message_t
*msg);
135
136
PN_EXTERN
int
pn_message_decode
(
pn_message_t
*msg,
const
char
*bytes,
size_t
size);
137
PN_EXTERN
int
pn_message_encode
(
pn_message_t
*msg,
char
*bytes,
size_t
*size);
138
139
PN_EXTERN
ssize_t
pn_message_data
(
char
*dst,
size_t
available,
const
char
*src,
size_t
size);
140
141
#ifdef __cplusplus
142
}
143
#endif
144
145
#endif
/* message.h */
Generated on Wed Aug 28 2013 11:45:23 for proton by
1.8.3.1