summaryrefslogtreecommitdiff
path: root/src/net/tmwserv
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/tmwserv')
-rw-r--r--src/net/tmwserv/generalhandler.cpp16
-rw-r--r--src/net/tmwserv/partyhandler.cpp59
-rw-r--r--src/net/tmwserv/partyhandler.h25
3 files changed, 89 insertions, 11 deletions
diff --git a/src/net/tmwserv/generalhandler.cpp b/src/net/tmwserv/generalhandler.cpp
index c5f00624..504af023 100644
--- a/src/net/tmwserv/generalhandler.cpp
+++ b/src/net/tmwserv/generalhandler.cpp
@@ -51,19 +51,19 @@ namespace TmwServ {
GeneralHandler::GeneralHandler():
mBeingHandler(new BeingHandler),
mBuySellHandler(new BuySellHandler),
- mCharServerHandler(new TmwServ::CharServerHandler),
- mChatHandler(new TmwServ::ChatHandler),
+ mCharServerHandler(new CharServerHandler),
+ mChatHandler(new ChatHandler),
mEffectHandler(new EffectHandler),
mGuildHandler(new GuildHandler),
- mInventoryHandler(new TmwServ::InventoryHandler),
+ mInventoryHandler(new InventoryHandler),
mItemHandler(new ItemHandler),
- mLoginHandler(new TmwServ::LoginHandler),
+ mLoginHandler(new LoginHandler),
mLogoutHandler(new LogoutHandler),
- mMapHandler(new TmwServ::MapHandler),
- mNpcHandler(new TmwServ::NpcHandler),
+ mMapHandler(new MapHandler),
+ mNpcHandler(new NpcHandler),
mPartyHandler(new PartyHandler),
- mPlayerHandler(new TmwServ::PlayerHandler),
- mTradeHandler(new TmwServ::TradeHandler)
+ mPlayerHandler(new PlayerHandler),
+ mTradeHandler(new TradeHandler)
{
accountServerConnection = Net::getConnection();
gameServerConnection = Net::getConnection();
diff --git a/src/net/tmwserv/partyhandler.cpp b/src/net/tmwserv/partyhandler.cpp
index 08e58667..5aecca76 100644
--- a/src/net/tmwserv/partyhandler.cpp
+++ b/src/net/tmwserv/partyhandler.cpp
@@ -21,9 +21,11 @@
#include "net/tmwserv/partyhandler.h"
-#include "net/tmwserv/chatserver/chatserver.h"
#include "net/tmwserv/protocol.h"
+#include "net/tmwserv/chatserver/chatserver.h"
+#include "net/tmwserv/chatserver/party.h"
+
#include "net/messagein.h"
#include "gui/partywindow.h"
@@ -35,6 +37,10 @@
#include <iostream>
+Net::PartyHandler *partyHandler;
+
+namespace TmwServ {
+
PartyHandler::PartyHandler()
{
static const Uint16 _messages[] = {
@@ -47,7 +53,7 @@ PartyHandler::PartyHandler()
0
};
handledMessages = _messages;
-
+ partyHandler = this;
}
void PartyHandler::handleMessage(MessageIn &msg)
@@ -104,3 +110,52 @@ void PartyHandler::handleMessage(MessageIn &msg)
} break;
}
}
+
+void PartyHandler::create(const std::string &name)
+{
+ // TODO
+}
+
+void PartyHandler::join(int partyId)
+{
+ // TODO
+}
+
+void PartyHandler::invite(Player *player)
+{
+ invite(player->getName());
+}
+
+void PartyHandler::invite(const std::string &name)
+{
+ Net::ChatServer::Party::invitePlayer(name);
+}
+
+void PartyHandler::inviteResponse(const std::string &inviter, bool accept)
+{
+ if (accept)
+ Net::ChatServer::Party::acceptInvite(inviter);
+ // TODO: rejection
+}
+
+void PartyHandler::leave()
+{
+ // TODO
+}
+
+void PartyHandler::kick(int playerId)
+{
+ // TODO
+}
+
+void PartyHandler::chat(const std::string &text)
+{
+ // TODO
+}
+
+void PartyHandler::requestPartyMembers()
+{
+ // TODO
+}
+
+} // namespace TmwServ
diff --git a/src/net/tmwserv/partyhandler.h b/src/net/tmwserv/partyhandler.h
index 66e29b0d..9dad4bbc 100644
--- a/src/net/tmwserv/partyhandler.h
+++ b/src/net/tmwserv/partyhandler.h
@@ -23,16 +23,39 @@
#define NET_TMWSERV_PARTYHANDLER_H
#include "net/messagehandler.h"
+#include "net/partyhandler.h"
#include <string>
-class PartyHandler : public MessageHandler
+namespace TmwServ {
+
+class PartyHandler : public MessageHandler, public Net::PartyHandler
{
public:
PartyHandler();
void handleMessage(MessageIn &msg);
+
+ void create(const std::string &name = "");
+
+ void join(int partyId);
+
+ void invite(Player *player);
+
+ void invite(const std::string &name);
+
+ void inviteResponse(const std::string &inviter, bool accept);
+
+ void leave();
+
+ void kick(int playerId);
+
+ void chat(const std::string &text);
+
+ void requestPartyMembers();
};
+} // namespace TmwServ
+
#endif