summaryrefslogtreecommitdiffstats
path: root/src/Client/Requests
diff options
context:
space:
mode:
authorMatthias Schiffer <matthias@gamezock.de>2008-10-08 23:08:21 +0200
committerMatthias Schiffer <matthias@gamezock.de>2008-10-08 23:08:21 +0200
commit58c5d4eefdf1cdee0651f7c74ffd1501adbdc9c3 (patch)
tree340e4f8ccfd172e197db6aa20cd6cfc7bec0f40e /src/Client/Requests
parent3bb4da8601bd4d6de56d57507faf7fa115a15037 (diff)
downloadmad-58c5d4eefdf1cdee0651f7c74ffd1501adbdc9c3.tar
mad-58c5d4eefdf1cdee0651f7c74ffd1501adbdc9c3.zip
fsinfo-Befehl implementiert
Diffstat (limited to 'src/Client/Requests')
-rw-r--r--src/Client/Requests/DaemonFSInfoRequest.cpp (renamed from src/Client/Requests/CoreStatusRequest.cpp)19
-rw-r--r--src/Client/Requests/DaemonFSInfoRequest.h (renamed from src/Client/Requests/CoreStatusRequest.h)19
-rw-r--r--src/Client/Requests/Makefile.am4
-rw-r--r--src/Client/Requests/Makefile.in10
4 files changed, 31 insertions, 21 deletions
diff --git a/src/Client/Requests/CoreStatusRequest.cpp b/src/Client/Requests/DaemonFSInfoRequest.cpp
index 69e3ecf..eb26cf4 100644
--- a/src/Client/Requests/CoreStatusRequest.cpp
+++ b/src/Client/Requests/DaemonFSInfoRequest.cpp
@@ -1,5 +1,5 @@
/*
- * CoreStatusRequest.cpp
+ * DaemonFSInfoRequest.cpp
*
* Copyright (C) 2008 Matthias Schiffer <matthias@gamezock.de>
*
@@ -17,24 +17,29 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "CoreStatusRequest.h"
+#include "DaemonFSInfoRequest.h"
#include <Net/Connection.h>
+#include <Net/Packets/ErrorPacket.h>
namespace Mad {
namespace Client {
namespace Requests {
-void CoreStatusRequest::sendRequest(Net::Connection *connection, uint16_t requestId) {
- connection->send(Net::Packet(Net::Packet::STATUS, requestId));
+void DaemonFSInfoRequest::sendRequest(Net::Connection *connection, uint16_t requestId) {
+ connection->send(Net::Packet(Net::Packet::DAEMON_FS_INFO, requestId, daemon.c_str(), daemon.length()));
}
-void CoreStatusRequest::handlePacket(Net::Connection*, const Net::Packet &packet) {
- if(packet.getType() != Net::Packet::OK) {
+void DaemonFSInfoRequest::handlePacket(Net::Connection*, const Net::Packet &packet) {
+ if(packet.getType() == Net::Packet::ERROR) {
+ finishWithError(Net::Packets::ErrorPacket(packet).getException());
+ return;
+ }
+ else if(packet.getType() != Net::Packet::OK) {
finishWithError(Common::Exception(Common::Exception::UNEXPECTED_PACKET));
return; // TODO Logging
}
- finish(Net::Packets::HostStatusPacket(packet));
+ finish(Net::Packets::FSInfoPacket(packet));
}
}
diff --git a/src/Client/Requests/CoreStatusRequest.h b/src/Client/Requests/DaemonFSInfoRequest.h
index f57f4bf..d966b8d 100644
--- a/src/Client/Requests/CoreStatusRequest.h
+++ b/src/Client/Requests/DaemonFSInfoRequest.h
@@ -1,5 +1,5 @@
/*
- * CoreStatusRequest.h
+ * DaemonFSInfoRequest.h
*
* Copyright (C) 2008 Matthias Schiffer <matthias@gamezock.de>
*
@@ -17,27 +17,32 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef MAD_CLIENT_REQUESTS_CORESTATUSREQUEST_H_
-#define MAD_CLIENT_REQUESTS_CORESTATUSREQUEST_H_
+#ifndef MAD_CLIENT_REQUESTS_DAEMONFSINFOREQUEST_H_
+#define MAD_CLIENT_REQUESTS_DAEMONFSINFOREQUEST_H_
#include <Common/Request.h>
-#include <Net/Packets/HostStatusPacket.h>
+#include <Net/Packets/FSInfoPacket.h>
+
+#include <string>
namespace Mad {
namespace Client {
namespace Requests {
-class CoreStatusRequest : public Common::Request<Net::Packets::HostStatusPacket> {
+class DaemonFSInfoRequest : public Common::Request<Net::Packets::FSInfoPacket> {
+ private:
+ std::string daemon;
+
protected:
virtual void sendRequest(Net::Connection *connection, uint16_t requestId);
virtual void handlePacket(Net::Connection *connection, const Net::Packet &packet);
public:
- CoreStatusRequest(slot_type slot) : Common::Request<Net::Packets::HostStatusPacket>(slot) {}
+ DaemonFSInfoRequest(const std::string &daemon0, slot_type slot) : Common::Request<Net::Packets::FSInfoPacket>(slot), daemon(daemon0) {}
};
}
}
}
-#endif /* MAD_CLIENT_REQUESTS_CORESTATUSREQUEST_H_ */
+#endif /* MAD_CLIENT_REQUESTS_DAEMONFSINFOREQUEST_H_ */
diff --git a/src/Client/Requests/Makefile.am b/src/Client/Requests/Makefile.am
index 8c4f542..a96b265 100644
--- a/src/Client/Requests/Makefile.am
+++ b/src/Client/Requests/Makefile.am
@@ -1,4 +1,4 @@
noinst_LTLIBRARIES = librequests.la
-librequests_la_SOURCES = CoreStatusRequest.cpp DaemonCommandRequest.cpp DaemonListRequest.cpp DaemonStatusRequest.cpp
+librequests_la_SOURCES = DaemonCommandRequest.cpp DaemonFSInfoRequest.cpp DaemonListRequest.cpp DaemonStatusRequest.cpp
-noinst_HEADERS = CoreStatusRequest.h DaemonCommandRequest.h DaemonListRequest.h DaemonStatusRequest.h
+noinst_HEADERS = DaemonCommandRequest.h DaemonFSInfoRequest.h DaemonListRequest.h DaemonStatusRequest.h
diff --git a/src/Client/Requests/Makefile.in b/src/Client/Requests/Makefile.in
index 9336dbb..a074523 100644
--- a/src/Client/Requests/Makefile.in
+++ b/src/Client/Requests/Makefile.in
@@ -48,8 +48,8 @@ CONFIG_HEADER = $(top_builddir)/src/config.h
CONFIG_CLEAN_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
librequests_la_LIBADD =
-am_librequests_la_OBJECTS = CoreStatusRequest.lo \
- DaemonCommandRequest.lo DaemonListRequest.lo \
+am_librequests_la_OBJECTS = DaemonCommandRequest.lo \
+ DaemonFSInfoRequest.lo DaemonListRequest.lo \
DaemonStatusRequest.lo
librequests_la_OBJECTS = $(am_librequests_la_OBJECTS)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
@@ -189,8 +189,8 @@ target_alias = @target_alias@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
noinst_LTLIBRARIES = librequests.la
-librequests_la_SOURCES = CoreStatusRequest.cpp DaemonCommandRequest.cpp DaemonListRequest.cpp DaemonStatusRequest.cpp
-noinst_HEADERS = CoreStatusRequest.h DaemonCommandRequest.h DaemonListRequest.h DaemonStatusRequest.h
+librequests_la_SOURCES = DaemonCommandRequest.cpp DaemonFSInfoRequest.cpp DaemonListRequest.cpp DaemonStatusRequest.cpp
+noinst_HEADERS = DaemonCommandRequest.h DaemonFSInfoRequest.h DaemonListRequest.h DaemonStatusRequest.h
all: all-am
.SUFFIXES:
@@ -242,8 +242,8 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CoreStatusRequest.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DaemonCommandRequest.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DaemonFSInfoRequest.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DaemonListRequest.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DaemonStatusRequest.Plo@am__quote@