diff --git a/PacketLib.xcodeproj/project.xcworkspace/xcuserdata/bulgarelli.xcuserdatad/UserInterfaceState.xcuserstate b/PacketLib.xcodeproj/project.xcworkspace/xcuserdata/bulgarelli.xcuserdatad/UserInterfaceState.xcuserstate index 2851d8edaa65b98ce1ab649336cfd51153d3a7c7..0e85b5d212b1125aa5bea98a7ae4e4fb7c304d73 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 a14d20ce6d60dd0346c03fc85cf6ada01a051cf9..33739376f269911ff07524013e2e9bbf5cd78b69 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 void decode(ByteStreamPtr stream, bool checkPacketLenght = false) throw(PacketException*); + virtual bool decode(ByteStreamPtr stream, bool checkPacketLenght = false); /// 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 void decode(ByteStreamPtr prefix, ByteStreamPtr packet, bool checkPacketLenght = false) throw(PacketException*); + virtual bool decode(ByteStreamPtr prefix, ByteStreamPtr packet, bool checkPacketLenght = false); /// 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 void decode(ByteStreamPtr prefix, ByteStreamPtr packetHeader, ByteStreamPtr packetDataField, bool checkPacketLenght = false) throw(PacketException*); + virtual bool decode(ByteStreamPtr prefix, ByteStreamPtr packetHeader, ByteStreamPtr packetDataField, bool checkPacketLenght = false); /// 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 6c29eb94d620985d72ae30a60138cc1589888d48..83a417f5c868b2cd4b88376b1d36e04842fbef77 100644 --- a/src/Packet.cpp +++ b/src/Packet.cpp @@ -740,7 +740,7 @@ char* Packet::printPacketOutputStream() -void Packet::decode(ByteStreamPtr stream, bool checkPacketLength) throw(PacketException*) { +bool Packet::decode(ByteStreamPtr stream, bool checkPacketLength) { //save a pointer to the current stream to avoid shareptr deallocation this->stream = stream; @@ -783,11 +783,11 @@ void Packet::decode(ByteStreamPtr stream, bool checkPacketLength) throw(PacketEx } //TODO OPTIMIZATION: set the followin method only when is needed setByteStreamSections(); //10 per cent of time loss but safer - //return true; + return true; } -void Packet::decode(ByteStreamPtr prefix, ByteStreamPtr packet, bool checkPacketLength) throw(PacketException*) { +bool Packet::decode(ByteStreamPtr prefix, ByteStreamPtr packet, bool checkPacketLength) { this->stream = 0; decodedPacketHeader = false; @@ -814,16 +814,16 @@ void 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; } -void Packet::decode(ByteStreamPtr prefix, ByteStreamPtr packetHeader, ByteStreamPtr packetDataField, bool checkPacketLenght) throw(PacketException*) { +bool Packet::decode(ByteStreamPtr prefix, ByteStreamPtr packetHeader, ByteStreamPtr packetDataField, bool checkPacketLenght) { //merge packetHeader and packetDataField ByteStreamPtr tmpPacket = ByteStreamPtr(new ByteStream(packetHeader, packetDataField, 0)); - decode(prefix, tmpPacket, checkPacketLenght); + return decode(prefix, tmpPacket, checkPacketLenght); }