SMACC2
smacc2
include
smacc2
client_behaviors
cb_subscription_callback_base.hpp
Go to the documentation of this file.
1
// Copyright 2021 RobosoftAI Inc.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
/*****************************************************************************************************************
16
*
17
* Authors: Pablo Inigo Blasco, Brett Aldrich
18
*
19
******************************************************************************************************************/
20
#pragma once
21
#include <
smacc2/smacc_client_behavior.hpp
>
22
23
namespace
smacc2
24
{
25
namespace
client_behaviors
26
{
27
template
<
typename
TMsg>
28
class
CbSubscriptionCallbackBase
:
public
smacc2::SmaccClientBehavior
29
{
30
public
:
31
void
onEntry
()
override
32
{
33
this->
requiresClient
(
attachedClient_
);
34
attachedClient_
->
onMessageReceived
(&
CbSubscriptionCallbackBase::onMessageReceived
,
this
);
35
}
36
37
virtual
void
onMessageReceived
(
const
TMsg & msg) = 0;
38
39
protected
:
40
smacc2::client_bases::SmaccSubscriberClient<TMsg>
*
attachedClient_
=
nullptr
;
41
};
42
}
// namespace client_behaviors
43
}
// namespace smacc2
smacc2::ISmaccClientBehavior::requiresClient
void requiresClient(SmaccClientType *&storage)
Definition:
smacc_client_behavior_impl.hpp:67
smacc2::SmaccClientBehavior
Definition:
smacc_client_behavior.hpp:27
smacc2::client_bases::SmaccSubscriberClient< TMsg >
smacc2::client_bases::SmaccSubscriberClient::onMessageReceived
boost::signals2::connection onMessageReceived(void(T::*callback)(const MessageType &), T *object)
Definition:
smacc_subscriber_client.hpp:59
smacc2::client_behaviors::CbSubscriptionCallbackBase
Definition:
cb_subscription_callback_base.hpp:29
smacc2::client_behaviors::CbSubscriptionCallbackBase::attachedClient_
smacc2::client_bases::SmaccSubscriberClient< TMsg > * attachedClient_
Definition:
cb_subscription_callback_base.hpp:40
smacc2::client_behaviors::CbSubscriptionCallbackBase::onMessageReceived
virtual void onMessageReceived(const TMsg &msg)=0
smacc2::client_behaviors::CbSubscriptionCallbackBase::onEntry
void onEntry() override
Definition:
cb_subscription_callback_base.hpp:31
smacc2
Definition:
cp_topic_publisher.hpp:28
smacc_client_behavior.hpp
Generated by
1.9.4