proton/message.h

Go to the documentation of this file.
00001 #ifndef PROTON_MESSAGE_H
00002 #define PROTON_MESSAGE_H 1
00003 
00004 /*
00005  *
00006  * Licensed to the Apache Software Foundation (ASF) under one
00007  * or more contributor license agreements.  See the NOTICE file
00008  * distributed with this work for additional information
00009  * regarding copyright ownership.  The ASF licenses this file
00010  * to you under the Apache License, Version 2.0 (the
00011  * "License"); you may not use this file except in compliance
00012  * with the License.  You may obtain a copy of the License at
00013  *
00014  *   http://www.apache.org/licenses/LICENSE-2.0
00015  *
00016  * Unless required by applicable law or agreed to in writing,
00017  * software distributed under the License is distributed on an
00018  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
00019  * KIND, either express or implied.  See the License for the
00020  * specific language governing permissions and limitations
00021  * under the License.
00022  *
00023  */
00024 
00025 #include <proton/import_export.h>
00026 #include <proton/types.h>
00027 #include <proton/codec.h>
00028 #include <proton/error.h>
00029 #include <proton/type_compat.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C" {
00033 #endif
00034 
00051 typedef struct pn_message_t pn_message_t;
00052 
00056 #define PN_DEFAULT_PRIORITY (4)
00057 
00066 PN_EXTERN pn_message_t * pn_message(void);
00067 
00073 PN_EXTERN void           pn_message_free(pn_message_t *msg);
00074 
00084 PN_EXTERN void           pn_message_clear(pn_message_t *msg);
00085 
00097 PN_EXTERN int            pn_message_errno(pn_message_t *msg);
00098 
00111 PN_EXTERN pn_error_t    *pn_message_error(pn_message_t *msg);
00112 
00127 PN_EXTERN bool           pn_message_is_inferred(pn_message_t *msg);
00128 
00139 PN_EXTERN int            pn_message_set_inferred(pn_message_t *msg, bool inferred);
00140 
00150 PN_EXTERN bool           pn_message_is_durable            (pn_message_t *msg);
00151 
00162 PN_EXTERN int            pn_message_set_durable           (pn_message_t *msg, bool durable);
00163 
00174 PN_EXTERN uint8_t        pn_message_get_priority          (pn_message_t *msg);
00175 
00185 PN_EXTERN int            pn_message_set_priority          (pn_message_t *msg, uint8_t priority);
00186 
00199 PN_EXTERN pn_millis_t    pn_message_get_ttl               (pn_message_t *msg);
00200 
00210 PN_EXTERN int            pn_message_set_ttl               (pn_message_t *msg, pn_millis_t ttl);
00211 
00224 PN_EXTERN bool           pn_message_is_first_acquirer     (pn_message_t *msg);
00225 
00236 PN_EXTERN int            pn_message_set_first_acquirer    (pn_message_t *msg, bool first);
00237 
00248 PN_EXTERN uint32_t       pn_message_get_delivery_count    (pn_message_t *msg);
00249 
00260 PN_EXTERN int            pn_message_set_delivery_count    (pn_message_t *msg, uint32_t count);
00261 
00275 PN_EXTERN pn_data_t *    pn_message_id                    (pn_message_t *msg);
00276 
00289 PN_EXTERN pn_atom_t      pn_message_get_id                (pn_message_t *msg);
00290 
00302 PN_EXTERN int            pn_message_set_id                (pn_message_t *msg, pn_atom_t id);
00303 
00317 PN_EXTERN pn_bytes_t     pn_message_get_user_id           (pn_message_t *msg);
00318 
00329 PN_EXTERN int            pn_message_set_user_id           (pn_message_t *msg, pn_bytes_t user_id);
00330 
00345 PN_EXTERN const char *   pn_message_get_address           (pn_message_t *msg);
00346 
00359 PN_EXTERN int            pn_message_set_address           (pn_message_t *msg, const char *address);
00360 
00375 PN_EXTERN const char *   pn_message_get_subject           (pn_message_t *msg);
00376 
00389 PN_EXTERN int            pn_message_set_subject           (pn_message_t *msg, const char *subject);
00390 
00405 PN_EXTERN const char *   pn_message_get_reply_to          (pn_message_t *msg);
00406 
00419 PN_EXTERN int            pn_message_set_reply_to          (pn_message_t *msg, const char *reply_to);
00420 
00433 PN_EXTERN pn_data_t *    pn_message_correlation_id        (pn_message_t *msg);
00434 
00446 PN_EXTERN pn_atom_t      pn_message_get_correlation_id    (pn_message_t *msg);
00447 
00459 PN_EXTERN int            pn_message_set_correlation_id    (pn_message_t *msg, pn_atom_t id);
00460 
00475 PN_EXTERN const char *   pn_message_get_content_type      (pn_message_t *msg);
00476 
00489 PN_EXTERN int            pn_message_set_content_type      (pn_message_t *msg, const char *type);
00490 
00505 PN_EXTERN const char *   pn_message_get_content_encoding  (pn_message_t *msg);
00506 
00519 PN_EXTERN int            pn_message_set_content_encoding  (pn_message_t *msg, const char *encoding);
00520 
00530 PN_EXTERN pn_timestamp_t pn_message_get_expiry_time       (pn_message_t *msg);
00531 
00541 PN_EXTERN int            pn_message_set_expiry_time       (pn_message_t *msg, pn_timestamp_t time);
00542 
00552 PN_EXTERN pn_timestamp_t pn_message_get_creation_time     (pn_message_t *msg);
00553 
00563 PN_EXTERN int            pn_message_set_creation_time     (pn_message_t *msg, pn_timestamp_t time);
00564 
00579 PN_EXTERN const char *   pn_message_get_group_id          (pn_message_t *msg);
00580 
00593 PN_EXTERN int            pn_message_set_group_id          (pn_message_t *msg, const char *group_id);
00594 
00605 PN_EXTERN pn_sequence_t  pn_message_get_group_sequence    (pn_message_t *msg);
00606 
00617 PN_EXTERN int            pn_message_set_group_sequence    (pn_message_t *msg, pn_sequence_t n);
00618 
00633 PN_EXTERN const char *   pn_message_get_reply_to_group_id (pn_message_t *msg);
00634 
00647 PN_EXTERN int            pn_message_set_reply_to_group_id (pn_message_t *msg, const char *reply_to_group_id);
00648 
00664 PN_EXTERN pn_data_t *pn_message_instructions(pn_message_t *msg);
00665 
00680 PN_EXTERN pn_data_t *pn_message_annotations(pn_message_t *msg);
00681 
00696 PN_EXTERN pn_data_t *pn_message_properties(pn_message_t *msg);
00697 
00709 PN_EXTERN pn_data_t *pn_message_body(pn_message_t *msg);
00710 
00723 PN_EXTERN int pn_message_decode(pn_message_t *msg, const char *bytes, size_t size);
00724 
00738 PN_EXTERN int pn_message_encode(pn_message_t *msg, char *bytes, size_t *size);
00739 
00743 PN_EXTERN int pn_message_data(pn_message_t *msg, pn_data_t *data);
00744 
00748 #ifdef __cplusplus
00749 }
00750 #endif
00751 
00752 #endif /* message.h */

Generated on 28 Nov 2017 for Qpid Proton C by  doxygen 1.6.1