summaryrefslogtreecommitdiffstats
path: root/heimdall/source/ResponsePacket.h
diff options
context:
space:
mode:
authorBenjamin Dobell <benjamin.dobell+github@glassechidna.com.au>2010-12-04 14:25:04 +0100
committerBenjamin Dobell <benjamin.dobell+github@glassechidna.com.au>2010-12-04 14:25:04 +0100
commit46f2c1134d276944fb74584a61d90cc363aee7eb (patch)
tree6fa14b7ef509a3fb84305dec013dd24bcae6c17d /heimdall/source/ResponsePacket.h
parentAddresses: (diff)
downloadHeimdall-46f2c1134d276944fb74584a61d90cc363aee7eb.tar
Heimdall-46f2c1134d276944fb74584a61d90cc363aee7eb.tar.gz
Heimdall-46f2c1134d276944fb74584a61d90cc363aee7eb.tar.bz2
Heimdall-46f2c1134d276944fb74584a61d90cc363aee7eb.tar.lz
Heimdall-46f2c1134d276944fb74584a61d90cc363aee7eb.tar.xz
Heimdall-46f2c1134d276944fb74584a61d90cc363aee7eb.tar.zst
Heimdall-46f2c1134d276944fb74584a61d90cc363aee7eb.zip
Diffstat (limited to 'heimdall/source/ResponsePacket.h')
-rw-r--r--heimdall/source/ResponsePacket.h81
1 files changed, 81 insertions, 0 deletions
diff --git a/heimdall/source/ResponsePacket.h b/heimdall/source/ResponsePacket.h
new file mode 100644
index 0000000..ce799b5
--- /dev/null
+++ b/heimdall/source/ResponsePacket.h
@@ -0,0 +1,81 @@
+/* Copyright (c) 2010 Benjamin Dobell, Glass Echidna
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.*/
+
+#ifndef RESPONSEPACKET_H
+#define RESPONSEPACKET_H
+
+// Heimdall
+#include "InboundPacket.h"
+
+namespace Heimdall
+{
+ class ResponsePacket : public InboundPacket
+ {
+ public:
+
+ enum
+ {
+ kResponseTypeSendFilePart = 0x00,
+ kResponseTypeDeviceInfo = 0x64,
+ kResponseTypePitFile = 0x65,
+ kResponseTypeFileTransfer = 0x66,
+ kResponseTypeRebootDevice = 0x67
+ };
+
+ private:
+
+ unsigned int responseType;
+
+ protected:
+
+ enum
+ {
+ kDataSize = 4
+ };
+
+ public:
+
+ ResponsePacket(int responseType) : InboundPacket(8)
+ {
+ this->responseType = responseType;
+ }
+
+ unsigned int GetResponseType(void) const
+ {
+ return (responseType);
+ }
+
+ virtual bool Unpack(void)
+ {
+ const unsigned char *data = GetData();
+
+ unsigned int receivedResponseType = UnpackInteger(0);
+ if (receivedResponseType != responseType)
+ {
+ responseType = receivedResponseType;
+ return (false);
+ }
+
+ return (true);
+ }
+ };
+}
+
+#endif