proton/delivery.h

Go to the documentation of this file.
00001 #ifndef PROTON_DELIVERY_H
00002 #define PROTON_DELIVERY_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/disposition.h>
00027 #include <proton/type_compat.h>
00028 #include <stddef.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C" {
00032 #endif
00033 
00046 typedef pn_bytes_t pn_delivery_tag_t;
00047 
00055 PN_EXTERN pn_delivery_tag_t pn_dtag(const char *bytes, size_t size);
00056 
00068 PN_EXTERN pn_delivery_t *pn_delivery(pn_link_t *link, pn_delivery_tag_t tag);
00069 
00081 PN_EXTERN void *pn_delivery_get_context(pn_delivery_t *delivery);
00082 
00094 PN_EXTERN void pn_delivery_set_context(pn_delivery_t *delivery, void *context);
00095 
00102 PN_EXTERN pn_record_t *pn_delivery_attachments(pn_delivery_t *delivery);
00103 
00110 PN_EXTERN pn_delivery_tag_t pn_delivery_tag(pn_delivery_t *delivery);
00111 
00118 PN_EXTERN pn_link_t *pn_delivery_link(pn_delivery_t *delivery);
00119 
00129 PN_EXTERN pn_disposition_t *pn_delivery_local(pn_delivery_t *delivery);
00130 
00137 PN_EXTERN uint64_t pn_delivery_local_state(pn_delivery_t *delivery);
00138 
00148 PN_EXTERN pn_disposition_t *pn_delivery_remote(pn_delivery_t *delivery);
00149 
00156 PN_EXTERN uint64_t pn_delivery_remote_state(pn_delivery_t *delivery);
00157 
00164 PN_EXTERN bool pn_delivery_settled(pn_delivery_t *delivery);
00165 
00172 PN_EXTERN size_t pn_delivery_pending(pn_delivery_t *delivery);
00173 
00183 PN_EXTERN bool pn_delivery_partial(pn_delivery_t *delivery);
00184 
00203 PN_EXTERN bool pn_delivery_aborted(pn_delivery_t *delivery);
00204 
00214 PN_EXTERN bool pn_delivery_writable(pn_delivery_t *delivery);
00215 
00225 PN_EXTERN bool pn_delivery_readable(pn_delivery_t *delivery);
00226 
00237 PN_EXTERN bool pn_delivery_updated(pn_delivery_t *delivery);
00238 
00248 PN_EXTERN void pn_delivery_update(pn_delivery_t *delivery, uint64_t state);
00249 
00257 PN_EXTERN void pn_delivery_clear(pn_delivery_t *delivery);
00258 
00265 PN_EXTERN bool pn_delivery_current(pn_delivery_t *delivery);
00266 
00284 PN_EXTERN void pn_delivery_abort(pn_delivery_t *delivery);
00285 
00296 PN_EXTERN void pn_delivery_settle(pn_delivery_t *delivery);
00297 
00303 PN_EXTERN void pn_delivery_dump(pn_delivery_t *delivery);
00304 
00317 PN_EXTERN bool pn_delivery_buffered(pn_delivery_t *delivery);
00318 
00335 PN_EXTERN pn_delivery_t *pn_work_head(pn_connection_t *connection);
00336 
00346 PN_EXTERN pn_delivery_t *pn_work_next(pn_delivery_t *delivery);
00347 
00352 #ifdef __cplusplus
00353 }
00354 #endif
00355 
00356 #endif /* delivery.h */

Generated on 3 Aug 2018 for Qpid Proton C by  doxygen 1.6.1