From 946e2e8593724e009fc9ea0955ad376762c31639 Mon Sep 17 00:00:00 2001 From: Andrea Bulgarelli <bulgarelli@iasfbo.inaf.it> Date: Mon, 21 Jul 2014 21:08:54 +0200 Subject: [PATCH] PacketStream::PacketStream(const char* fileNameConfig) automatic createStreamStructure() --- .../UserInterfaceState.xcuserstate | Bin 43171 -> 42911 bytes include/ByteStream.h | 37 +++++++++--------- src/PacketStream.cpp | 1 + 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/PacketLib.xcodeproj/project.xcworkspace/xcuserdata/bulgarelli.xcuserdatad/UserInterfaceState.xcuserstate b/PacketLib.xcodeproj/project.xcworkspace/xcuserdata/bulgarelli.xcuserdatad/UserInterfaceState.xcuserstate index a8af2bb2537465058e10dab38452dd5647a23d0b..1e3e6102629ef05b3b5d41b0f80b0cef00d24949 100644 GIT binary patch delta 20844 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 GdJ6#DPuk%C delta 21079 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 diff --git a/include/ByteStream.h b/include/ByteStream.h index 5d4b436..af25973 100644 --- a/include/ByteStream.h +++ b/include/ByteStream.h @@ -35,20 +35,20 @@ class ByteStream public: - /// The memory of byte* is not allocated + /// The memory of byte* is not allocated. /// \param bigendian The byte alignment ByteStream(bool bigendian = false); - /// The memory of byte* is allocated + /// The memory of byte* is allocated. ByteStream(dword size, bool bigendian); - /// The memory of byte* is not allocated + /// The memory of byte* is not allocated. ByteStream(byte* stream, dword dim, bool bigendian, bool memory_sharing = true); /// Creates a new ByteStream that it is the sum of one or two or three ByteStream /// passed as input. /// It's possibile to pass 0 as pointer. - /// The mamory of byte* is allocated. + /// The memory of byte* is allocated. ByteStream(ByteStreamPtr b0, ByteStreamPtr b1, ByteStreamPtr b2); /// Creates a new ByteStream from start to end @@ -57,10 +57,25 @@ public: ~ByteStream(); + /// Get the stream of bytes byte* getStream(); + /// Gets the dimension of the stream + dword size(); + + /// Swap the stream if it is little endian (for big endian architectures, e.g. Motorola) + void swapWordIfStreamIsLittleEndian(); + + /// Swap the stream if it is big endian (for little endian architectures, e.g. Intel) + void swapWordIfStreamIsBigEndian(); + + /// Swap the stream Intel architectures + void swapWordForIntel(); + + /// Compress the stream. ByteStreamPtr compress(enum CompressionAlgorithms algorithmType, byte compressionLevel); + /// Decompress the stream. ByteStreamPtr decompress(enum CompressionAlgorithms algorithmType, byte compressionLevel, dword dmax); /// Returns a pointer of the stream for output purpose. If there is problems return NULL @@ -104,9 +119,6 @@ public: /// \param dim number of byte (1 or 2) long getValue(dword start, word dim); - /// Gets the dimension of the stream - dword size(); - char* printStreamInHexadecimal(); /// Get type of allocations. @@ -117,17 +129,6 @@ public: bool isBigendian() const; - - /// Swap the stream if it is little endian (for big endian architectures, e.g. Motorola) - void swapWordIfStreamIsLittleEndian(); - - /// Swap the stream if it is big endian (for little endian architectures, e.g. Intel) - void swapWordIfStreamIsBigEndian(); - - /// Swap the stream Intel architectures - void swapWordForIntel(); - - /// Swap the stream of words void swapWord(); diff --git a/src/PacketStream.cpp b/src/PacketStream.cpp index c45ffc0..9c31980 100644 --- a/src/PacketStream.cpp +++ b/src/PacketStream.cpp @@ -39,6 +39,7 @@ PacketStream::PacketStream(const char* fileNameConfig) memset(packetType, 0, sizeof(Packet*)*255); pathFileNameConfig = 0; dimHeader = 0; + createStreamStructure(); } -- GitLab