diff --git a/PacketLib.xcodeproj/project.xcworkspace/xcuserdata/bulgarelli.xcuserdatad/UserInterfaceState.xcuserstate b/PacketLib.xcodeproj/project.xcworkspace/xcuserdata/bulgarelli.xcuserdatad/UserInterfaceState.xcuserstate index 0e85b5d212b1125aa5bea98a7ae4e4fb7c304d73..2851d8edaa65b98ce1ab649336cfd51153d3a7c7 100644 Binary files a/PacketLib.xcodeproj/project.xcworkspace/xcuserdata/bulgarelli.xcuserdatad/UserInterfaceState.xcuserstate and b/PacketLib.xcodeproj/project.xcworkspace/xcuserdata/bulgarelli.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/include/Packet.h b/include/Packet.h index 33739376f269911ff07524013e2e9bbf5cd78b69..a14d20ce6d60dd0346c03fc85cf6ada01a051cf9 100644 --- a/include/Packet.h +++ b/include/Packet.h @@ -60,20 +60,20 @@ public: /// Decode the packet /// \param stream A pointer to the stream of byte, with prefix and packet /// \param checkPacketLenght if true check the packet lenght and set the packet stream, if false do not check the packet lenght - virtual bool decode(ByteStreamPtr stream, bool checkPacketLenght = false); + virtual void decode(ByteStreamPtr stream, bool checkPacketLenght = false) throw(PacketException*); /// Decode the packet /// \param prefix A pointer to the stream of byte, with the prefix /// \param packet A pointer to the stream of byte, with the packet /// \param checkPacketLenght if true check the packet lenght and set the packet stream, if false do not check the packet lenght - virtual bool decode(ByteStreamPtr prefix, ByteStreamPtr packet, bool checkPacketLenght = false); + virtual void decode(ByteStreamPtr prefix, ByteStreamPtr packet, bool checkPacketLenght = false) throw(PacketException*); /// Decode the packet /// \param prefix A pointer to the stream of byte, with the prefix /// \param packetHeader A pointer to the stream of byte, with the packet header /// \param packetHeader A pointer to the stream of byte, with the packet data field /// \param checkPacketLenght if true check the packet lenght and set the packet stream, if false do not check the packet lenght - virtual bool decode(ByteStreamPtr prefix, ByteStreamPtr packetHeader, ByteStreamPtr packetDataField, bool checkPacketLenght = false); + virtual void decode(ByteStreamPtr prefix, ByteStreamPtr packetHeader, ByteStreamPtr packetDataField, bool checkPacketLenght = false) throw(PacketException*); /// Verify the content of the packet (after the decode) ///\return true is the packet contained into the stream is recognized using identifiers. diff --git a/src/Packet.cpp b/src/Packet.cpp index 83a417f5c868b2cd4b88376b1d36e04842fbef77..6c29eb94d620985d72ae30a60138cc1589888d48 100644 --- a/src/Packet.cpp +++ b/src/Packet.cpp @@ -740,7 +740,7 @@ char* Packet::printPacketOutputStream() -bool Packet::decode(ByteStreamPtr stream, bool checkPacketLength) { +void Packet::decode(ByteStreamPtr stream, bool checkPacketLength) throw(PacketException*) { //save a pointer to the current stream to avoid shareptr deallocation this->stream = stream; @@ -783,11 +783,11 @@ bool Packet::decode(ByteStreamPtr stream, bool checkPacketLength) { } //TODO OPTIMIZATION: set the followin method only when is needed setByteStreamSections(); //10 per cent of time loss but safer - return true; + //return true; } -bool Packet::decode(ByteStreamPtr prefix, ByteStreamPtr packet, bool checkPacketLength) { +void Packet::decode(ByteStreamPtr prefix, ByteStreamPtr packet, bool checkPacketLength) throw(PacketException*) { this->stream = 0; decodedPacketHeader = false; @@ -814,16 +814,16 @@ bool Packet::decode(ByteStreamPtr prefix, ByteStreamPtr packet, bool checkPacket } //TODO OPTIMIZATION: set the following method only when is needed setByteStreamSections(); //10 per cent of time loss but safer - return true; + //return true; } -bool Packet::decode(ByteStreamPtr prefix, ByteStreamPtr packetHeader, ByteStreamPtr packetDataField, bool checkPacketLenght) { +void Packet::decode(ByteStreamPtr prefix, ByteStreamPtr packetHeader, ByteStreamPtr packetDataField, bool checkPacketLenght) throw(PacketException*) { //merge packetHeader and packetDataField ByteStreamPtr tmpPacket = ByteStreamPtr(new ByteStream(packetHeader, packetDataField, 0)); - return decode(prefix, tmpPacket, checkPacketLenght); + decode(prefix, tmpPacket, checkPacketLenght); }