irccd  3.0.3
Public Types | Public Member Functions | List of all members
irccd::daemon::plugin Class Referenceabstract

Abstract plugin. More...

#include <plugin.hpp>

Inheritance diagram for irccd::daemon::plugin:
irccd::js::plugin irccd::test::broken_plugin irccd::test::mock_plugin

Public Types

using map = std::unordered_map< std::string, std::string >
 

Public Member Functions

 plugin (std::string id) noexcept
 
virtual ~plugin ()=default
 
auto get_id () const noexcept -> const std::string &
 
virtual auto get_name () const noexcept -> std::string_view=0
 
virtual auto get_author () const noexcept -> std::string_view
 
virtual auto get_license () const noexcept -> std::string_view
 
virtual auto get_summary () const noexcept -> std::string_view
 
virtual auto get_version () const noexcept -> std::string_view
 
virtual auto get_options () const -> map
 
virtual void set_options (const map &map)
 
virtual auto get_templates () const -> map
 
virtual void set_templates (const map &map)
 
virtual auto get_paths () const -> map
 
virtual void set_paths (const map &map)
 
virtual void handle_command (bot &bot, const message_event &event)
 
virtual void handle_connect (bot &bot, const connect_event &event)
 
virtual void handle_disconnect (bot &bot, const disconnect_event &event)
 
virtual void handle_invite (bot &bot, const invite_event &event)
 
virtual void handle_join (bot &bot, const join_event &event)
 
virtual void handle_kick (bot &bot, const kick_event &event)
 
virtual void handle_load (bot &bot)
 
virtual void handle_message (bot &bot, const message_event &event)
 
virtual void handle_me (bot &bot, const me_event &event)
 
virtual void handle_mode (bot &bot, const mode_event &event)
 
virtual void handle_names (bot &bot, const names_event &event)
 
virtual void handle_nick (bot &bot, const nick_event &event)
 
virtual void handle_notice (bot &bot, const notice_event &event)
 
virtual void handle_part (bot &bot, const part_event &event)
 
virtual void handle_reload (bot &bot)
 
virtual void handle_topic (bot &bot, const topic_event &event)
 
virtual void handle_unload (bot &bot)
 
virtual void handle_whois (bot &bot, const whois_event &event)
 

Detailed Description

Abstract plugin.

A plugin is identified by name and can be loaded and unloaded at runtime.

Member Typedef Documentation

◆ map

using irccd::daemon::plugin::map = std::unordered_map<std::string, std::string>

Map for key/value pairs.

Used in options, templates and paths.

Constructor & Destructor Documentation

◆ plugin()

irccd::daemon::plugin::plugin ( std::string  id)
noexcept

Construct a plugin.

Precondition
id must be a valid identifier
Parameters
idthe plugin id

◆ ~plugin()

virtual irccd::daemon::plugin::~plugin ( )
virtualdefault

Temporary, close all timers.

Member Function Documentation

◆ get_author()

virtual auto irccd::daemon::plugin::get_author ( ) const -> std::string_view
virtualnoexcept

Get the author.

Returns
the author

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ get_id()

auto irccd::daemon::plugin::get_id ( ) const -> const std::string &
noexcept

Get user unique id.

Returns
the plugin id

◆ get_license()

virtual auto irccd::daemon::plugin::get_license ( ) const -> std::string_view
virtualnoexcept

Get the license.

Returns
the license

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ get_name()

virtual auto irccd::daemon::plugin::get_name ( ) const -> std::string_view
pure virtualnoexcept

Get the plugin name.

Returns
the plugin name

Implemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ get_options()

virtual auto irccd::daemon::plugin::get_options ( ) const -> map
virtual

Get all options.

Returns
options

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ get_paths()

virtual auto irccd::daemon::plugin::get_paths ( ) const -> map
virtual

Get all paths.

Returns
paths

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ get_summary()

virtual auto irccd::daemon::plugin::get_summary ( ) const -> std::string_view
virtualnoexcept

Get the summary.

Returns
the summary

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ get_templates()

virtual auto irccd::daemon::plugin::get_templates ( ) const -> map
virtual

Get all templates.

Returns
the templates

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ get_version()

