Qpid Proton C  0.40.0
condition.h
Go to the documentation of this file.
1 #ifndef PROTON_CONDITION_H
2 #define PROTON_CONDITION_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/annotations.h>
26 #include <proton/import_export.h>
27 #include <proton/codec.h>
28 #include <proton/type_compat.h>
29 #include <stddef.h>
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
66 
75 PN_EXTERN bool pn_condition_is_set(pn_condition_t *condition);
76 
87 PN_EXTERN void pn_condition_clear(pn_condition_t *condition);
88 
96 PN_EXTERN const char *pn_condition_get_name(pn_condition_t *condition);
97 
105 PN_EXTERN int pn_condition_set_name(pn_condition_t *condition, const char *name);
106 
113 PN_EXTERN const char *pn_condition_get_description(pn_condition_t *condition);
114 
122 PN_EXTERN int pn_condition_set_description(pn_condition_t *condition, const char *description);
123 
133 PN_EXTERN pn_data_t *pn_condition_info(pn_condition_t *condition);
134 
138 PN_EXTERN int pn_condition_vformat(pn_condition_t *, const char *name, const char *fmt, va_list ap);
139 
143 PN_EXTERN int pn_condition_format(pn_condition_t *, const char *name, PN_PRINTF_FORMAT const char *fmt, ...)
144  PN_PRINTF_FORMAT_ATTR(3, 4);
145 
152 PN_EXTERN bool pn_condition_is_redirect(pn_condition_t *condition);
153 
162 PN_EXTERN const char *pn_condition_redirect_host(pn_condition_t *condition);
163 
172 PN_EXTERN int pn_condition_redirect_port(pn_condition_t *condition);
173 
177 PN_EXTERN int pn_condition_copy(pn_condition_t *dest, pn_condition_t *src);
178 
182 PN_EXTERN pn_condition_t *pn_condition(void);
183 
187 PN_EXTERN void pn_condition_free(pn_condition_t *);
188 
193 #ifdef __cplusplus
194 }
195 #endif
196 
197 #endif /* condition.h */
const char * pn_condition_redirect_host(pn_condition_t *condition)
Retrieves the redirect host from the additional information associated with the condition.
AMQP data encoding and decoding.
bool pn_condition_is_set(pn_condition_t *condition)
Returns true if the condition object is holding some information, i.e.
int pn_condition_format(pn_condition_t *, const char *name, PN_PRINTF_FORMAT const char *fmt,...) PN_PRINTF_FORMAT_ATTR(3
Set the name and printf-style formatted description.
int pn_condition_copy(pn_condition_t *dest, pn_condition_t *src)
Copy the src condition to the dst condition.
pn_condition_t * pn_condition(void)
Create a condition object.
int pn_condition_vformat(pn_condition_t *, const char *name, const char *fmt, va_list ap)
Set the name and printf-style formatted description.
struct pn_data_t pn_data_t
An AMQP Data object.
Definition: codec.h:374
const char * pn_condition_get_name(pn_condition_t *condition)
Returns the name associated with the exceptional condition, or NULL if there is no conditional inform...
int pn_condition_redirect_port(pn_condition_t *condition)
Retrieves the redirect port from the additional information associated with the condition.
int bool pn_condition_is_redirect(pn_condition_t *condition)
Returns true if the condition is a redirect.
const char * pn_condition_get_description(pn_condition_t *condition)
Gets the description associated with the exceptional condition.
struct pn_condition_t pn_condition_t
An AMQP Condition object.
Definition: condition.h:65
pn_data_t * pn_condition_info(pn_condition_t *condition)
Returns a data object that holds the additional information associated with the condition.
void pn_condition_free(pn_condition_t *)
Free a condition object.
void pn_condition_clear(pn_condition_t *condition)
Clears the condition object of any exceptional information.
int pn_condition_set_description(pn_condition_t *condition, const char *description)
Sets the description associated with the exceptional condition.
int pn_condition_set_name(pn_condition_t *condition, const char *name)
Sets the name associated with the exceptional condition.