Loading...
Searching...
No Matches
sender_options.hpp
Go to the documentation of this file.
#ifndef PROTON_SENDER_OPTIONS_HPP
#define PROTON_SENDER_OPTIONS_HPP
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/
#include "./fwd.hpp"
#include "./internal/export.hpp"
#include "./delivery_mode.hpp"
#include "./types_fwd.hpp"
#include <map>
#include <memory>
#include <string>
namespace proton {
class sender_options {
public:
PN_CPP_EXTERN sender_options();
PN_CPP_EXTERN sender_options(const sender_options&);
PN_CPP_EXTERN ~sender_options();
PN_CPP_EXTERN sender_options& operator=(const sender_options&);
PN_CPP_EXTERN void update(const sender_options& other);
PN_CPP_EXTERN sender_options& handler(class messaging_handler&);
PN_CPP_EXTERN sender_options& delivery_mode(delivery_mode);
PN_CPP_EXTERN sender_options& auto_settle(bool);
PN_CPP_EXTERN sender_options& source(const source_options&);
PN_CPP_EXTERN sender_options& target(const target_options&);
PN_CPP_EXTERN sender_options& name(const std::string& name);
PN_CPP_EXTERN sender_options& properties(const std::map<symbol, value>&);
private:
void apply(sender&) const;
const std::string* get_name() const; // Pointer to name if set, else 0
class impl;
std::unique_ptr<impl> impl_;
friend class sender;
friend class session;
};
} // proton
#endif // PROTON_SENDER_OPTIONS_HPP
proton::messaging_handler
Handler for Proton messaging events.
Definition messaging_handler.hpp:69
proton::sender_options::update
void update(const sender_options &other)
Merge with another option set.
proton::sender_options::sender_options
sender_options(const sender_options &)
Copy options.
proton::sender_options::source
sender_options & source(const source_options &)
Options for the source node of the sender.
proton::sender_options::properties
sender_options & properties(const std::map< symbol, value > &)
Unsettled API - Link properties.
proton::sender_options::sender_options
sender_options()
Create an empty set of options.
proton::sender_options::operator=
sender_options & operator=(const sender_options &)
Copy options.
proton::sender_options::name
sender_options & name(const std::string &name)
Set the link name. If not set a unique name is generated.
proton::sender_options::delivery_mode
sender_options & delivery_mode(delivery_mode)
Set the delivery mode on the sender.
proton::sender_options::target
sender_options & target(const target_options &)
Options for the receiver node of the receiver.
proton::sender_options::handler
sender_options & handler(class messaging_handler &)
Set a messaging_handler for sender events only.
proton::sender_options::auto_settle
sender_options & auto_settle(bool)
If True (default), automatically settle messages upon receiving a settled disposition for that delive...
proton::sender
A channel for sending messages.
Definition sender.hpp:40
proton::session
A container of senders and receivers.
Definition session.hpp:42
proton::source_options
Options for creating a source node for a sender or receiver.
Definition source_options.hpp:46
proton::target_options
Options for creating a target node for a sender or receiver.
Definition target_options.hpp:46
delivery_mode.hpp
The message delivery policy to establish when opening a link.
fwd.hpp
Forward declarations.
proton
The main Proton namespace.
Definition annotation_key.hpp:33
types_fwd.hpp
Forward declarations for Proton types used to represent AMQP types.