SMACC2
smacc2_sm_reference_library
sm_dance_bot_warehouse
include
sm_dance_bot_warehouse
clients
cl_service3
client_behaviors
cb_service3.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
21
#include <
sm_dance_bot_warehouse/clients/cl_service3/cl_service3.hpp
>
22
#include <
smacc2/smacc_client_behavior.hpp
>
23
24
namespace
sm_dance_bot_warehouse
25
{
26
namespace
cl_service3
27
{
28
enum class
Service3Command
29
{
30
SERVICE3_ON,
31
SERVICE3_OFF
32
};
33
34
class
CbService3
:
public
smacc2::SmaccClientBehavior
35
{
36
private
:
37
ClService3
*
serviceClient_
;
38
Service3Command
value_
;
39
40
public
:
41
CbService3
(
Service3Command
value) {
value_
= value; }
42
43
void
onEntry
()
override
44
{
45
this->
requiresClient
(serviceClient_);
46
47
auto
req = std::make_shared<std_srvs::srv::SetBool::Request>();
48
if
(
value_
==
Service3Command::SERVICE3_ON
)
49
req->data =
true
;
50
else
51
req->data =
false
;
52
53
serviceClient_
->
call
(req);
54
}
55
};
56
}
// namespace cl_service3
57
}
// namespace sm_dance_bot_warehouse
sm_dance_bot_warehouse::cl_service3::CbService3
Definition:
cb_service3.hpp:35
sm_dance_bot_warehouse::cl_service3::CbService3::serviceClient_
ClService3 * serviceClient_
Definition:
cb_service3.hpp:37
sm_dance_bot_warehouse::cl_service3::CbService3::value_
Service3Command value_
Definition:
cb_service3.hpp:38
sm_dance_bot_warehouse::cl_service3::CbService3::onEntry
void onEntry() override
Definition:
cb_service3.hpp:43
sm_dance_bot_warehouse::cl_service3::CbService3::CbService3
CbService3(Service3Command value)
Definition:
cb_service3.hpp:41
sm_dance_bot_warehouse::cl_service3::ClService3
Definition:
cl_service3.hpp:30
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::SmaccServiceClient::call
std::shared_ptr< typename ServiceType::Response > call(std::shared_ptr< typename ServiceType::Request > &request)
Definition:
smacc_service_client.hpp:56
sm_dance_bot_warehouse::cl_service3::Service3Command
Service3Command
Definition:
cb_service3.hpp:29
sm_dance_bot_warehouse::cl_service3::Service3Command::SERVICE3_ON
@ SERVICE3_ON
sm_dance_bot_warehouse
Definition:
cl_led.hpp:27
smacc_client_behavior.hpp
cl_service3.hpp
Generated by
1.9.4