Mercurial > irccd
changeset 206:11808e98218f
Irccd: add more properties
line wrap: on
line diff
--- a/lib/irccd/cmd-plugin-unload.cpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-plugin-unload.cpp Tue Jun 21 12:36:46 2016 +0200 @@ -40,11 +40,18 @@ return {{ "plugin", true }}; } +std::vector<Command::Property> PluginUnload::properties() const +{ + return {{ "plugin", { json::Type::String }}}; +} + json::Value PluginUnload::exec(Irccd &irccd, const json::Value &request) const { + Command::exec(irccd, request); + irccd.pluginService().unload(request.at("plugin").toString()); - return Command::exec(irccd, request); + return json::object(); } } // !command
--- a/lib/irccd/cmd-plugin-unload.hpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-plugin-unload.hpp Tue Jun 21 12:36:46 2016 +0200 @@ -52,6 +52,11 @@ IRCCD_EXPORT std::vector<Arg> args() const override; /** + * \copydoc Command::properties + */ + IRCCD_EXPORT std::vector<Property> properties() const override; + + /** * \copydoc Command::exec */ IRCCD_EXPORT json::Value exec(Irccd &irccd, const json::Value &request) const override;
--- a/lib/irccd/cmd-server-cmode.cpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-cmode.cpp Tue Jun 21 12:36:46 2016 +0200 @@ -44,14 +44,25 @@ }; } +std::vector<Command::Property> ServerChannelMode::properties() const +{ + return { + { "server", { json::Type::String }}, + { "channel", { json::Type::String }}, + { "mode", { json::Type::String }} + }; +} + json::Value ServerChannelMode::exec(Irccd &irccd, const json::Value &request) const { + Command::exec(irccd, request); + irccd.serverService().require(request.at("server").toString())->cmode( request.at("channel").toString(), request.at("mode").toString() ); - return Command::exec(irccd, request); + return json::object(); } } // !command
--- a/lib/irccd/cmd-server-cmode.hpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-cmode.hpp Tue Jun 21 12:36:46 2016 +0200 @@ -52,6 +52,11 @@ IRCCD_EXPORT std::vector<Arg> args() const override; /** + * \copydoc Command::properties + */ + IRCCD_EXPORT std::vector<Property> properties() const override; + + /** * \copydoc Command::exec */ IRCCD_EXPORT json::Value exec(Irccd &irccd, const json::Value &request) const override;
--- a/lib/irccd/cmd-server-cnotice.cpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-cnotice.cpp Tue Jun 21 12:36:46 2016 +0200 @@ -44,14 +44,25 @@ }; } +std::vector<Command::Property> ServerChannelNotice::properties() const +{ + return { + { "server", { json::Type::String }}, + { "channel", { json::Type::String }}, + { "message", { json::Type::String }} + }; +} + json::Value ServerChannelNotice::exec(Irccd &irccd, const json::Value &request) const { + Command::exec(irccd, request); + irccd.serverService().require(request.at("server").toString())->cnotice( request.at("channel").toString(), request.at("message").toString() ); - return Command::exec(irccd, request); + return json::object(); } } // !command
--- a/lib/irccd/cmd-server-cnotice.hpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-cnotice.hpp Tue Jun 21 12:36:46 2016 +0200 @@ -61,6 +61,11 @@ IRCCD_EXPORT std::vector<Arg> args() const override; /** + * \copydoc Command::properties + */ + IRCCD_EXPORT std::vector<Property> properties() const override; + + /** * \copydoc Command::exec */ IRCCD_EXPORT json::Value exec(Irccd &irccd, const json::Value &request) const override;
--- a/lib/irccd/cmd-server-connect.cpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-connect.cpp Tue Jun 21 12:36:46 2016 +0200 @@ -146,6 +146,12 @@ }; } +std::vector<Command::Property> ServerConnect::properties() const +{ + // TODO + return {}; +} + json::Value ServerConnect::exec(Irccd &irccd, const json::Value &request) const { auto server = std::make_shared<Server>(readInfoName(request), readInfo(request), readIdentity(request), readSettings(request));
--- a/lib/irccd/cmd-server-connect.hpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-connect.hpp Tue Jun 21 12:36:46 2016 +0200 @@ -57,6 +57,11 @@ IRCCD_EXPORT std::vector<Arg> args() const override; /** + * \copydoc Command::properties + */ + IRCCD_EXPORT std::vector<Property> properties() const override; + + /** * \copydoc Command::exec */ IRCCD_EXPORT json::Value exec(Irccd &irccd, const json::Value &request) const override;
--- a/lib/irccd/cmd-server-info.cpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-info.cpp Tue Jun 21 12:36:46 2016 +0200 @@ -42,6 +42,11 @@ return {{ "server", true }}; } +std::vector<Command::Property> ServerInfo::properties() const +{ + return {{ "server", { json::Type::String }}}; +} + json::Value ServerInfo::request(Irccdctl &, const CommandRequest &args) const { return json::object({ @@ -53,10 +58,10 @@ json::Value ServerInfo::exec(Irccd &irccd, const json::Value &request) const { + auto response = Command::exec(irccd, request); auto server = irccd.serverService().require(request.at("server").toString()); - auto response = Command::exec(irccd, request); - /* General stuff */ + // General stuff. response.insert("name", server->name()); response.insert("host", server->info().host); response.insert("port", server->info().port);
--- a/lib/irccd/cmd-server-info.hpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-info.hpp Tue Jun 21 12:36:46 2016 +0200 @@ -52,6 +52,11 @@ IRCCD_EXPORT std::vector<Arg> args() const override; /** + * \copydoc Command::properties + */ + IRCCD_EXPORT std::vector<Property> properties() const override; + + /** * \copydoc Command::request */ IRCCD_EXPORT json::Value request(Irccdctl &irccdctl, const CommandRequest &args) const override;
--- a/lib/irccd/cmd-server-invite.cpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-invite.cpp Tue Jun 21 12:36:46 2016 +0200 @@ -44,6 +44,15 @@ }; } +std::vector<Command::Property> ServerInvite::properties() const +{ + return { + { "server", { json::Type::String }}, + { "target", { json::Type::String }}, + { "channel", { json::Type::String }} + }; +} + json::Value ServerInvite::request(Irccdctl &, const CommandRequest &args) const { return json::object({ @@ -55,13 +64,15 @@ json::Value ServerInvite::exec(Irccd &irccd, const json::Value &request) const { + Command::exec(irccd, request); + irccd.serverService().require( request.at("server").toString())->invite( request.at("target").toString(), request.at("channel").toString() ); - return Command::exec(irccd, request); + return json::object(); } } // !command
--- a/lib/irccd/cmd-server-invite.hpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-invite.hpp Tue Jun 21 12:36:46 2016 +0200 @@ -52,6 +52,11 @@ IRCCD_EXPORT std::vector<Arg> args() const override; /** + * \copydoc Command::properties + */ + IRCCD_EXPORT std::vector<Property> properties() const override; + + /** * \copydoc Command::request */ IRCCD_EXPORT json::Value request(Irccdctl &irccdctl, const CommandRequest &args) const override;
--- a/lib/irccd/cmd-server-join.cpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-join.cpp Tue Jun 21 12:36:46 2016 +0200 @@ -44,6 +44,15 @@ }; } +std::vector<Command::Property> ServerJoin::properties() const +{ + return { + { "server", { json::Type::String }}, + { "channel", { json::Type::String }}, + { "password", { json::Type::String }} + }; +} + json::Value ServerJoin::request(Irccdctl &, const CommandRequest &args) const { auto req = json::object({ @@ -59,13 +68,15 @@ json::Value ServerJoin::exec(Irccd &irccd, const json::Value &request) const { + Command::exec(irccd, request); + irccd.serverService().require( request.at("server").toString())->join( request.at("channel").toString(), request.valueOr("password", json::Type::String, "").toString() ); - return Command::exec(irccd, request); + return json::object(); } } // !command
--- a/lib/irccd/cmd-server-join.hpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-join.hpp Tue Jun 21 12:36:46 2016 +0200 @@ -52,6 +52,11 @@ IRCCD_EXPORT std::vector<Arg> args() const override; /** + * \copydoc Command::properties + */ + IRCCD_EXPORT std::vector<Property> properties() const override; + + /** * \copydoc Command::request */ IRCCD_EXPORT json::Value request(Irccdctl &irccdctl, const CommandRequest &args) const override;
--- a/lib/irccd/cmd-server-kick.cpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-kick.cpp Tue Jun 21 12:36:46 2016 +0200 @@ -45,6 +45,15 @@ }; } +std::vector<Command::Property> ServerKick::properties() const +{ + return { + { "server", { json::Type::String }}, + { "target", { json::Type::String }}, + { "channel", { json::Type::String }} + }; +} + json::Value ServerKick::request(Irccdctl &, const CommandRequest &args) const { auto req = json::object({ @@ -61,13 +70,15 @@ json::Value ServerKick::exec(Irccd &irccd, const json::Value &request) const { + Command::exec(irccd, request); + irccd.serverService().require(request.at("server").toString())->kick( request.at("target").toString(), request.at("channel").toString(), request.valueOr("reason", json::Type::String, "").toString() ); - return Command::exec(irccd, request); + return json::object(); } } // !command
--- a/lib/irccd/cmd-server-kick.hpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-kick.hpp Tue Jun 21 12:36:46 2016 +0200 @@ -52,6 +52,11 @@ IRCCD_EXPORT std::vector<Arg> args() const override; /** + * \copydoc Command::properties + */ + IRCCD_EXPORT std::vector<Property> properties() const override; + + /** * \copydoc Command::request */ IRCCD_EXPORT json::Value request(Irccdctl &irccdctl, const CommandRequest &args) const override;
--- a/lib/irccd/cmd-server-me.cpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-me.cpp Tue Jun 21 12:36:46 2016 +0200 @@ -44,6 +44,15 @@ }; } +std::vector<Command::Property> ServerMe::properties() const +{ + return { + { "server", { json::Type::String }}, + { "target", { json::Type::String }}, + { "message", { json::Type::String }} + }; +} + json::Value ServerMe::request(Irccdctl &, const CommandRequest &args) const { return json::object({ @@ -55,12 +64,14 @@ json::Value ServerMe::exec(Irccd &irccd, const json::Value &request) const { + Command::exec(irccd, request); + irccd.serverService().require(request.at("server").toString())->me( request.at("target").toString(), request.at("message").toString() ); - return nullptr; + return json::object(); } } // !command
--- a/lib/irccd/cmd-server-me.hpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-me.hpp Tue Jun 21 12:36:46 2016 +0200 @@ -52,6 +52,11 @@ IRCCD_EXPORT std::vector<Arg> args() const override; /** + * \copydoc Command::properties + */ + IRCCD_EXPORT std::vector<Property> properties() const override; + + /** * \copydoc Command::request */ IRCCD_EXPORT json::Value request(Irccdctl &irccdctl, const CommandRequest &args) const override;
--- a/lib/irccd/cmd-server-message.cpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-message.cpp Tue Jun 21 12:36:46 2016 +0200 @@ -44,6 +44,15 @@ }; } +std::vector<Command::Property> ServerMessage::properties() const +{ + return { + { "server", { json::Type::String }}, + { "target", { json::Type::String }}, + { "message", { json::Type::String }} + }; +} + json::Value ServerMessage::request(Irccdctl &, const CommandRequest &args) const { return json::object({ @@ -55,12 +64,14 @@ json::Value ServerMessage::exec(Irccd &irccd, const json::Value &request) const { + Command::exec(irccd, request); + irccd.serverService().require(request.at("server").toString())->me( request.at("target").toString(), request.at("message").toString() ); - return nullptr; + return json::object(); } } // !command
--- a/lib/irccd/cmd-server-message.hpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-message.hpp Tue Jun 21 12:36:46 2016 +0200 @@ -52,6 +52,11 @@ IRCCD_EXPORT std::vector<Arg> args() const override; /** + * \copydoc Command::properties + */ + IRCCD_EXPORT std::vector<Property> properties() const override; + + /** * \copydoc Command::request */ IRCCD_EXPORT json::Value request(Irccdctl &irccdctl, const CommandRequest &args) const override;
--- a/lib/irccd/cmd-server-mode.cpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-mode.cpp Tue Jun 21 12:36:46 2016 +0200 @@ -43,6 +43,14 @@ }; } +std::vector<Command::Property> ServerMode::properties() const +{ + return { + { "server", { json::Type::String }}, + { "mode", { json::Type::String }} + }; +} + json::Value ServerMode::request(Irccdctl &, const CommandRequest &args) const { return json::object({ @@ -53,9 +61,11 @@ json::Value ServerMode::exec(Irccd &irccd, const json::Value &request) const { + Command::exec(irccd, request); + irccd.serverService().require(request.at("server").toString())->mode(request.at("mode").toString()); - return nullptr; + return json::object(); } } // !command
--- a/lib/irccd/cmd-server-mode.hpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-mode.hpp Tue Jun 21 12:36:46 2016 +0200 @@ -52,6 +52,11 @@ IRCCD_EXPORT std::vector<Arg> args() const override; /** + * \copydoc Command::properties + */ + IRCCD_EXPORT std::vector<Property> properties() const override; + + /** * \copydoc Command::request */ IRCCD_EXPORT json::Value request(Irccdctl &irccdctl, const CommandRequest &args) const override;
--- a/lib/irccd/cmd-server-nick.cpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-nick.cpp Tue Jun 21 12:36:46 2016 +0200 @@ -43,6 +43,14 @@ }; } +std::vector<Command::Property> ServerNick::properties() const +{ + return { + { "server", { json::Type::String }}, + { "nickname", { json::Type::String }} + }; +} + json::Value ServerNick::request(Irccdctl &, const CommandRequest &args) const { return json::object({ @@ -53,9 +61,11 @@ json::Value ServerNick::exec(Irccd &irccd, const json::Value &object) const { + Command::exec(irccd, object); + irccd.serverService().require(object.at("server").toString())->nick(object.at("nickname").toString()); - return nullptr; + return json::object(); } } // !command
--- a/lib/irccd/cmd-server-nick.hpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-nick.hpp Tue Jun 21 12:36:46 2016 +0200 @@ -52,6 +52,11 @@ IRCCD_EXPORT std::vector<Arg> args() const override; /** + * \copydoc Command::properties + */ + IRCCD_EXPORT std::vector<Property> properties() const override; + + /** * \copydoc Command::request */ IRCCD_EXPORT json::Value request(Irccdctl &irccdctl, const CommandRequest &args) const override;
--- a/lib/irccd/cmd-server-notice.cpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-notice.cpp Tue Jun 21 12:36:46 2016 +0200 @@ -44,6 +44,15 @@ }; } +std::vector<Command::Property> ServerNotice::properties() const +{ + return { + { "server", { json::Type::String }}, + { "target", { json::Type::String }}, + { "message", { json::Type::String }} + }; +} + json::Value ServerNotice::request(Irccdctl &, const CommandRequest &args) const { return json::object({ @@ -55,12 +64,14 @@ json::Value ServerNotice::exec(Irccd &irccd, const json::Value &request) const { + Command::exec(irccd, request); + irccd.serverService().require(request.at("server").toString())->notice( request.at("target").toString(), request.at("message").toString() ); - return nullptr; + return json::object(); } } // !command
--- a/lib/irccd/cmd-server-notice.hpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-notice.hpp Tue Jun 21 12:36:46 2016 +0200 @@ -52,6 +52,11 @@ IRCCD_EXPORT std::vector<Arg> args() const override; /** + * \copydoc Command::properties + */ + IRCCD_EXPORT std::vector<Property> properties() const override; + + /** * \copydoc Command::request */ IRCCD_EXPORT json::Value request(Irccdctl &irccdctl, const CommandRequest &args) const override;
--- a/lib/irccd/cmd-server-part.cpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-part.cpp Tue Jun 21 12:36:46 2016 +0200 @@ -44,6 +44,14 @@ }; } +std::vector<Command::Property> ServerPart::properties() const +{ + return { + { "server", { json::Type::String }}, + { "channel", { json::Type::String }} + }; +} + json::Value ServerPart::request(Irccdctl &, const CommandRequest &args) const { auto req = json::object({ @@ -59,12 +67,14 @@ json::Value ServerPart::exec(Irccd &irccd, const json::Value &request) const { + Command::exec(irccd, request); + irccd.serverService().require(request.at("server").toString())->part( request.at("channel").toString(), request.valueOr("reason", "").toString() ); - return nullptr; + return json::object(); } } // !command
--- a/lib/irccd/cmd-server-part.hpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-part.hpp Tue Jun 21 12:36:46 2016 +0200 @@ -52,6 +52,11 @@ IRCCD_EXPORT std::vector<Arg> args() const override; /** + * \copydoc Command::properties + */ + IRCCD_EXPORT std::vector<Property> properties() const override; + + /** * \copydoc Command::request */ IRCCD_EXPORT json::Value request(Irccdctl &irccdctl, const CommandRequest &args) const override;
--- a/lib/irccd/cmd-server-topic.cpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-topic.cpp Tue Jun 21 12:36:46 2016 +0200 @@ -44,6 +44,15 @@ }; } +std::vector<Command::Property> ServerTopic::properties() const +{ + return { + { "server", { json::Type::String }}, + { "channel", { json::Type::String }}, + { "topic", { json::Type::String }} + }; +} + json::Value ServerTopic::request(Irccdctl &, const CommandRequest &args) const { return json::object({ @@ -55,12 +64,14 @@ json::Value ServerTopic::exec(Irccd &irccd, const json::Value &request) const { + Command::exec(irccd, request); + irccd.serverService().require(request.at("server").toString())->topic( request.at("channel").toString(), request.at("topic").toString() ); - return nullptr; + return json::object(); } } // !command
--- a/lib/irccd/cmd-server-topic.hpp Wed Jun 15 20:59:55 2016 +0200 +++ b/lib/irccd/cmd-server-topic.hpp Tue Jun 21 12:36:46 2016 +0200 @@ -52,6 +52,11 @@ IRCCD_EXPORT std::vector<Arg> args() const override; /** + * \copydoc Command::properties + */ + IRCCD_EXPORT std::vector<Property> properties() const override; + + /** * \copydoc Command::request */ IRCCD_EXPORT json::Value request(Irccdctl &irccdctl, const CommandRequest &args) const override;