virtual auto irccd::daemon::plugin::get_version ( ) const -> std::string_view
virtualnoexcept

Get the version.

Returns
the version

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ handle_command()

virtual void irccd::daemon::plugin::handle_command ( bot bot,
const message_event event 
)
virtual

On channel message. This event will call onMessage or onCommand if the messages starts with the command character plus the plugin name.

Parameters
botthe irccd instance
eventthe event

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ handle_connect()

virtual void irccd::daemon::plugin::handle_connect ( bot bot,
const connect_event event 
)
virtual

On successful connection.

Parameters
botthe irccd instance
eventthe event

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ handle_disconnect()

virtual void irccd::daemon::plugin::handle_disconnect ( bot bot,
const disconnect_event event 
)
virtual

On disconnection.

Parameters
botthe irccd instance
eventthe event

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ handle_invite()

virtual void irccd::daemon::plugin::handle_invite ( bot bot,
const invite_event event 
)
virtual

On invitation.

Parameters
botthe irccd instance
eventthe event

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ handle_join()

virtual void irccd::daemon::plugin::handle_join ( bot bot,
const join_event event 
)
virtual

On join.

Parameters
botthe irccd instance
eventthe event

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ handle_kick()

virtual void irccd::daemon::plugin::handle_kick ( bot bot,
const kick_event event 
)
virtual

On kick.

Parameters
botthe irccd instance
eventthe event

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ handle_load()

virtual void irccd::daemon::plugin::handle_load ( bot bot)
virtual

On load.

Parameters
botthe irccd instance

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ handle_me()

virtual void irccd::daemon::plugin::handle_me ( bot bot,
const me_event event 
)
virtual

On CTCP Action.

Parameters
botthe irccd instance
eventthe event

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ handle_message()

virtual void irccd::daemon::plugin::handle_message ( bot bot,
const message_event event 
)
virtual

On channel message.

Parameters
botthe irccd instance
eventthe event

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ handle_mode()

virtual void irccd::daemon::plugin::handle_mode ( bot bot,
const mode_event event 
)
virtual

On user mode change.

Parameters
botthe irccd instance
eventthe event

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ handle_names()

virtual void irccd::daemon::plugin::handle_names ( bot bot,
const names_event event 
)
virtual

On names listing.

Parameters
botthe irccd instance
eventthe event

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ handle_nick()

virtual void irccd::daemon::plugin::handle_nick ( bot bot,
const nick_event event 
)
virtual

On nick change.

Parameters
botthe irccd instance
eventthe event

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ handle_notice()

virtual void irccd::daemon::plugin::handle_notice ( bot bot,
const notice_event event 
)
virtual

On user notice.

Parameters
botthe irccd instance
eventthe event

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ handle_part()

virtual void irccd::daemon::plugin::handle_part ( bot bot,
const part_event event 
)
virtual

On part.

Parameters
botthe irccd instance
eventthe event

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ handle_reload()

virtual void irccd::daemon::plugin::handle_reload ( bot bot)
virtual

On reload.

Parameters
botthe irccd instance

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ handle_topic()

virtual void irccd::daemon::plugin::handle_topic ( bot bot,
const topic_event event 
)
virtual

On topic change.

Parameters
botthe irccd instance
eventthe event

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ handle_unload()

virtual void irccd::daemon::plugin::handle_unload ( bot bot)
virtual

On unload.

Parameters
botthe irccd instance

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ handle_whois()

virtual void irccd::daemon::plugin::handle_whois ( bot bot,
const whois_event event 
)
virtual

On whois information.

Parameters
botthe irccd instance
eventthe event

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ set_options()

virtual void irccd::daemon::plugin::set_options ( const map map)
virtual

Set all options.

Parameters
mapthe options

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ set_paths()

virtual void irccd::daemon::plugin::set_paths ( const map map)
virtual

Set all paths.

Parameters
mapthe paths

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.

◆ set_templates()

virtual void irccd::daemon::plugin::set_templates ( const map map)
virtual

Set all templates.

Parameters
mapthe templates

Reimplemented in irccd::js::plugin, irccd::test::mock_plugin, and irccd::test::broken_plugin.


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