summaryrefslogtreecommitdiff
path: root/src/server/game/Chat/Chat.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Chat/Chat.h')
-rw-r--r--src/server/game/Chat/Chat.h232
1 files changed, 116 insertions, 116 deletions
diff --git a/src/server/game/Chat/Chat.h b/src/server/game/Chat/Chat.h
index 8db66b3fba..46a98f5504 100644
--- a/src/server/game/Chat/Chat.h
+++ b/src/server/game/Chat/Chat.h
@@ -26,130 +26,130 @@ class ChatCommand
{
typedef bool(*pHandler)(ChatHandler*, char const*);
- public:
- ChatCommand(char const* name, uint32 securityLevel, bool allowConsole, pHandler handler, std::string help, std::vector<ChatCommand> childCommands = std::vector<ChatCommand>())
- : Name(ASSERT_NOTNULL(name)), SecurityLevel(securityLevel), AllowConsole(allowConsole), Handler(handler), Help(std::move(help)), ChildCommands(std::move(childCommands)) { }
-
- char const* Name;
- uint32 SecurityLevel;
- bool AllowConsole;
- pHandler Handler;
- std::string Help;
- std::vector<ChatCommand> ChildCommands;
+public:
+ ChatCommand(char const* name, uint32 securityLevel, bool allowConsole, pHandler handler, std::string help, std::vector<ChatCommand> childCommands = std::vector<ChatCommand>())
+ : Name(ASSERT_NOTNULL(name)), SecurityLevel(securityLevel), AllowConsole(allowConsole), Handler(handler), Help(std::move(help)), ChildCommands(std::move(childCommands)) { }
+
+ char const* Name;
+ uint32 SecurityLevel;
+ bool AllowConsole;
+ pHandler Handler;
+ std::string Help;
+ std::vector<ChatCommand> ChildCommands;
};
class ChatHandler
{
- public:
- WorldSession* GetSession() { return m_session; }
- explicit ChatHandler(WorldSession* session) : m_session(session), sentErrorMessage(false) {}
- virtual ~ChatHandler() { }
-
- // Builds chat packet and returns receiver guid position in the packet to substitute in whisper builders
- static size_t BuildChatPacket(WorldPacket& data, ChatMsg chatType, Language language, uint64 senderGUID, uint64 receiverGUID, std::string const& message, uint8 chatTag,
- std::string const& senderName = "", std::string const& receiverName = "",
- uint32 achievementId = 0, bool gmMessage = false, std::string const& channelName = "");
-
- // Builds chat packet and returns receiver guid position in the packet to substitute in whisper builders
- static size_t BuildChatPacket(WorldPacket& data, ChatMsg chatType, Language language, WorldObject const* sender, WorldObject const* receiver, std::string const& message, uint32 achievementId = 0, std::string const& channelName = "", LocaleConstant locale = DEFAULT_LOCALE);
-
- static char* LineFromMessage(char*& pos) { char* start = strtok(pos, "\n"); pos = nullptr; return start; }
-
- // function with different implementation for chat/console
- virtual char const* GetAcoreString(uint32 entry) const;
- virtual void SendSysMessage(char const* str);
-
- void SendSysMessage(uint32 entry);
- void PSendSysMessage(char const* format, ...) ATTR_PRINTF(2, 3);
- void PSendSysMessage(uint32 entry, ...);
- std::string PGetParseString(uint32 entry, ...) const;
-
- bool ParseCommands(const char* text);
-
- static std::vector<ChatCommand> const& getCommandTable();
-
- bool isValidChatMessage(const char* msg);
- void SendGlobalSysMessage(const char *str);
-
- bool hasStringAbbr(const char* name, const char* part);
-
- // function with different implementation for chat/console
- virtual bool isAvailable(ChatCommand const& cmd) const;
- virtual std::string GetNameLink() const { return GetNameLink(m_session->GetPlayer()); }
- virtual bool needReportToTarget(Player* chr) const;
- virtual LocaleConstant GetSessionDbcLocale() const;
- virtual int GetSessionDbLocaleIndex() const;
-
- bool HasLowerSecurity(Player* target, uint64 guid, bool strong = false);
- bool HasLowerSecurityAccount(WorldSession* target, uint32 account, bool strong = false);
-
- void SendGlobalGMSysMessage(const char *str);
- Player* getSelectedPlayer();
- Creature* getSelectedCreature();
- Unit* getSelectedUnit();
- WorldObject* getSelectedObject();
- // Returns either the selected player or self if there is no selected player
- Player* getSelectedPlayerOrSelf();
-
- char* extractKeyFromLink(char* text, char const* linkType, char** something1 = nullptr);
- char* extractKeyFromLink(char* text, char const* const* linkTypes, int* found_idx, char** something1 = nullptr);
-
- // if args have single value then it return in arg2 and arg1 == NULL
- void extractOptFirstArg(char* args, char** arg1, char** arg2);
- char* extractQuotedArg(char* args);
-
- uint32 extractSpellIdFromLink(char* text);
- uint64 extractGuidFromLink(char* text);
- GameTele const* extractGameTeleFromLink(char* text);
- bool GetPlayerGroupAndGUIDByName(const char* cname, Player* &player, Group* &group, uint64 &guid, bool offline = false);
- std::string extractPlayerNameFromLink(char* text);
- // select by arg (name/link) or in-game selection online/offline player
- bool extractPlayerTarget(char* args, Player** player, uint64* player_guid = NULL, std::string* player_name = nullptr);
-
- std::string playerLink(std::string const& name) const { return m_session ? "|cffffffff|Hplayer:"+name+"|h["+name+"]|h|r" : name; }
- std::string GetNameLink(Player* chr) const;
-
- GameObject* GetNearbyGameObject();
- GameObject* GetObjectGlobalyWithGuidOrNearWithDbGuid(uint32 lowguid, uint32 entry);
- bool HasSentErrorMessage() const { return sentErrorMessage; }
- void SetSentErrorMessage(bool val){ sentErrorMessage = val; }
- static bool LoadCommandTable() { return load_command_table; }
- static void SetLoadCommandTable(bool val) { load_command_table = val; }
-
- bool ShowHelpForCommand(std::vector<ChatCommand> const& table, const char* cmd);
- protected:
- explicit ChatHandler() : m_session(nullptr), sentErrorMessage(false) {} // for CLI subclass
- static bool SetDataForCommandInTable(std::vector<ChatCommand>& table, const char* text, uint32 securityLevel, std::string const& help, std::string const& fullcommand);
- bool ExecuteCommandInTable(std::vector<ChatCommand> const& table, const char* text, std::string const& fullcmd);
- bool ShowHelpForSubCommands(std::vector<ChatCommand> const& table, char const* cmd, char const* subcmd);
-
- private:
-
- WorldSession* m_session; // != NULL for chat command call and NULL for CLI command
-
- // common global flag
- static bool load_command_table;
- bool sentErrorMessage;
+public:
+ WorldSession* GetSession() { return m_session; }
+ explicit ChatHandler(WorldSession* session) : m_session(session), sentErrorMessage(false) {}
+ virtual ~ChatHandler() { }
+
+ // Builds chat packet and returns receiver guid position in the packet to substitute in whisper builders
+ static size_t BuildChatPacket(WorldPacket& data, ChatMsg chatType, Language language, uint64 senderGUID, uint64 receiverGUID, std::string const& message, uint8 chatTag,
+ std::string const& senderName = "", std::string const& receiverName = "",
+ uint32 achievementId = 0, bool gmMessage = false, std::string const& channelName = "");
+
+ // Builds chat packet and returns receiver guid position in the packet to substitute in whisper builders
+ static size_t BuildChatPacket(WorldPacket& data, ChatMsg chatType, Language language, WorldObject const* sender, WorldObject const* receiver, std::string const& message, uint32 achievementId = 0, std::string const& channelName = "", LocaleConstant locale = DEFAULT_LOCALE);
+
+ static char* LineFromMessage(char*& pos) { char* start = strtok(pos, "\n"); pos = nullptr; return start; }
+
+ // function with different implementation for chat/console
+ virtual char const* GetAcoreString(uint32 entry) const;
+ virtual void SendSysMessage(char const* str);
+
+ void SendSysMessage(uint32 entry);
+ void PSendSysMessage(char const* format, ...) ATTR_PRINTF(2, 3);
+ void PSendSysMessage(uint32 entry, ...);
+ std::string PGetParseString(uint32 entry, ...) const;
+
+ bool ParseCommands(const char* text);
+
+ static std::vector<ChatCommand> const& getCommandTable();
+
+ bool isValidChatMessage(const char* msg);
+ void SendGlobalSysMessage(const char* str);
+
+ bool hasStringAbbr(const char* name, const char* part);
+
+ // function with different implementation for chat/console
+ virtual bool isAvailable(ChatCommand const& cmd) const;
+ virtual std::string GetNameLink() const { return GetNameLink(m_session->GetPlayer()); }
+ virtual bool needReportToTarget(Player* chr) const;
+ virtual LocaleConstant GetSessionDbcLocale() const;
+ virtual int GetSessionDbLocaleIndex() const;
+
+ bool HasLowerSecurity(Player* target, uint64 guid, bool strong = false);
+ bool HasLowerSecurityAccount(WorldSession* target, uint32 account, bool strong = false);
+
+ void SendGlobalGMSysMessage(const char* str);
+ Player* getSelectedPlayer();
+ Creature* getSelectedCreature();
+ Unit* getSelectedUnit();
+ WorldObject* getSelectedObject();
+ // Returns either the selected player or self if there is no selected player
+ Player* getSelectedPlayerOrSelf();
+
+ char* extractKeyFromLink(char* text, char const* linkType, char** something1 = nullptr);
+ char* extractKeyFromLink(char* text, char const* const* linkTypes, int* found_idx, char** something1 = nullptr);
+
+ // if args have single value then it return in arg2 and arg1 == NULL
+ void extractOptFirstArg(char* args, char** arg1, char** arg2);
+ char* extractQuotedArg(char* args);
+
+ uint32 extractSpellIdFromLink(char* text);
+ uint64 extractGuidFromLink(char* text);
+ GameTele const* extractGameTeleFromLink(char* text);
+ bool GetPlayerGroupAndGUIDByName(const char* cname, Player*& player, Group*& group, uint64& guid, bool offline = false);
+ std::string extractPlayerNameFromLink(char* text);
+ // select by arg (name/link) or in-game selection online/offline player
+ bool extractPlayerTarget(char* args, Player** player, uint64* player_guid = NULL, std::string* player_name = nullptr);
+
+ std::string playerLink(std::string const& name) const { return m_session ? "|cffffffff|Hplayer:" + name + "|h[" + name + "]|h|r" : name; }
+ std::string GetNameLink(Player* chr) const;
+
+ GameObject* GetNearbyGameObject();
+ GameObject* GetObjectGlobalyWithGuidOrNearWithDbGuid(uint32 lowguid, uint32 entry);
+ bool HasSentErrorMessage() const { return sentErrorMessage; }
+ void SetSentErrorMessage(bool val) { sentErrorMessage = val; }
+ static bool LoadCommandTable() { return load_command_table; }
+ static void SetLoadCommandTable(bool val) { load_command_table = val; }
+
+ bool ShowHelpForCommand(std::vector<ChatCommand> const& table, const char* cmd);
+protected:
+ explicit ChatHandler() : m_session(nullptr), sentErrorMessage(false) {} // for CLI subclass
+ static bool SetDataForCommandInTable(std::vector<ChatCommand>& table, const char* text, uint32 securityLevel, std::string const& help, std::string const& fullcommand);
+ bool ExecuteCommandInTable(std::vector<ChatCommand> const& table, const char* text, std::string const& fullcmd);
+ bool ShowHelpForSubCommands(std::vector<ChatCommand> const& table, char const* cmd, char const* subcmd);
+
+private:
+
+ WorldSession* m_session; // != NULL for chat command call and NULL for CLI command
+
+ // common global flag
+ static bool load_command_table;
+ bool sentErrorMessage;
};
class CliHandler : public ChatHandler
{
- public:
- typedef void Print(void*, char const*);
- explicit CliHandler(void* callbackArg, Print* zprint) : m_callbackArg(callbackArg), m_print(zprint) {}
-
- // overwrite functions
- char const* GetAcoreString(uint32 entry) const override;
- bool isAvailable(ChatCommand const& cmd) const override;
- void SendSysMessage(const char *str) override;
- std::string GetNameLink() const override;
- bool needReportToTarget(Player* chr) const override;
- LocaleConstant GetSessionDbcLocale() const override;
- int GetSessionDbLocaleIndex() const override;
-
- private:
- void* m_callbackArg;
- Print* m_print;
+public:
+ typedef void Print(void*, char const*);
+ explicit CliHandler(void* callbackArg, Print* zprint) : m_callbackArg(callbackArg), m_print(zprint) {}
+
+ // overwrite functions
+ char const* GetAcoreString(uint32 entry) const override;
+ bool isAvailable(ChatCommand const& cmd) const override;
+ void SendSysMessage(const char* str) override;
+ std::string GetNameLink() const override;
+ bool needReportToTarget(Player* chr) const override;
+ LocaleConstant GetSessionDbcLocale() const override;
+ int GetSessionDbLocaleIndex() const override;
+
+private:
+ void* m_callbackArg;
+ Print* m_print;
};
#endif