Class ClGcalcli

Inheritance Relationships

Base Type

  • public smacc2::ISmaccClient

Class Documentation

class ClGcalcli : public smacc2::ISmaccClient

SMACC2 Client for Google Calendar integration via gcalcli.

This client provides Google Calendar functionality through the gcalcli command-line tool. It follows the pure orchestrator pattern, creating and configuring components that implement the actual functionality.

Components:

Usage example:

class OrCalendar : public smacc2::Orthogonal<OrCalendar> {
  void onInitialize() override {
    cl_gcalcli::GcalcliConfig config;
    config.poll_interval = std::chrono::seconds{30};
    this->createClient<cl_gcalcli::ClGcalcli>(config);
  }
};

Public Functions

ClGcalcli()
explicit ClGcalcli(const GcalcliConfig &config)
virtual ~ClGcalcli() = default
void configure(const GcalcliConfig &config)

Set configuration before initialization.

inline const GcalcliConfig &getConfig() const

Get current configuration.

template<typename TOrthogonal, typename TClient>
inline void onComponentInitialization()

Template method for component initialization with orthogonal context.

inline CpGcalcliConnection *getConnection()
inline CpCalendarPoller *getPoller()
inline CpCalendarEventListener *getEventListener()