Skip to content
Snippets Groups Projects
Commit b3bc5fe5 authored by Andrea Bulgarelli's avatar Andrea Bulgarelli
Browse files

Added exception mamangement in SDFRBBlock->setNumberOfRealDataBlock

parent 398b0ec0
Branches
Tags
No related merge requests found
......@@ -36,6 +36,8 @@
#define ARCH_BIGENDIAN 0
//#define NOFIELDSNAME
//#define PRINTDEBUG(strprint) if(DEBUGMODE) cout << strprint << endl;
#define PRINTDEBUG(strprint) if(DEBUGMODE) cout << strprint << endl;
#define PRINTERROR(strprint) if(ERRORMODE) cerr << strprint << endl;
......
......@@ -51,7 +51,7 @@ class SDFRBBlock : public PartOfPacket
//## determinated type is repeated) for each type of rblock present.
//## \param number The number of blocks
//## \param rBlockIndex The number of rblock
virtual void setNumberOfRealDataBlock(word number, word rblockIndex = 0);
virtual void setNumberOfRealDataBlock(word number, word rblockIndex = 0) throw (PacketException*);
//##Documentation
//## Get the number of blocks (the number of times that a block of a
......
......@@ -83,7 +83,7 @@ class SDFRBlock : public SourceDataField
//## determinated type is repeated) for each type of rblock present.
//## \param number The number of blocks
//## \param rBlockIndex The number of rblock
void setNumberOfRealDataBlock(word number, word rblockIndex = 0);
void setNumberOfRealDataBlock(word number, word rblockIndex = 0) throw (PacketException*);
//##Documentation
//## Get the number of blocks (the number of times that a block of a
......
......@@ -105,7 +105,7 @@ class SourceDataField : public PartOfPacket
//##ModelId=3C9AEC0A01AD
//##Documentation
//## Sets the number of real data block for the current packet.
virtual void setNumberOfRealDataBlock(word value, word rblockIndex = 0);
virtual void setNumberOfRealDataBlock(word value, word rblockIndex = 0) throw (PacketException*);
//##ModelId=3C9AEC0B006F
virtual word getSubFromNBlock(word rblockIndex = 0);
......
File deleted
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>HierarchyData</key>
<array>
<string>EBDFD339-40B5-460E-ACF1-7E5001BF7052</string>
<string>4CB3723B-5A54-458F-84E7-420158EEB464</string>
<string>F53ACDD6-E6D6-43D1-93D1-ECA70A199A88</string>
<string>38B734AC-BFAA-4DD4-9804-4C12AA05576D</string>
</array>
<key>ProjectItems</key>
<dict>
<key>38B734AC-BFAA-4DD4-9804-4C12AA05576D</key>
<dict>
<key>ItemData</key>
<dict>
<key>BookmarkData</key>
<data>
Ym9va4QDAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAgAIAAAUAAAABAQAAVXNlcnMA
AAAKAAAAAQEAAGJ1bGdhcmVsbGkAAAgAAAABAQAAUHJv
amVjdHMJAAAAAQEAAFBhY2tldExpYgAAAAkAAAABAQAA
Q2hhbmdlTG9nAAAAFAAAAAEGAAAEAAAAFAAAACgAAAA4
AAAATAAAAAgAAAAEAwAATcAAAAAAAAAIAAAABAMAAF9q
BAAAAAAACAAAAAQDAADw7A4AAAAAAAgAAAAEAwAAqLB3
AQAAAAAIAAAABAMAAL6wdwEAAAAAFAAAAAEGAAB8AAAA
jAAAAJwAAACsAAAAvAAAABgAAAABAgAAAQAAAAAAAAAP
AAAAAAAAAAAAAAAAAAAAAAAAAAEFAAAEAAAAAwMAAAEA
AAAEAAAAAwMAAAMAAAAEAAAAAwMAAPUBAAAMAAAAAQEA
AE1hY2ludG9zaCBIRAgAAAAEAwAAAICBPXQAAAAIAAAA
AAQAAEG1EfGjAAAAJAAAAAEBAAAyOUI1MkMzQy00MEIy
LTNFRjQtQkE4NS1GNTU3OUQ3NDdCQzEYAAAAAQIAAIEA
AAABAAgA7z8AAAEACAAAAAAAAAAAAAEAAAABAQAALwAA
ALYAAAABAgAANGZhMGViMGQ2MWRlOTcxYTg3MWNiMTZk
MTNhYTQ1N2Q1NTdjNjFhNDswMDAwMDAwMDswMDAwMDAw
MDAwMDAwMDIwO2NvbS5hcHBsZS5hcHAtc2FuZGJveC5y
ZWFkLXdyaXRlOzAwMDAwMDAxOzBlMDAwMDAyOzAwMDAw
MDAwMDE3N2IwYmU7L3VzZXJzL2J1bGdhcmVsbGkvcHJv
amVjdHMvcGFja2V0bGliL2NoYW5nZWxvZwAAAMwAAAD+
////AQAAAAAAAAAQAAAABBAAAGAAAAAAAAAABRAAAMwA
AAAAAAAAEBAAAOgAAAAAAAAAVRAAABABAAAAAAAAVhAA
AAgBAAAAAAAAAiAAALQBAAAAAAAAECAAADQBAAAAAAAA
ESAAAGgBAAAAAAAAEiAAAEgBAAAAAAAAEyAAAFgBAAAA
AAAAICAAAJQBAAAAAAAAMCAAAAgBAAAAAAAAAcAAABwB
AAAAAAAAEcAAABQAAAAAAAAAEsAAACgBAAAAAAAAgPAA
AMABAAAAAAAA
</data>
<key>FileURL</key>
<string>file://localhost/Users/bulgarelli/Projects/PacketLib/ChangeLog</string>
<key>RelativePath</key>
<string>./ChangeLog</string>
<key>TypeID</key>
<string>_CFileLocator</string>
<key>Version</key>
<integer>1</integer>
</dict>
<key>ItemName</key>
<string>ChangeLog</string>
<key>ItemType</key>
<string>FileReference</string>
</dict>
<key>4CB3723B-5A54-458F-84E7-420158EEB464</key>
<dict>
<key>ItemData</key>
<dict>
<key>BookmarkData</key>
<data>
Ym9va3QDAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAcAIAAAUAAAABAQAAVXNlcnMA
AAAKAAAAAQEAAGJ1bGdhcmVsbGkAAAgAAAABAQAAUHJv
amVjdHMJAAAAAQEAAFBhY2tldExpYgAAAAMAAAABAQAA
c3JjABQAAAABBgAABAAAABQAAAAoAAAAOAAAAEwAAAAI
AAAABAMAAE3AAAAAAAAACAAAAAQDAABfagQAAAAAAAgA
AAAEAwAA8OwOAAAAAAAIAAAABAMAAKiwdwEAAAAACAAA
AAQDAACwsncBAAAAABQAAAABBgAAdAAAAIQAAACUAAAA
pAAAALQAAAAYAAAAAQIAAAIAAAAAAAAADwAAAAAAAAAA
AAAAAAAAAAAAAAABBQAABAAAAAMDAAABAAAABAAAAAMD
AAADAAAABAAAAAMDAAD1AQAADAAAAAEBAABNYWNpbnRv
c2ggSEQIAAAABAMAAACAgT10AAAACAAAAAAEAABBtRHx
owAAACQAAAABAQAAMjlCNTJDM0MtNDBCMi0zRUY0LUJB
ODUtRjU1NzlENzQ3QkMxGAAAAAECAACBAAAAAQAIAO8/
AAABAAgAAAAAAAAAAAABAAAAAQEAAC8AAACwAAAAAQIA
ADg4NmI0NWNkY2I4OTczOGQ1ZTRmMmI0ZWFiMTAwZmQw
YTVlZDQ0Mzg7MDAwMDAwMDA7MDAwMDAwMDAwMDAwMDAy
MDtjb20uYXBwbGUuYXBwLXNhbmRib3gucmVhZC13cml0
ZTswMDAwMDAwMTswZTAwMDAwMjswMDAwMDAwMDAxNzdi
MmIwOy91c2Vycy9idWxnYXJlbGxpL3Byb2plY3RzL3Bh
Y2tldGxpYi9zcmMAzAAAAP7///8BAAAAAAAAABAAAAAE
EAAAWAAAAAAAAAAFEAAAxAAAAAAAAAAQEAAA4AAAAAAA
AABVEAAACAEAAAAAAABWEAAAAAEAAAAAAAACIAAArAEA
AAAAAAAQIAAALAEAAAAAAAARIAAAYAEAAAAAAAASIAAA
QAEAAAAAAAATIAAAUAEAAAAAAAAgIAAAjAEAAAAAAAAw
IAAAAAEAAAAAAAABwAAAFAEAAAAAAAARwAAAFAAAAAAA
AAASwAAAIAEAAAAAAACA8AAAuAEAAAAAAAA=
</data>
<key>FileURL</key>
<string>file://localhost/Users/bulgarelli/Projects/PacketLib/src/</string>
<key>RelativePath</key>
<string>./src</string>
<key>TypeID</key>
<string>_CFileLocator</string>
<key>Version</key>
<integer>1</integer>
</dict>
<key>ItemName</key>
<string>src</string>
<key>ItemType</key>
<string>FolderReference</string>
</dict>
<key>EBDFD339-40B5-460E-ACF1-7E5001BF7052</key>
<dict>
<key>ItemData</key>
<dict>
<key>BookmarkData</key>
<data>
Ym9va3wDAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAeAIAAAUAAAABAQAAVXNlcnMA
AAAKAAAAAQEAAGJ1bGdhcmVsbGkAAAgAAAABAQAAUHJv
amVjdHMJAAAAAQEAAFBhY2tldExpYgAAAAcAAAABAQAA
aW5jbHVkZQAUAAAAAQYAAAQAAAAUAAAAKAAAADgAAABM
AAAACAAAAAQDAABNwAAAAAAAAAgAAAAEAwAAX2oEAAAA
AAAIAAAABAMAAPDsDgAAAAAACAAAAAQDAACosHcBAAAA
AAgAAAAEAwAAjbF3AQAAAAAUAAAAAQYAAHgAAACIAAAA
mAAAAKgAAAC4AAAAGAAAAAECAAACAAAAAAAAAA8AAAAA
AAAAAAAAAAAAAAAAAAAAAQUAAAQAAAADAwAAAQAAAAQA
AAADAwAAAwAAAAQAAAADAwAA9QEAAAwAAAABAQAATWFj
aW50b3NoIEhECAAAAAQDAAAAgIE9dAAAAAgAAAAABAAA
QbUR8aMAAAAkAAAAAQEAADI5QjUyQzNDLTQwQjItM0VG
NC1CQTg1LUY1NTc5RDc0N0JDMRgAAAABAgAAgQAAAAEA
CADvPwAAAQAIAAAAAAAAAAAAAQAAAAEBAAAvAAAAtAAA
AAECAAAzYTViN2EzNTA2YTRmNTkzNDdiZmRjZDZlNjU0
NDBkMTFkZGI0ZmFiOzAwMDAwMDAwOzAwMDAwMDAwMDAw
MDAwMjA7Y29tLmFwcGxlLmFwcC1zYW5kYm94LnJlYWQt
d3JpdGU7MDAwMDAwMDE7MGUwMDAwMDI7MDAwMDAwMDAw
MTc3YjE4ZDsvdXNlcnMvYnVsZ2FyZWxsaS9wcm9qZWN0
cy9wYWNrZXRsaWIvaW5jbHVkZQDMAAAA/v///wEAAAAA
AAAAEAAAAAQQAABcAAAAAAAAAAUQAADIAAAAAAAAABAQ
AADkAAAAAAAAAFUQAAAMAQAAAAAAAFYQAAAEAQAAAAAA
AAIgAACwAQAAAAAAABAgAAAwAQAAAAAAABEgAABkAQAA
AAAAABIgAABEAQAAAAAAABMgAABUAQAAAAAAACAgAACQ
AQAAAAAAADAgAAAEAQAAAAAAAAHAAAAYAQAAAAAAABHA
AAAUAAAAAAAAABLAAAAkAQAAAAAAAIDwAAC8AQAAAAAA
AA==
</data>
<key>FileURL</key>
<string>file://localhost/Users/bulgarelli/Projects/PacketLib/include/</string>
<key>RelativePath</key>
<string>./include</string>
<key>TypeID</key>
<string>_CFileLocator</string>
<key>Version</key>
<integer>1</integer>
</dict>
<key>ItemName</key>
<string>include</string>
<key>ItemType</key>
<string>FolderReference</string>
</dict>
<key>F53ACDD6-E6D6-43D1-93D1-ECA70A199A88</key>
<dict>
<key>ItemData</key>
<dict>
<key>BookmarkData</key>
<data>
Ym9va4ADAAAAAAQQMAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAfAIAAAUAAAABAQAAVXNlcnMA
AAAKAAAAAQEAAGJ1bGdhcmVsbGkAAAgAAAABAQAAUHJv
amVjdHMJAAAAAQEAAFBhY2tldExpYgAAAAgAAAABAQAA
TWFrZWZpbGUUAAAAAQYAAAQAAAAUAAAAKAAAADgAAABM
AAAACAAAAAQDAABNwAAAAAAAAAgAAAAEAwAAX2oEAAAA
AAAIAAAABAMAAPDsDgAAAAAACAAAAAQDAACosHcBAAAA
AAgAAAAEAwAAyrB3AQAAAAAUAAAAAQYAAHgAAACIAAAA
mAAAAKgAAAC4AAAAGAAAAAECAAABAAAAAAAAAA8AAAAA
AAAAAAAAAAAAAAAAAAAAAQUAAAQAAAADAwAAAQAAAAQA
AAADAwAAAwAAAAQAAAADAwAA9QEAAAwAAAABAQAATWFj
aW50b3NoIEhECAAAAAQDAAAAgIE9dAAAAAgAAAAABAAA
QbUR8aMAAAAkAAAAAQEAADI5QjUyQzNDLTQwQjItM0VG
NC1CQTg1LUY1NTc5RDc0N0JDMRgAAAABAgAAgQAAAAEA
CADvPwAAAQAIAAAAAAAAAAAAAQAAAAEBAAAvAAAAtQAA
AAECAABhZGNjMDNjNDZkYzA2ZmE0ZTgyYmIxYWFhZGQ1
MWZiNjcwZDhmYmE2OzAwMDAwMDAwOzAwMDAwMDAwMDAw
MDAwMjA7Y29tLmFwcGxlLmFwcC1zYW5kYm94LnJlYWQt
d3JpdGU7MDAwMDAwMDE7MGUwMDAwMDI7MDAwMDAwMDAw
MTc3YjBjYTsvdXNlcnMvYnVsZ2FyZWxsaS9wcm9qZWN0
cy9wYWNrZXRsaWIvbWFrZWZpbGUAAAAAzAAAAP7///8B
AAAAAAAAABAAAAAEEAAAXAAAAAAAAAAFEAAAyAAAAAAA
AAAQEAAA5AAAAAAAAABVEAAADAEAAAAAAABWEAAABAEA
AAAAAAACIAAAsAEAAAAAAAAQIAAAMAEAAAAAAAARIAAA
ZAEAAAAAAAASIAAARAEAAAAAAAATIAAAVAEAAAAAAAAg
IAAAkAEAAAAAAAAwIAAABAEAAAAAAAABwAAAGAEAAAAA
AAARwAAAFAAAAAAAAAASwAAAJAEAAAAAAACA8AAAvAEA
AAAAAAA=
</data>
<key>FileURL</key>
<string>file://localhost/Users/bulgarelli/Projects/PacketLib/Makefile</string>
<key>RelativePath</key>
<string>./Makefile</string>
<key>TypeID</key>
<string>_CFileLocator</string>
<key>Version</key>
<integer>1</integer>
</dict>
<key>ItemName</key>
<string>Makefile</string>
<key>ItemType</key>
<string>FileReference</string>
</dict>
</dict>
<key>com.barebones.DocumentFormatVersion</key>
<integer>5</integer>
<key>com.barebones.DocumentType</key>
<string>Project</string>
</dict>
</plist>
......@@ -7,10 +7,13 @@
using namespace PacketLib;
//##ModelId=3C0F6C1A0001
Field::Field(char* n, char* dim, char* prVal, int count) : progressiv(count)
{
#ifndef NOFIELDSNAME
//cout << "define field name" << endl;
//name
dword l = strlen(n);
l++;
......@@ -36,5 +39,7 @@ Field::Field(char* n, char* dim, char* prVal, int count) : progressiv(count)
Field::~Field()
{
// cout << "deleted field: " << name << endl;
#ifndef NOFIELDSNAME
free(name);
#endif
}
......@@ -220,13 +220,17 @@ SDFRBBlock* SDFRBBlock::getBlock(word nblock, word rBlockIndex) {
}
void SDFRBBlock::setNumberOfRealDataBlock(word number, word rblockIndex)
void SDFRBBlock::setNumberOfRealDataBlock(word number, word rblockIndex) throw (PacketException*)
{
//Nel caso in cui la parte variabile non sia presente oppure rBlockVariable = false,
//non �presente un field in cui salvare il valore. La dimensione �fissata
if(!variablePresent || !rBlockVariable[rblockIndex])
//non e' presente un field in cui salvare il valore. La dimensione e' fissata
if(!variablePresent || !rBlockVariable[rblockIndex]) {
throw new PacketException("It is not possible to set setNumberOfRealDataBlock for this rBlock: variable part not present");
return;
}
PartOfPacket* pop = &fixed;
if(number > maxNumberOfBlock[rblockIndex])
throw new PacketException("It is not possible to set setNumberOfRealDataBlock: too much blocks");
numberOfRealDataBlock[rblockIndex] = number;
for(int i=0; i< headerLevelOfNBlockIndex[rblockIndex]; i++)
pop = pop->previous;
......
......@@ -54,7 +54,7 @@ word SDFRBlock::getDimension() {
return block[0].getDimension();
}
void SDFRBlock::setNumberOfRealDataBlock(word number, word rblockIndex)
void SDFRBlock::setNumberOfRealDataBlock(word number, word rblockIndex) throw (PacketException*)
{
//il block[0] e' l'unico block presente
block[0].setNumberOfRealDataBlock(number, rblockIndex);
......
......@@ -80,7 +80,7 @@ word SourceDataField::getIndexOfNBlock(word rblockIndex)
//##ModelId=3C9AEC0A01AD
void SourceDataField::setNumberOfRealDataBlock(word number, word rblockIndex)
void SourceDataField::setNumberOfRealDataBlock(word number, word rblockIndex) throw (PacketException*)
{
numberOfRealDataBlock[rblockIndex] = number;
reset_output_stream = true;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment