Added const-ref wrappers to make changes backward-compatible.

This commit is contained in:
Peter Eisenlohr 2022-03-18 23:53:44 +01:00
parent 9c4cfffab8
commit fa1181aa63
14 changed files with 109 additions and 56 deletions

View File

@ -77,6 +77,7 @@ public:
* *
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline void onReady(const SuccessCallback& callback) { return onReady(SuccessCallback(callback)); }
void onReady(SuccessCallback&& callback) void onReady(SuccessCallback&& callback)
{ {
_implementation->onReady(std::move(callback)); _implementation->onReady(std::move(callback));
@ -90,6 +91,7 @@ public:
* *
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline void onError(const ErrorCallback& callback) { return onError(ErrorCallback(callback)); }
void onError(ErrorCallback&& callback) void onError(ErrorCallback&& callback)
{ {
_implementation->onError(std::move(callback)); _implementation->onError(std::move(callback));

View File

@ -212,6 +212,7 @@ public:
* Callback that is called when the channel was succesfully created. * Callback that is called when the channel was succesfully created.
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline void onReady(const SuccessCallback& callback) { return onReady(SuccessCallback(callback)); }
void onReady(SuccessCallback&& callback) void onReady(SuccessCallback&& callback)
{ {
// store callback // store callback
@ -229,6 +230,7 @@ public:
* *
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline void onError(const ErrorCallback& callback) { return onError(ErrorCallback(callback)); }
void onError(ErrorCallback&& callback); void onError(ErrorCallback&& callback);
/** /**

View File

@ -243,6 +243,7 @@ public:
* *
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline Deferred &onSuccess(const SuccessCallback& callback) { return onSuccess(SuccessCallback(callback)); }
Deferred &onSuccess(SuccessCallback&& callback) Deferred &onSuccess(SuccessCallback&& callback)
{ {
// store callback // store callback
@ -262,6 +263,7 @@ public:
* *
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline Deferred &onError(const ErrorCallback& callback) { return onError(ErrorCallback(callback)); }
Deferred &onError(ErrorCallback&& callback) Deferred &onError(ErrorCallback&& callback)
{ {
// store callback // store callback
@ -289,6 +291,7 @@ public:
* *
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline Deferred &onFinalize(const FinalizeCallback& callback) { return onFinalize(FinalizeCallback(callback)); }
Deferred &onFinalize(FinalizeCallback&& callback) Deferred &onFinalize(FinalizeCallback&& callback)
{ {
// if the object is already in a failed state, we call the callback right away // if the object is already in a failed state, we call the callback right away

View File

@ -74,6 +74,7 @@ public:
* *
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline DeferredCancel &onSuccess(const CancelCallback& callback) { return onSuccess(CancelCallback(callback)); }
DeferredCancel &onSuccess(CancelCallback&& callback) DeferredCancel &onSuccess(CancelCallback&& callback)
{ {
// store callback // store callback
@ -87,6 +88,7 @@ public:
* Register the function that is called when the cancel operation succeeded * Register the function that is called when the cancel operation succeeded
* @param callback * @param callback
*/ */
inline DeferredCancel &onSuccess(const SuccessCallback& callback) { return onSuccess(SuccessCallback(callback)); }
DeferredCancel &onSuccess(SuccessCallback&& callback) DeferredCancel &onSuccess(SuccessCallback&& callback)
{ {
// call base // call base

View File

@ -76,6 +76,7 @@ public:
* confirmed mode * confirmed mode
* @param callback * @param callback
*/ */
inline DeferredConfirm &onSuccess(const SuccessCallback& callback) { return onSuccess(SuccessCallback(callback)); }
DeferredConfirm &onSuccess(SuccessCallback&& callback) DeferredConfirm &onSuccess(SuccessCallback&& callback)
{ {
// call base // call base
@ -89,6 +90,7 @@ public:
* Callback that is called when the broker confirmed message publication * Callback that is called when the broker confirmed message publication
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline DeferredConfirm &onAck(const AckCallback& callback) { return onAck(AckCallback(callback)); }
DeferredConfirm &onAck(AckCallback&& callback) DeferredConfirm &onAck(AckCallback&& callback)
{ {
// store callback // store callback
@ -102,6 +104,7 @@ public:
* Callback that is called when the broker denied message publication * Callback that is called when the broker denied message publication
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline DeferredConfirm &onNack(const NackCallback& callback) { return onNack(NackCallback(callback)); }
DeferredConfirm &onNack(NackCallback&& callback) DeferredConfirm &onNack(NackCallback&& callback)
{ {
// store callback // store callback

View File

@ -87,6 +87,7 @@ public:
* that you need to later stop the consumer * that you need to later stop the consumer
* @param callback * @param callback
*/ */
inline DeferredConsumer &onSuccess(const ConsumeCallback& callback) { return onSuccess(ConsumeCallback(callback)); }
DeferredConsumer &onSuccess(ConsumeCallback&& callback) DeferredConsumer &onSuccess(ConsumeCallback&& callback)
{ {
// store the callback // store the callback
@ -102,6 +103,7 @@ public:
* since that will also pass the consumer-tag as parameter. * since that will also pass the consumer-tag as parameter.
* @param callback * @param callback
*/ */
inline DeferredConsumer &onSuccess(const SuccessCallback& callback) { return onSuccess(SuccessCallback(callback)); }
DeferredConsumer &onSuccess(SuccessCallback&& callback) DeferredConsumer &onSuccess(SuccessCallback&& callback)
{ {
// call base // call base
@ -115,6 +117,7 @@ public:
* Register a function to be called when a full message is received * Register a function to be called when a full message is received
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline DeferredConsumer &onReceived(const MessageCallback& callback) { return onReceived(MessageCallback(callback)); }
DeferredConsumer &onReceived(MessageCallback&& callback) DeferredConsumer &onReceived(MessageCallback&& callback)
{ {
// store callback // store callback
@ -128,6 +131,7 @@ public:
* Alias for onReceived() (see above) * Alias for onReceived() (see above)
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline DeferredConsumer &onMessage(const MessageCallback& callback) { return onMessage(MessageCallback(callback)); }
DeferredConsumer &onMessage(MessageCallback&& callback) DeferredConsumer &onMessage(MessageCallback&& callback)
{ {
// store callback // store callback
@ -166,6 +170,7 @@ public:
* @param callback The callback to invoke * @param callback The callback to invoke
* @return Same object for chaining * @return Same object for chaining
*/ */
inline DeferredConsumer &onBegin(const StartCallback& callback) { return onBegin(StartCallback(callback)); }
DeferredConsumer &onBegin(StartCallback&& callback) DeferredConsumer &onBegin(StartCallback&& callback)
{ {
// store callback // store callback
@ -182,6 +187,7 @@ public:
* @param callback The callback to invoke * @param callback The callback to invoke
* @return Same object for chaining * @return Same object for chaining
*/ */
inline DeferredConsumer &onStart(const StartCallback& callback) { return onStart(StartCallback(callback)); }
DeferredConsumer &onStart(StartCallback&& callback) DeferredConsumer &onStart(StartCallback&& callback)
{ {
// store callback // store callback
@ -197,6 +203,7 @@ public:
* @param callback The callback to invoke for message headers * @param callback The callback to invoke for message headers
* @return Same object for chaining * @return Same object for chaining
*/ */
inline DeferredConsumer &onSize(const SizeCallback& callback) { return onSize(SizeCallback(callback)); }
DeferredConsumer &onSize(SizeCallback&& callback) DeferredConsumer &onSize(SizeCallback&& callback)
{ {
// store callback // store callback
@ -212,6 +219,7 @@ public:
* @param callback The callback to invoke for message headers * @param callback The callback to invoke for message headers
* @return Same object for chaining * @return Same object for chaining
*/ */
inline DeferredConsumer &onHeaders(const HeaderCallback& callback) { return onHeaders(HeaderCallback(callback)); }
DeferredConsumer &onHeaders(HeaderCallback&& callback) DeferredConsumer &onHeaders(HeaderCallback&& callback)
{ {
// store callback // store callback
@ -234,6 +242,7 @@ public:
* @param callback The callback to invoke for chunks of message data * @param callback The callback to invoke for chunks of message data
* @return Same object for chaining * @return Same object for chaining
*/ */
inline DeferredConsumer &onData(const DataCallback& callback) { return onData(DataCallback(callback)); }
DeferredConsumer &onData(DataCallback&& callback) DeferredConsumer &onData(DataCallback&& callback)
{ {
// store callback // store callback
@ -249,6 +258,7 @@ public:
* @param callback The callback to invoke * @param callback The callback to invoke
* @return Same object for chaining * @return Same object for chaining
*/ */
inline DeferredConsumer &onComplete(const DeliveredCallback& callback) { return onComplete(DeliveredCallback(callback)); }
DeferredConsumer &onComplete(DeliveredCallback&& callback) DeferredConsumer &onComplete(DeliveredCallback&& callback)
{ {
// store callback // store callback
@ -264,6 +274,7 @@ public:
* @param callback The callback to invoke * @param callback The callback to invoke
* @return Same object for chaining * @return Same object for chaining
*/ */
inline DeferredConsumer &onDelivered(const DeliveredCallback& callback) { return onDelivered(DeliveredCallback(callback)); }
DeferredConsumer &onDelivered(DeliveredCallback&& callback) DeferredConsumer &onDelivered(DeliveredCallback&& callback)
{ {
// store callback // store callback

View File

@ -76,6 +76,7 @@ public:
* *
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline DeferredDelete &onSuccess(const DeleteCallback& callback) { return onSuccess(DeleteCallback(callback)); }
DeferredDelete &onSuccess(DeleteCallback&& callback) DeferredDelete &onSuccess(DeleteCallback&& callback)
{ {
// store callback // store callback
@ -89,6 +90,7 @@ public:
* Register the function that is called when the queue is deleted or purged * Register the function that is called when the queue is deleted or purged
* @param callback * @param callback
*/ */
inline DeferredDelete &onSuccess(const SuccessCallback& callback) { return onSuccess(SuccessCallback(callback)); }
DeferredDelete &onSuccess(SuccessCallback&& callback) DeferredDelete &onSuccess(SuccessCallback&& callback)
{ {
// call base // call base

View File

@ -95,6 +95,7 @@ public:
* This fuction is also available as onReceived() and onMessage() because I always forget which name I gave to it * This fuction is also available as onReceived() and onMessage() because I always forget which name I gave to it
* @param callback * @param callback
*/ */
inline DeferredGet &onSuccess(const MessageCallback& callback) { return onSuccess(MessageCallback(callback)); }
DeferredGet &onSuccess(MessageCallback&& callback) DeferredGet &onSuccess(MessageCallback&& callback)
{ {
// store the callback // store the callback
@ -108,6 +109,7 @@ public:
* Register a function to be called when an error occurs. This should be defined, otherwise the base methods are used. * Register a function to be called when an error occurs. This should be defined, otherwise the base methods are used.
* @param callback * @param callback
*/ */
inline DeferredGet &onError(const ErrorCallback& callback) { return onError(ErrorCallback(callback)); }
DeferredGet &onError(ErrorCallback&& callback) DeferredGet &onError(ErrorCallback&& callback)
{ {
// store the callback // store the callback
@ -122,6 +124,7 @@ public:
* This fuction is also available as onSuccess() and onMessage() because I always forget which name I gave to it * This fuction is also available as onSuccess() and onMessage() because I always forget which name I gave to it
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline DeferredGet &onReceived(const MessageCallback& callback) { return onReceived(MessageCallback(callback)); }
DeferredGet &onReceived(MessageCallback&& callback) DeferredGet &onReceived(MessageCallback&& callback)
{ {
// store callback // store callback
@ -136,6 +139,7 @@ public:
* This fuction is also available as onSuccess() and onReceived() because I always forget which name I gave to it * This fuction is also available as onSuccess() and onReceived() because I always forget which name I gave to it
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline DeferredGet &onMessage(const MessageCallback& callback) { return onMessage(MessageCallback(callback)); }
DeferredGet &onMessage(MessageCallback&& callback) DeferredGet &onMessage(MessageCallback&& callback)
{ {
// store callback // store callback
@ -149,6 +153,7 @@ public:
* Register a function to be called if no message could be fetched * Register a function to be called if no message could be fetched
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline DeferredGet &onEmpty(const EmptyCallback& callback) { return onEmpty(EmptyCallback(callback)); }
DeferredGet &onEmpty(EmptyCallback&& callback) DeferredGet &onEmpty(EmptyCallback&& callback)
{ {
// store callback // store callback
@ -162,6 +167,7 @@ public:
* Register a function to be called when queue size information is known * Register a function to be called when queue size information is known
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline DeferredGet &onCount(const CountCallback& callback) { return onCount(CountCallback(callback)); }
DeferredGet &onCount(CountCallback&& callback) DeferredGet &onCount(CountCallback&& callback)
{ {
// store callback // store callback
@ -177,6 +183,7 @@ public:
* @param callback The callback to invoke * @param callback The callback to invoke
* @return Same object for chaining * @return Same object for chaining
*/ */
inline DeferredGet &onBegin(const StartCallback& callback) { return onBegin(StartCallback(callback)); }
DeferredGet &onBegin(StartCallback&& callback) DeferredGet &onBegin(StartCallback&& callback)
{ {
// store callback // store callback
@ -192,6 +199,7 @@ public:
* @param callback The callback to invoke * @param callback The callback to invoke
* @return Same object for chaining * @return Same object for chaining
*/ */
inline DeferredGet &onStart(const StartCallback& callback) { return onStart(StartCallback(callback)); }
DeferredGet &onStart(StartCallback&& callback) DeferredGet &onStart(StartCallback&& callback)
{ {
// store callback // store callback
@ -207,6 +215,7 @@ public:
* @param callback The callback to invoke for message headers * @param callback The callback to invoke for message headers
* @return Same object for chaining * @return Same object for chaining
*/ */
inline DeferredGet &onSize(const SizeCallback& callback) { return onSize(SizeCallback(callback)); }
DeferredGet &onSize(SizeCallback&& callback) DeferredGet &onSize(SizeCallback&& callback)
{ {
// store callback // store callback
@ -222,6 +231,7 @@ public:
* @param callback The callback to invoke for message headers * @param callback The callback to invoke for message headers
* @return Same object for chaining * @return Same object for chaining
*/ */
inline DeferredGet &onHeaders(const HeaderCallback& callback) { return onHeaders(HeaderCallback(callback)); }
DeferredGet &onHeaders(HeaderCallback&& callback) DeferredGet &onHeaders(HeaderCallback&& callback)
{ {
// store callback // store callback
@ -244,6 +254,7 @@ public:
* @param callback The callback to invoke for chunks of message data * @param callback The callback to invoke for chunks of message data
* @return Same object for chaining * @return Same object for chaining
*/ */
inline DeferredGet &onData(const DataCallback& callback) { return onData(DataCallback(callback)); }
DeferredGet &onData(DataCallback&& callback) DeferredGet &onData(DataCallback&& callback)
{ {
// store callback // store callback
@ -259,6 +270,7 @@ public:
* @param callback The callback to invoke * @param callback The callback to invoke
* @return Same object for chaining * @return Same object for chaining
*/ */
inline DeferredGet &onComplete(const DeliveredCallback& callback) { return onComplete(DeliveredCallback(callback)); }
DeferredGet &onComplete(DeliveredCallback&& callback) DeferredGet &onComplete(DeliveredCallback&& callback)
{ {
// store callback // store callback
@ -274,6 +286,7 @@ public:
* @param callback The callback to invoke * @param callback The callback to invoke
* @return Same object for chaining * @return Same object for chaining
*/ */
inline DeferredGet &onDelivered(const DeliveredCallback& callback) { return onDelivered(DeliveredCallback(callback)); }
DeferredGet &onDelivered(DeliveredCallback&& callback) DeferredGet &onDelivered(DeliveredCallback&& callback)
{ {
// store callback // store callback

View File

@ -104,6 +104,7 @@ public:
* Callback that is called when the broker confirmed message publication * Callback that is called when the broker confirmed message publication
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline DeferredPublish &onAck(const PublishAckCallback& callback) { return onAck(PublishAckCallback(callback)); }
DeferredPublish &onAck(PublishAckCallback&& callback) DeferredPublish &onAck(PublishAckCallback&& callback)
{ {
// store callback // store callback
@ -117,6 +118,7 @@ public:
* Callback that is called when the broker denied message publication * Callback that is called when the broker denied message publication
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline DeferredPublish &onNack(const PublishNackCallback& callback) { return onNack(PublishNackCallback(callback)); }
DeferredPublish &onNack(PublishNackCallback&& callback) DeferredPublish &onNack(PublishNackCallback&& callback)
{ {
// store callback // store callback
@ -131,6 +133,7 @@ public:
* rejecting it or because of a channel error * rejecting it or because of a channel error
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline DeferredPublish &onLost(const PublishLostCallback& callback) { return onLost(PublishLostCallback(callback)); }
DeferredPublish &onLost(PublishLostCallback&& callback) DeferredPublish &onLost(PublishLostCallback&& callback)
{ {
// store callback // store callback

View File

@ -76,6 +76,7 @@ public:
* *
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline DeferredQueue &onSuccess(const QueueCallback& callback) { return onSuccess(QueueCallback(callback)); }
DeferredQueue &onSuccess(QueueCallback&& callback) DeferredQueue &onSuccess(QueueCallback&& callback)
{ {
// store callback // store callback
@ -89,6 +90,7 @@ public:
* Register the function that is called when the queue is declared * Register the function that is called when the queue is declared
* @param callback * @param callback
*/ */
inline DeferredQueue &onSuccess(const SuccessCallback& callback) { return onSuccess(SuccessCallback(callback)); }
DeferredQueue &onSuccess(SuccessCallback&& callback) DeferredQueue &onSuccess(SuccessCallback&& callback)
{ {
// call base // call base

View File

@ -101,6 +101,7 @@ public:
* Register a function to be called when a full message is returned * Register a function to be called when a full message is returned
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline DeferredRecall &onReceived(const BounceCallback& callback) { return onReceived(BounceCallback(callback)); }
DeferredRecall &onReceived(BounceCallback&& callback) DeferredRecall &onReceived(BounceCallback&& callback)
{ {
// store callback // store callback
@ -114,6 +115,7 @@ public:
* Alias for onReceived() (see above) * Alias for onReceived() (see above)
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline DeferredRecall &onMessage(const BounceCallback& callback) { return onMessage(BounceCallback(callback)); }
DeferredRecall &onMessage(BounceCallback&& callback) DeferredRecall &onMessage(BounceCallback&& callback)
{ {
// store callback // store callback
@ -127,6 +129,7 @@ public:
* Alias for onReceived() (see above) * Alias for onReceived() (see above)
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline DeferredRecall &onReturned(const BounceCallback& callback) { return onReturned(BounceCallback(callback)); }
DeferredRecall &onReturned(BounceCallback&& callback) DeferredRecall &onReturned(BounceCallback&& callback)
{ {
// store callback // store callback
@ -140,6 +143,7 @@ public:
* Alias for onReceived() (see above) * Alias for onReceived() (see above)
* @param callback the callback to execute * @param callback the callback to execute
*/ */
inline DeferredRecall &onBounced(const BounceCallback& callback) { return onBounced(BounceCallback(callback)); }
DeferredRecall &onBounced(BounceCallback&& callback) DeferredRecall &onBounced(BounceCallback&& callback)
{ {
// store callback // store callback
@ -156,6 +160,7 @@ public:
* @param callback The callback to invoke * @param callback The callback to invoke
* @return Same object for chaining * @return Same object for chaining
*/ */
inline DeferredRecall &onBegin(const ReturnCallback& callback) { return onBegin(ReturnCallback(callback)); }
DeferredRecall &onBegin(ReturnCallback&& callback) DeferredRecall &onBegin(ReturnCallback&& callback)
{ {
// store callback // store callback
@ -171,6 +176,7 @@ public:
* @param callback The callback to invoke for message headers * @param callback The callback to invoke for message headers
* @return Same object for chaining * @return Same object for chaining
*/ */
inline DeferredRecall &onSize(const SizeCallback& callback) { return onSize(SizeCallback(callback)); }
DeferredRecall &onSize(SizeCallback&& callback) DeferredRecall &onSize(SizeCallback&& callback)
{ {
// store callback // store callback
@ -186,6 +192,7 @@ public:
* @param callback The callback to invoke for message headers * @param callback The callback to invoke for message headers
* @return Same object for chaining * @return Same object for chaining
*/ */
inline DeferredRecall &onHeaders(const HeaderCallback& callback) { return onHeaders(HeaderCallback(callback)); }
DeferredRecall &onHeaders(HeaderCallback&& callback) DeferredRecall &onHeaders(HeaderCallback&& callback)
{ {
// store callback // store callback
@ -208,6 +215,7 @@ public:
* @param callback The callback to invoke for chunks of message data * @param callback The callback to invoke for chunks of message data
* @return Same object for chaining * @return Same object for chaining
*/ */
inline DeferredRecall &onData(const DataCallback& callback) { return onData(DataCallback(callback)); }
DeferredRecall &onData(DataCallback&& callback) DeferredRecall &onData(DataCallback&& callback)
{ {
// store callback // store callback
@ -223,6 +231,7 @@ public:
* @param callback The callback to invoke * @param callback The callback to invoke
* @return Same object for chaining * @return Same object for chaining
*/ */
inline DeferredRecall &onComplete(const ReturnedCallback& callback) { return onComplete(ReturnedCallback(callback)); }
DeferredRecall &onComplete(ReturnedCallback&& callback) DeferredRecall &onComplete(ReturnedCallback&& callback)
{ {
// store callback // store callback

View File

@ -136,6 +136,7 @@ public:
* Install an error callback * Install an error callback
* @param callback * @param callback
*/ */
inline void onError(const ErrorCallback& callback) { return onError(ErrorCallback(callback)); }
void onError(ErrorCallback&& callback); void onError(ErrorCallback&& callback);
}; };