Logging of the messages, customizable replies, assigning groups
This commit is contained in:
parent
f03f392cee
commit
7f57cd3bf6
21 changed files with 288 additions and 62 deletions
module
|
@ -7,34 +7,29 @@
|
|||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
#include "shared/definitions.h"
|
||||
#include "shared/result.h"
|
||||
#include "component/core.h"
|
||||
#include "component/actor.h"
|
||||
#include "connection/connection.h"
|
||||
|
||||
namespace Module {
|
||||
|
||||
class Module {
|
||||
public:
|
||||
typedef std::vector<std::string> Tokens;
|
||||
typedef std::vector<std::string> List;
|
||||
typedef std::map<std::string, List> Permissions;
|
||||
|
||||
protected:
|
||||
Module(const std::shared_ptr<Core>& core, const std::shared_ptr<Connection>& connection, const Permissions& permissions);
|
||||
Module(const std::shared_ptr<Core>& core, const Shared::Permissions& permissions);
|
||||
|
||||
bool hasPermission(const std::string& permission, const std::shared_ptr<::Actor>& actor) const;
|
||||
|
||||
public:
|
||||
virtual ~Module() noexcept;
|
||||
|
||||
static Tokens split(const std::string& string, const std::string& delimiter = " ");
|
||||
static Shared::Strings split(const std::string& string, const std::string& delimiter = " ");
|
||||
|
||||
virtual void message(const std::shared_ptr<::Actor>& actor, const Tokens& args) = 0;
|
||||
virtual Shared::Result message(const std::shared_ptr<::Actor>& actor, const Shared::Strings& args) = 0;
|
||||
|
||||
protected:
|
||||
std::shared_ptr<Core> core;
|
||||
std::shared_ptr<Connection> connection;
|
||||
Permissions permissions;
|
||||
Shared::Permissions permissions;
|
||||
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue