diff --git a/Bot/IRC_Bot.cpp b/Bot/IRC_Bot.cpp index 05695be..b776b7a 100644 --- a/Bot/IRC_Bot.cpp +++ b/Bot/IRC_Bot.cpp @@ -145,8 +145,6 @@ void IRC_Bot::setCommandAccessLevels() command = this->getCommand(tmp_key); if (command != nullptr) command->setAccessLevel(tmp_sub_key, pair->getValue().asInt()); - else if (this->getPrintOutput() != nullptr) - fprintf(this->getPrintOutput(), "Unable to find command \"%.*s\"" ENDL, tmp_key.size(), tmp_key.ptr()); } } else @@ -155,8 +153,6 @@ void IRC_Bot::setCommandAccessLevels() command = this->getCommand(pair->getKey()); if (command != nullptr) command->setAccessLevel(pair->getValue().asInt()); - else if (this->getPrintOutput() != nullptr) - fprintf(this->getPrintOutput(), "Unable to find command \"%.*s\"" ENDL, pair->getKey().size(), pair->getKey().ptr()); } } } diff --git a/Bot/IRC_Command.cpp b/Bot/IRC_Command.cpp index 4a81d0c..bf76546 100644 --- a/Bot/IRC_Command.cpp +++ b/Bot/IRC_Command.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2013-2015 Jessica James. + * Copyright (C) 2013-2016 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -21,6 +21,8 @@ Jupiter::ArrayList _IRCMasterCommandList; Jupiter::ArrayList *IRCMasterCommandList = &_IRCMasterCommandList; +/** IRCCommand */ + IRCCommand::IRCCommand() { IRCCommand::access = 0; @@ -120,4 +122,84 @@ void IRCCommand::setAccessLevel(const Jupiter::ReadableString &channel, int acce pair->channel = channel; pair->access = accessLevel; IRCCommand::channels.add(pair); -} \ No newline at end of file +} + +void IRCCommand::create() +{ +} + +/** GenericCommandWrapperIRCCommand */ + +GenericCommandWrapperIRCCommand::GenericCommandWrapperIRCCommand(GenericCommandWrapperIRCCommand &in_command) : IRCCommand(in_command) +{ + GenericCommandWrapperIRCCommand::m_command = in_command.m_command; + + // Copy triggers + size_t index = 0; + while (index != GenericCommandWrapperIRCCommand::m_command->getTriggerCount()) + { + this->addTrigger(GenericCommandWrapperIRCCommand::m_command->getTrigger(index)); + ++index; + } +} + +GenericCommandWrapperIRCCommand::GenericCommandWrapperIRCCommand(Jupiter::GenericCommand &in_command) : IRCCommand() +{ + GenericCommandWrapperIRCCommand::m_command = &in_command; + + // Copy triggers + size_t index = 0; + while (index != GenericCommandWrapperIRCCommand::m_command->getTriggerCount()) + { + this->addTrigger(GenericCommandWrapperIRCCommand::m_command->getTrigger(index)); + ++index; + } + + if (serverManager != nullptr) + serverManager->addCommand(this); +} + +// GenericCommandWrapperIRCCommand functions + +void GenericCommandWrapperIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString &in_channel, const Jupiter::ReadableString &in_nick, const Jupiter::ReadableString &in_parameters) +{ + Jupiter::GenericCommand::ResponseLine *del; + Jupiter::GenericCommand::ResponseLine *result = GenericCommandWrapperIRCCommand::m_command->trigger(in_parameters); + + while (result != nullptr) + { + switch (result->type) + { + case Jupiter::GenericCommand::DisplayType::PublicSuccess: + case Jupiter::GenericCommand::DisplayType::PublicError: + source->sendMessage(in_channel, result->response); + break; + case Jupiter::GenericCommand::DisplayType::PrivateSuccess: + case Jupiter::GenericCommand::DisplayType::PrivateError: + source->sendNotice(in_nick, result->response); + break; + default: + source->sendMessage(in_nick, result->response); + break; + } + + del = result; + result = result->next; + delete del; + } +} + +const Jupiter::ReadableString &GenericCommandWrapperIRCCommand::getHelp(const Jupiter::ReadableString ¶meters) +{ + return GenericCommandWrapperIRCCommand::m_command->getHelp(parameters); +} + +IRCCommand *GenericCommandWrapperIRCCommand::copy() +{ + return new GenericCommandWrapperIRCCommand(*this); +} + +const Jupiter::GenericCommand &GenericCommandWrapperIRCCommand::getGenericCommand() const +{ + return *GenericCommandWrapperIRCCommand::m_command; +} diff --git a/Bot/IRC_Command.h b/Bot/IRC_Command.h index 7c504d8..374ab72 100644 --- a/Bot/IRC_Command.h +++ b/Bot/IRC_Command.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2013-2015 Jessica James. + * Copyright (C) 2013-2016 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -105,6 +105,11 @@ public: */ void setAccessLevel(const Jupiter::ReadableString &channel, int accessLevel); + /** + * @brief Called when the command is intially created. Define triggers and access levels here. + */ + virtual void create(); + /** * @brief Called when the command is to be executed. * @@ -115,11 +120,6 @@ public: */ virtual void trigger(IRC_Bot *source, const Jupiter::ReadableString &channel, const Jupiter::ReadableString &nick, const Jupiter::ReadableString ¶meters) = 0; - /** - * @brief Called when the command is intially created. Define triggers and access levels here. - */ - virtual void create() = 0; - /** * @brief Creates a copy of a command. * Note: This is primarily for internal usage. @@ -169,6 +169,55 @@ private: Jupiter::ArrayList channels; /** Access levels for specific channels */ }; +class JUPITER_BOT_API GenericCommandWrapperIRCCommand : public IRCCommand +{ +public: + /** + * @brief Triggers the underlying GenericCommand and outputs the result + * + * @param in_server IRC server to deliver result to + * @param in_channel Name of the channel to deliver result to (if result is not 'Private' type) + * @param in_nick Name of the user to deliver result to (if result is 'Private' type) + * @param in_parameters Parameters to pass to the GenericCommand's trigger() + */ + void trigger(IRC_Bot *in_server, const Jupiter::ReadableString &in_channel, const Jupiter::ReadableString &in_nick, const Jupiter::ReadableString &in_parameters) override; + + /** + * @brief Forwards the help message from the underlying GenericCommand + * + * @param in_parameters Parameters to forward to the GenericCommand's getHelp() + * @return Help string from the GenericCommand + */ + const Jupiter::ReadableString &getHelp(const Jupiter::ReadableString &in_parameters) override; + + /** + * @brief Copies the GenericCommandWrapperIRCCommand + * + * @return Copy of the GenericCommandWrapperIRCCommand + */ + IRCCommand *copy() override; + + /** + * @brief Fetches the underlying GenericCommand + * + * @return GenericCommand this wrapper interfaces with + */ + const Jupiter::GenericCommand &getGenericCommand() const; + + /** + * @brief Copy constructor for the GenericCommandWrapperIRCCommand class + */ + GenericCommandWrapperIRCCommand(GenericCommandWrapperIRCCommand &in_command); + + /** + * @brief Wrapper constructor for the GenericCommandWrapperIRCCommand class + */ + GenericCommandWrapperIRCCommand(Jupiter::GenericCommand &in_command); + +private: + Jupiter::GenericCommand *m_command; +}; + /** IRC Command Macros */ /** Defines the core of an IRC command's declaration. This should be included in every IRC command. */ @@ -191,98 +240,6 @@ class CLASS : public IRCCommand { \ CLASS CLASS ## _instance; \ IRCCommand *CLASS::copy() { return new CLASS(*this); } -/** GenericCommand to IRCCommand conversion */ - -/** Generates an IRC command from a generic command. */ -template class Generic_Command_As_IRC_Command : public IRCCommand -{ -public: - virtual void trigger(IRC_Bot *source, const Jupiter::ReadableString &channel, const Jupiter::ReadableString &nick, const Jupiter::ReadableString ¶meters) override; - virtual const Jupiter::ReadableString &getHelp(const Jupiter::ReadableString ¶meters) override; - - void copyTriggers(); - Generic_Command_As_IRC_Command(); - Generic_Command_As_IRC_Command(const Generic_Command_As_IRC_Command &cmd); -}; - -template Generic_Command_As_IRC_Command::Generic_Command_As_IRC_Command() : IRCCommand() -{ - Generic_Command_As_IRC_Command::copyTriggers(); -} - -template Generic_Command_As_IRC_Command::Generic_Command_As_IRC_Command(const Generic_Command_As_IRC_Command &cmd) : IRCCommand(cmd) -{ - Generic_Command_As_IRC_Command::copyTriggers(); -} - -template void Generic_Command_As_IRC_Command::trigger(IRC_Bot *source, const Jupiter::ReadableString &channel, const Jupiter::ReadableString &nick, const Jupiter::ReadableString ¶meters) -{ - Jupiter::GenericCommand::ResponseLine *del; - Jupiter::GenericCommand::ResponseLine *ret = T::instance.trigger(parameters); - while (ret != nullptr) - { - switch (ret->type) - { - case Jupiter::GenericCommand::DisplayType::PublicSuccess: - case Jupiter::GenericCommand::DisplayType::PublicError: - source->sendMessage(channel, ret->response); - break; - case Jupiter::GenericCommand::DisplayType::PrivateSuccess: - case Jupiter::GenericCommand::DisplayType::PrivateError: - source->sendNotice(nick, ret->response); - break; - default: - source->sendMessage(nick, ret->response); - break; - } - del = ret; - ret = ret->next; - delete del; - } -} - -template const Jupiter::ReadableString &Generic_Command_As_IRC_Command::getHelp(const Jupiter::ReadableString ¶meters) -{ - return T::instance.getHelp(parameters); -} - -template void Generic_Command_As_IRC_Command::copyTriggers() -{ - size_t index = 0; - while (index != T::instance.getTriggerCount()) - this->addTrigger(T::instance.getTrigger(index++)); -} - -/** Defines the core of an IRC command's declaration. This should be included in every Generic to IRC command conversion. */ -#define GENERIC_COMMAND_AS_IRC_COMMAND_2_BASE(CLASS, NEW_CLASS) \ - public: \ - void create(); \ - IRCCommand *copy() override; \ - NEW_CLASS() : Generic_Command_As_IRC_Command< CLASS >() { \ - this->create(); \ - if (serverManager != nullptr) serverManager->addCommand(this); } \ - NEW_CLASS(const NEW_CLASS &cmd) : Generic_Command_As_IRC_Command< CLASS >(cmd) { this->create(); } - -/** Generates an IRC command from a generic command. */ -#define GENERIC_COMMAND_AS_IRC_COMMAND_2(CLASS, NEW_CLASS) \ - class NEW_CLASS : public Generic_Command_As_IRC_Command< CLASS > { \ - GENERIC_COMMAND_AS_IRC_COMMAND_2_BASE(CLASS, NEW_CLASS) }; \ - IRC_COMMAND_INIT(NEW_CLASS) - -/** Generates an IRC command from a generic command. */ -#define GENERIC_COMMAND_AS_IRC_COMMAND(CLASS) \ - GENERIC_COMMAND_AS_IRC_COMMAND_2(CLASS, CLASS ## _AS_IRC_COMMAND); - -/** Generates an IRC command from a generic command, and defines a default create() function. */ -#define GENERIC_COMMAND_AS_IRC_COMMAND_NO_CREATE(CLASS) \ - GENERIC_COMMAND_AS_IRC_COMMAND(CLASS) \ - void CLASS ## _AS_IRC_COMMAND::create() {} - -/** Generates an IRC command from a generic command, and defines an access-setting create() function. */ -#define GENERIC_COMMAND_AS_IRC_COMMAND_ACCESS_CREATE(CLASS, ACCESS_LEVEL) \ - GENERIC_COMMAND_AS_IRC_COMMAND(CLASS) \ - void CLASS ## _AS_IRC_COMMAND::create() { this->setAccessLevel(ACCESS_LEVEL); } - /** Re-enable warnings */ #if defined _MSC_VER #pragma warning(pop) diff --git a/CoreCommands/CoreCommands.cpp b/CoreCommands/CoreCommands.cpp index 2c4bdb3..19497e6 100644 --- a/CoreCommands/CoreCommands.cpp +++ b/CoreCommands/CoreCommands.cpp @@ -146,7 +146,6 @@ const Jupiter::ReadableString &VersionGenericCommand::getHelp(const Jupiter::Rea GENERIC_COMMAND_INIT(VersionGenericCommand) GENERIC_COMMAND_AS_CONSOLE_COMMAND(VersionGenericCommand) -GENERIC_COMMAND_AS_IRC_COMMAND_NO_CREATE(VersionGenericCommand) // Rehash Command @@ -173,7 +172,6 @@ const Jupiter::ReadableString &RehashGenericCommand::getHelp(const Jupiter::Read GENERIC_COMMAND_INIT(RehashGenericCommand) GENERIC_COMMAND_AS_CONSOLE_COMMAND(RehashGenericCommand) -GENERIC_COMMAND_AS_IRC_COMMAND_ACCESS_CREATE(RehashGenericCommand, 4) // Plugin instantiation and entry point. CoreCommandsPlugin pluginInstance; diff --git a/ExtraCommands/ExtraCommands.cpp b/ExtraCommands/ExtraCommands.cpp index ea2b7f9..86d4baf 100644 --- a/ExtraCommands/ExtraCommands.cpp +++ b/ExtraCommands/ExtraCommands.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2015 Jessica James. + * Copyright (C) 2014-2016 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -59,7 +59,6 @@ const Jupiter::ReadableString &SelectGenericCommand::getHelp(const Jupiter::Read GENERIC_COMMAND_INIT(SelectGenericCommand) GENERIC_COMMAND_AS_CONSOLE_COMMAND(SelectGenericCommand) -GENERIC_COMMAND_AS_IRC_COMMAND_ACCESS_CREATE(SelectGenericCommand, 4) // Deselect Command @@ -92,7 +91,6 @@ const Jupiter::ReadableString &DeselectGenericCommand::getHelp(const Jupiter::Re GENERIC_COMMAND_INIT(DeselectGenericCommand) GENERIC_COMMAND_AS_CONSOLE_COMMAND(DeselectGenericCommand) -GENERIC_COMMAND_AS_IRC_COMMAND_ACCESS_CREATE(DeselectGenericCommand, 4) // Raw Command @@ -127,7 +125,6 @@ const Jupiter::ReadableString &RawGenericCommand::getHelp(const Jupiter::Readabl GENERIC_COMMAND_INIT(RawGenericCommand) GENERIC_COMMAND_AS_CONSOLE_COMMAND(RawGenericCommand) -GENERIC_COMMAND_AS_IRC_COMMAND_ACCESS_CREATE(RawGenericCommand, 5) // Message Command @@ -163,7 +160,6 @@ const Jupiter::ReadableString &IRCMessageGenericCommand::getHelp(const Jupiter:: GENERIC_COMMAND_INIT(IRCMessageGenericCommand) GENERIC_COMMAND_AS_CONSOLE_COMMAND(IRCMessageGenericCommand) -GENERIC_COMMAND_AS_IRC_COMMAND_ACCESS_CREATE(IRCMessageGenericCommand, 5) // Join Command @@ -201,7 +197,6 @@ const Jupiter::ReadableString &JoinGenericCommand::getHelp(const Jupiter::Readab GENERIC_COMMAND_INIT(JoinGenericCommand) GENERIC_COMMAND_AS_CONSOLE_COMMAND(JoinGenericCommand) -GENERIC_COMMAND_AS_IRC_COMMAND_ACCESS_CREATE(JoinGenericCommand, 3) // Part Command @@ -239,7 +234,6 @@ const Jupiter::ReadableString &PartGenericCommand::getHelp(const Jupiter::Readab GENERIC_COMMAND_INIT(PartGenericCommand) GENERIC_COMMAND_AS_CONSOLE_COMMAND(PartGenericCommand) -GENERIC_COMMAND_AS_IRC_COMMAND_ACCESS_CREATE(PartGenericCommand, 3) // DebugInfo Command @@ -291,7 +285,6 @@ const Jupiter::ReadableString &DebugInfoGenericCommand::getHelp(const Jupiter::R GENERIC_COMMAND_INIT(DebugInfoGenericCommand) GENERIC_COMMAND_AS_CONSOLE_COMMAND(DebugInfoGenericCommand) -GENERIC_COMMAND_AS_IRC_COMMAND_ACCESS_CREATE(DebugInfoGenericCommand, 4) // Exit command @@ -313,7 +306,6 @@ const Jupiter::ReadableString &ExitGenericCommand::getHelp(const Jupiter::Readab GENERIC_COMMAND_INIT(ExitGenericCommand) GENERIC_COMMAND_AS_CONSOLE_COMMAND(ExitGenericCommand) -GENERIC_COMMAND_AS_IRC_COMMAND_ACCESS_CREATE(ExitGenericCommand, 5) // IRC Connect command @@ -357,7 +349,6 @@ const Jupiter::ReadableString &IRCConnectGenericCommand::getHelp(const Jupiter:: GENERIC_COMMAND_INIT(IRCConnectGenericCommand) GENERIC_COMMAND_AS_CONSOLE_COMMAND(IRCConnectGenericCommand) -GENERIC_COMMAND_AS_IRC_COMMAND_ACCESS_CREATE(IRCConnectGenericCommand, 5) // IRC Disconnect command @@ -388,7 +379,6 @@ const Jupiter::ReadableString &IRCDisconnectGenericCommand::getHelp(const Jupite GENERIC_COMMAND_INIT(IRCDisconnectGenericCommand) GENERIC_COMMAND_AS_CONSOLE_COMMAND(IRCDisconnectGenericCommand) -GENERIC_COMMAND_AS_IRC_COMMAND_ACCESS_CREATE(IRCDisconnectGenericCommand, 5) // Plugin instantiation and entry point. FunCommandsPlugin pluginInstance; diff --git a/IRC.Core/IRC.Core.vcxproj b/IRC.Core/IRC.Core.vcxproj new file mode 100644 index 0000000..eca8021 --- /dev/null +++ b/IRC.Core/IRC.Core.vcxproj @@ -0,0 +1,84 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {89368D08-5E06-4530-B82A-AD2BC07B09E7} + IRC.Core + + + + Application + true + v140 + MultiByte + + + DynamicLibrary + false + v140 + true + Unicode + + + + + + + + + + + + + $(SolutionDir)$(Configuration)\Plugins\ + AllRules.ruleset + + + + Level3 + Disabled + true + + + true + + + + + Level3 + MaxSpeed + true + true + true + ../Bot;../Jupiter + _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + + + true + true + true + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/IRC.Core/IRC.Core.vcxproj.filters b/IRC.Core/IRC.Core.vcxproj.filters new file mode 100644 index 0000000..ee8f459 --- /dev/null +++ b/IRC.Core/IRC.Core.vcxproj.filters @@ -0,0 +1,35 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Header Files + + + + + Source Files + + + + + Resource Files + + + Resource Files + + + \ No newline at end of file diff --git a/IRC.Core/IRC_Core.cpp b/IRC.Core/IRC_Core.cpp new file mode 100644 index 0000000..ed12728 --- /dev/null +++ b/IRC.Core/IRC_Core.cpp @@ -0,0 +1,52 @@ +/** + * Copyright (C) 2016 Jessica James. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Written by Jessica James + */ + +#include "Jupiter/GenericCommand.h" +#include "ServerManager.h" +#include "IRC_Command.h" +#include "IRC_Core.h" + +IRCCorePlugin::~IRCCorePlugin() +{ + IRCCorePlugin::m_wrapped_commands.emptyAndDelete(); +} + +void IRCCorePlugin::OnGenericCommandAdd(Jupiter::GenericCommand &in_command) +{ + IRCCorePlugin::m_wrapped_commands.add(new GenericCommandWrapperIRCCommand(in_command)); +} + +void IRCCorePlugin::OnGenericCommandRemove(Jupiter::GenericCommand &in_command) +{ + for (size_t index = 0; index != IRCCorePlugin::m_wrapped_commands.size(); ++index) + if (&IRCCorePlugin::m_wrapped_commands.get(index)->getGenericCommand() == &in_command) + { + delete IRCCorePlugin::m_wrapped_commands.remove(index); + return; + } +} + + + +// Plugin instantiation and entry point. +IRCCorePlugin pluginInstance; + +extern "C" __declspec(dllexport) Jupiter::Plugin *getPlugin() +{ + return &pluginInstance; +} diff --git a/IRC.Core/IRC_Core.h b/IRC.Core/IRC_Core.h new file mode 100644 index 0000000..7dede25 --- /dev/null +++ b/IRC.Core/IRC_Core.h @@ -0,0 +1,47 @@ +/** + * Copyright (C) 2016 Jessica James. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Written by Jessica James + */ + +#if !defined _IRC_CORE_H_HEADER +#define _IRC_CORE_H_HEADER + +#include "Jupiter/Plugin.h" +#include "Jupiter/Reference_String.h" + +class IRCCorePlugin : public Jupiter::Plugin +{ +public: + /** + * @brief This is called when a GenericCommand is instantiated. + */ + virtual void OnGenericCommandAdd(Jupiter::GenericCommand &command); + + /** + * @brief This is called when a GenericCommand is deleted. + */ + virtual void OnGenericCommandRemove(Jupiter::GenericCommand &command); + + /** + * @brief Destructor for the IRCCorPlugin class + */ + ~IRCCorePlugin(); + +private: + Jupiter::ArrayList m_wrapped_commands; +}; + +#endif // _IRC_CORE_H_HEADER \ No newline at end of file diff --git a/Jupiter b/Jupiter index 5a34f89..5966674 160000 --- a/Jupiter +++ b/Jupiter @@ -1 +1 @@ -Subproject commit 5a34f8989d4f9bdd3fb44efeb8b8bc90a5dd02b2 +Subproject commit 5966674d67b66f380b73ba3028d6176c0d3af2cb diff --git a/Jupiter Bot.sln b/Jupiter Bot.sln index f5389d5..7f363eb 100644 --- a/Jupiter Bot.sln +++ b/Jupiter Bot.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 -VisualStudioVersion = 14.0.24720.0 +VisualStudioVersion = 14.0.25123.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Bot", "Bot\Bot.vcxproj", "{C188871B-5F32-4946-B301-24CA2EBB275D}" EndProject @@ -212,6 +212,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RenX.ServerList", "RenX.Ser {BB048D6F-F001-4E9B-95F4-886081E0807A} = {BB048D6F-F001-4E9B-95F4-886081E0807A} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IRC.Core", "IRC.Core\IRC.Core.vcxproj", "{89368D08-5E06-4530-B82A-AD2BC07B09E7}" + ProjectSection(ProjectDependencies) = postProject + {C188871B-5F32-4946-B301-24CA2EBB275D} = {C188871B-5F32-4946-B301-24CA2EBB275D} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -362,6 +367,10 @@ Global {6B0D59BA-B153-4DE8-8DD4-FBE5D810B033}.Debug|Win32.Build.0 = Debug|Win32 {6B0D59BA-B153-4DE8-8DD4-FBE5D810B033}.Release|Win32.ActiveCfg = Release|Win32 {6B0D59BA-B153-4DE8-8DD4-FBE5D810B033}.Release|Win32.Build.0 = Release|Win32 + {89368D08-5E06-4530-B82A-AD2BC07B09E7}.Debug|Win32.ActiveCfg = Debug|Win32 + {89368D08-5E06-4530-B82A-AD2BC07B09E7}.Debug|Win32.Build.0 = Debug|Win32 + {89368D08-5E06-4530-B82A-AD2BC07B09E7}.Release|Win32.ActiveCfg = Release|Win32 + {89368D08-5E06-4530-B82A-AD2BC07B09E7}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/PluginManager/PluginManager.cpp b/PluginManager/PluginManager.cpp index 06eff2a..1fe052d 100644 --- a/PluginManager/PluginManager.cpp +++ b/PluginManager/PluginManager.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2015 Jessica James. + * Copyright (C) 2014-2016 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -83,7 +83,6 @@ const Jupiter::ReadableString &PluginGenericCommand::getHelp(const Jupiter::Read GENERIC_COMMAND_INIT(PluginGenericCommand) GENERIC_COMMAND_AS_CONSOLE_COMMAND(PluginGenericCommand) -GENERIC_COMMAND_AS_IRC_COMMAND_ACCESS_CREATE(PluginGenericCommand, 5) // Plugin instantiation and entry point. PluginManager pluginInstance; diff --git a/Release/Bot.lib b/Release/Bot.lib index 9255454..1218a4e 100644 Binary files a/Release/Bot.lib and b/Release/Bot.lib differ diff --git a/Release/Plugins/RenX.Core.lib b/Release/Plugins/RenX.Core.lib index d6b3d8b..c9d9e54 100644 Binary files a/Release/Plugins/RenX.Core.lib and b/Release/Plugins/RenX.Core.lib differ diff --git a/RenX.Ladder/RenX_Ladder.cpp b/RenX.Ladder/RenX_Ladder.cpp index a14d128..5e2c57a 100644 --- a/RenX.Ladder/RenX_Ladder.cpp +++ b/RenX.Ladder/RenX_Ladder.cpp @@ -137,7 +137,6 @@ const Jupiter::ReadableString &LadderGenericCommand::getHelp(const Jupiter::Read GENERIC_COMMAND_INIT(LadderGenericCommand) GENERIC_COMMAND_AS_CONSOLE_COMMAND(LadderGenericCommand) -GENERIC_COMMAND_AS_IRC_COMMAND_NO_CREATE(LadderGenericCommand) // Ladder Game Command