SMACC2
Loading...
Searching...
No Matches
cl_gcalcli::CbRefreshAgenda Class Reference

Sync behavior that forces an immediate agenda refresh. More...

#include <cb_refresh_agenda.hpp>

Inheritance diagram for cl_gcalcli::CbRefreshAgenda:
Inheritance graph
Collaboration diagram for cl_gcalcli::CbRefreshAgenda:
Collaboration graph

Public Member Functions

 CbRefreshAgenda ()=default
 
virtual ~CbRefreshAgenda ()=default
 
void onEntry () override
 
bool wasSuccessful () const
 Check if refresh was successful.
 
- Public Member Functions inherited from smacc2::SmaccClientBehavior
virtual ~SmaccClientBehavior ()
 
void onEntry () override
 
void onExit () override
 
- Public Member Functions inherited from smacc2::ISmaccClientBehavior
 ISmaccClientBehavior ()
 
virtual ~ISmaccClientBehavior ()
 
ISmaccStateMachinegetStateMachine ()
 
std::string getName () const
 
template<typename SmaccClientType >
void requiresClient (SmaccClientType *&storage)
 
template<typename SmaccComponentType >
void requiresComponent (SmaccComponentType *&storage, ComponentRequirement requirementType=ComponentRequirement::SOFT)
 
virtual void executeOnEntry ()
 
virtual void executeOnExit ()
 

Private Attributes

ClGcalcliclient_
 
bool success_
 

Additional Inherited Members

- Protected Member Functions inherited from smacc2::ISmaccClientBehavior
virtual void runtimeConfigure ()
 
template<typename EventType >
void postEvent (const EventType &ev)
 
template<typename EventType >
void postEvent ()
 
ISmaccStategetCurrentState ()
 
virtual void dispose ()
 
virtual rclcpp::Node::SharedPtr getNode () const
 
virtual rclcpp::Logger getLogger () const
 

Detailed Description

Sync behavior that forces an immediate agenda refresh.

This behavior triggers an immediate refresh of the calendar agenda without waiting for the next poll interval.

Definition at line 30 of file cb_refresh_agenda.hpp.

Constructor & Destructor Documentation

◆ CbRefreshAgenda()

cl_gcalcli::CbRefreshAgenda::CbRefreshAgenda ( )
default

◆ ~CbRefreshAgenda()

virtual cl_gcalcli::CbRefreshAgenda::~CbRefreshAgenda ( )
virtualdefault

Member Function Documentation

◆ onEntry()

void cl_gcalcli::CbRefreshAgenda::onEntry ( )
overridevirtual

Reimplemented from smacc2::ISmaccClientBehavior.

Definition at line 20 of file cb_refresh_agenda.cpp.

21{
22 RCLCPP_INFO(getLogger(), "[CbRefreshAgenda] Refreshing calendar agenda");
23
24 success_ = false;
25
27
28 if (!client_)
29 {
30 RCLCPP_ERROR(getLogger(), "[CbRefreshAgenda] ClGcalcli client not available");
31 return;
32 }
33
34 auto * poller = client_->getPoller();
35 if (!poller)
36 {
37 RCLCPP_ERROR(getLogger(), "[CbRefreshAgenda] CpCalendarPoller not available");
38 return;
39 }
40
41 success_ = poller->refreshAgenda();
42
43 if (success_)
44 {
45 auto events = poller->getEvents();
46 RCLCPP_INFO(getLogger(), "[CbRefreshAgenda] Agenda refreshed: %zu events", events.size());
47 }
48 else
49 {
50 RCLCPP_WARN(getLogger(), "[CbRefreshAgenda] Agenda refresh failed");
51 }
52}
CpCalendarPoller * getPoller()
virtual rclcpp::Logger getLogger() const
void requiresClient(SmaccClientType *&storage)

References client_, smacc2::ISmaccClientBehavior::getLogger(), cl_gcalcli::ClGcalcli::getPoller(), smacc2::ISmaccClientBehavior::requiresClient(), and success_.

Here is the call graph for this function:

◆ wasSuccessful()

bool cl_gcalcli::CbRefreshAgenda::wasSuccessful ( ) const
inline

Check if refresh was successful.

Definition at line 41 of file cb_refresh_agenda.hpp.

41{ return success_; }

References success_.

Member Data Documentation

◆ client_

ClGcalcli* cl_gcalcli::CbRefreshAgenda::client_
private

Definition at line 44 of file cb_refresh_agenda.hpp.

Referenced by onEntry().

◆ success_

bool cl_gcalcli::CbRefreshAgenda::success_
private

Definition at line 45 of file cb_refresh_agenda.hpp.

Referenced by onEntry(), and wasSuccessful().


The documentation for this class was generated from the following files: