From 9c1f3f9635c1eb49c0de8119bd073e5031bcf49c Mon Sep 17 00:00:00 2001 From: Andrea Bulgarelli Date: Wed, 16 Jul 2014 20:26:25 +0200 Subject: [PATCH] removed Packet::decompressData. Now Packet::getData() performs the decompression operation in a transparent way --- .../xcshareddata/PacketLib.xccheckout | 2 +- .../UserInterfaceState.xcuserstate | Bin 42592 -> 42951 bytes include/Packet.h | 10 +++++----- src/Packet.cpp | 8 ++++---- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/PacketLib.xcodeproj/project.xcworkspace/xcshareddata/PacketLib.xccheckout b/PacketLib.xcodeproj/project.xcworkspace/xcshareddata/PacketLib.xccheckout index 756e580..d6548ca 100644 --- a/PacketLib.xcodeproj/project.xcworkspace/xcshareddata/PacketLib.xccheckout +++ b/PacketLib.xcodeproj/project.xcworkspace/xcshareddata/PacketLib.xccheckout @@ -5,7 +5,7 @@ IDESourceControlProjectFavoriteDictionaryKey IDESourceControlProjectIdentifier - AD920CA7-23AA-4A38-B382-B72E4C2959FA + 5C866F64-F91E-4DE9-B35A-4CCAE5CEE492 IDESourceControlProjectName PacketLib IDESourceControlProjectOriginsDictionary diff --git a/PacketLib.xcodeproj/project.xcworkspace/xcuserdata/bulgarelli.xcuserdatad/UserInterfaceState.xcuserstate b/PacketLib.xcodeproj/project.xcworkspace/xcuserdata/bulgarelli.xcuserdatad/UserInterfaceState.xcuserstate index a3eb68eb5c480e9f7b33a04f0bef87ce98136698..a178733408eaf3121a4ad6bd46705123277e33e5 100644 GIT binary patch delta 24277 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 delta 23966 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 CL&UNG diff --git a/include/Packet.h b/include/Packet.h index 3373937..dae4184 100644 --- a/include/Packet.h +++ b/include/Packet.h @@ -84,8 +84,8 @@ public: ///\post the variable part of the "source data field" is compressed and should be sent or stored virtual ByteStreamPtr compressData(enum CompressionAlgorithms compressionAlgorithm, byte compressionLevel); - ///\return decompress the data section without changing the packet (the variable part of the "source data field") - virtual ByteStreamPtr decompressData(); + ///\return Get the the variable part of the source data field as a ByteStream that contains the data and decompress (if compressed) them without changing the packet (the variable part of the "source data field") + virtual ByteStreamPtr getData(); ///Get the compression algorithm used for this packet virtual enum CompressionAlgorithms getCompressionAlgorithm(); @@ -124,9 +124,6 @@ public: ///Get the the variable part of the source data field as a ByteStream ByteStreamPtr getBSSourceDataFieldsVariablePart(); - ///Get the the variable part of the source data field as a ByteStream that contains the data - ByteStreamPtr getData(); - ///Get the the source data field as a ByteStream ByteStreamPtr getBSSourceDataField(); @@ -242,6 +239,9 @@ public: protected: + ///Get the the variable part of the source data field as a ByteStream that contains the data + ByteStreamPtr getBSData(); + /// This is the ByteStream generated with generateStream(). ByteStreamPtr packet_output; diff --git a/src/Packet.cpp b/src/Packet.cpp index 83a417f..afc0f17 100644 --- a/src/Packet.cpp +++ b/src/Packet.cpp @@ -869,7 +869,7 @@ ByteStreamPtr Packet::getBSSourceDataFieldsVariablePart() { return sdff; } -ByteStreamPtr Packet::getData() { +ByteStreamPtr Packet::getBSData() { return getBSSourceDataFieldsVariablePart(); } @@ -1031,7 +1031,7 @@ PartOfPacket* Packet::getPacketTail() { return dataField->getPacketTail(); } -ByteStreamPtr Packet::decompressData() { +ByteStreamPtr Packet::getData() { //ALGORITHM FOR AUTOMATIC DECOMPRESSION: NOT IMPLEMENTED NOW. TODO //decompression algorithm here //1) get the fixed and variable part of the source data field, get the tail @@ -1043,8 +1043,8 @@ ByteStreamPtr Packet::decompressData() { //DECOMPRESS ONLY THE DATA if(!isCompressed()) - return getData(); - ByteStreamPtr compressed = getData(); + return getBSData(); + ByteStreamPtr compressed = getBSData(); ByteStreamPtr decompressed = compressed->decompress(getCompressionAlgorithm(), getCompressionLevel(), sizeMax()); return decompressed; -- GitLab