|
From: <xm...@us...> - 2012-06-22 10:51:16
|
Revision: 1417
http://scstudio.svn.sourceforge.net/scstudio/?rev=1417&view=rev
Author: xmalota
Date: 2012-06-22 10:51:05 +0000 (Fri, 22 Jun 2012)
Log Message:
-----------
help updated and names of dialogs are unified
Modified Paths:
--------------
trunk/doc/help/beautify/beautify.body.htm
trunk/doc/help/beautify/pictures/dialog_additional.png
trunk/doc/help/beautify/pictures/dialog_general.png
trunk/src/view/visio/addon/settingsDlg.cpp
Added Paths:
-----------
trunk/doc/help/beautify/pictures/dialog_widths.png
Modified: trunk/doc/help/beautify/beautify.body.htm
===================================================================
--- trunk/doc/help/beautify/beautify.body.htm 2012-06-22 09:10:27 UTC (rev 1416)
+++ trunk/doc/help/beautify/beautify.body.htm 2012-06-22 10:51:05 UTC (rev 1417)
@@ -15,7 +15,7 @@
<code>Check->Options->Beautify</code>.
</p>
<p>
- By pressing <code>General</code> the dialog with options concerning customization of instances
+ By pressing <code>Message Position</code> the dialog with options concerning customization of instances
will be shown:
</p>
<ul class="gallery">
@@ -29,12 +29,12 @@
</li>
</ul>
<p>
- Via <code>General</code>, is possible to set distances between elements, length of instances,
- width of instance heads, foots and coregions, length of lost and found messages and slope
- of messages.
+ Via <code>Message Position</code>, it is possible to set distances between elements, length of instances,
+ length of lost and found messages and slope of messages. It also permits to select the message position
+ algorithm. Note that the heuristic method only works with instances and complete messages nowadays.
</p>
<p>
- By pressing <code>Additional</code> the dialog used for setting of permutation of instances,
+ By pressing <code>Instance Position</code> the dialog used for setting of permutation of instances,
spacing between instances and placement of leftmost instance will be shown:
</p>
<ul class="gallery">
@@ -48,7 +48,18 @@
</li>
</ul>
<p>
+ The last group of options is used for determining algorithm solving permutation of instances.
</p>
+ <p>
+ Finally, by pressing <code>Width of Shapes</code> the dialog with options concerning customization of
+ width of instance heads, foots, coregions, local actions and conditions will be shown:
+ </p>
+ <ul class="gallery">
+ <li>
+ <img src="pictures/dialog_widths.png" width="500" border="0"
+ alt="General Dialog" />
+ </li>
+ </ul>
<h3>
Example 1:
</h3>
@@ -157,7 +168,7 @@
</h3>
<p>
In the current implementation the following features are not supported and therefore may cause
- some inaccuracies: actions, conditions, ordering lines, ordering sides, ordering arrows. Few other
+ some inaccuracies: ordering lines, ordering sides, ordering arrows. Few other
features are not in the final version of implementation: time interval, directed interval and
absolute time and has to be sometimes redrawn by the user.
</p>
Modified: trunk/doc/help/beautify/pictures/dialog_additional.png
===================================================================
(Binary files differ)
Modified: trunk/doc/help/beautify/pictures/dialog_general.png
===================================================================
(Binary files differ)
Added: trunk/doc/help/beautify/pictures/dialog_widths.png
===================================================================
(Binary files differ)
Property changes on: trunk/doc/help/beautify/pictures/dialog_widths.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/src/view/visio/addon/settingsDlg.cpp
===================================================================
--- trunk/src/view/visio/addon/settingsDlg.cpp 2012-06-22 09:10:27 UTC (rev 1416)
+++ trunk/src/view/visio/addon/settingsDlg.cpp 2012-06-22 10:51:05 UTC (rev 1417)
@@ -45,9 +45,9 @@
addDialog(L"Protection", new CProtectionGlobalDlg(m_vsoApp), parentDrawings);
CTreeItem parentBeautify = createParentItem(L"Beautify");
- addDialog(L"Message position", new CBeautifySettingsGDlg(m_vsoApp), parentBeautify);
- addDialog(L"Instance position", new CBeautifySettingsADlg(m_vsoApp), parentBeautify);
- addDialog(L"Widths of shapes", new CBeautifySettingsWidthsDlg(m_vsoApp), parentBeautify);
+ addDialog(L"Message Position", new CBeautifySettingsGDlg(m_vsoApp), parentBeautify);
+ addDialog(L"Instance Position", new CBeautifySettingsADlg(m_vsoApp), parentBeautify);
+ addDialog(L"Widths of Shapes", new CBeautifySettingsWidthsDlg(m_vsoApp), parentBeautify);
//addDialog(L"Time objects", new CBeautifySettingsTimesDlg(m_vsoApp), parentBeautify);
//addDialog(L"Beautify profiles", new CBeautifyProfilesDlg(m_vsoApp), parentBeautify);
//addDialog(L"Advanced", new CBeautifySettingsPerfDlg(m_vsoApp), parentBeautify);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ob...@us...> - 2012-06-25 19:14:44
|
Revision: 1426
http://scstudio.svn.sourceforge.net/scstudio/?rev=1426&view=rev
Author: obouda
Date: 2012-06-25 19:14:35 +0000 (Mon, 25 Jun 2012)
Log Message:
-----------
Prepared for release 0.5.2
Modified Paths:
--------------
trunk/doc/scstudio-instructions.rtf
trunk/src/view/visio/addon/dllmodule.rc
trunk/src/view/visio/build-setup.bat
Modified: trunk/doc/scstudio-instructions.rtf
===================================================================
--- trunk/doc/scstudio-instructions.rtf 2012-06-25 19:00:16 UTC (rev 1425)
+++ trunk/doc/scstudio-instructions.rtf 2012-06-25 19:14:35 UTC (rev 1426)
@@ -1,18 +1,18 @@
{\rtf1\adeflang1025\ansi\ansicpg1250\uc1\adeff1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1029\deflangfe2052{\fonttbl{\f0\froman\fcharset204\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset204\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f2\fmodern\fcharset204\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}
-{\f36\fswiss\fcharset204\fprq2{\*\panose 020b0604030504040204}Tahoma;}{\f37\froman\fcharset204\fprq2{\*\panose 02040503050406030204}Cambria;}{\f213\froman\fcharset0\fprq2 Times New Roman;}{\f211\froman\fcharset238\fprq2 Times New Roman CE;}
-{\f214\froman\fcharset161\fprq2 Times New Roman Greek;}{\f215\froman\fcharset162\fprq2 Times New Roman Tur;}{\f216\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f217\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
-{\f218\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f219\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f223\fswiss\fcharset0\fprq2 Arial;}{\f221\fswiss\fcharset238\fprq2 Arial CE;}{\f224\fswiss\fcharset161\fprq2 Arial Greek;}
-{\f225\fswiss\fcharset162\fprq2 Arial Tur;}{\f226\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f227\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}{\f228\fswiss\fcharset186\fprq2 Arial Baltic;}{\f229\fswiss\fcharset163\fprq2 Arial (Vietnamese);}
-{\f233\fmodern\fcharset0\fprq1 Courier New;}{\f231\fmodern\fcharset238\fprq1 Courier New CE;}{\f234\fmodern\fcharset161\fprq1 Courier New Greek;}{\f235\fmodern\fcharset162\fprq1 Courier New Tur;}
-{\f236\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f237\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f238\fmodern\fcharset186\fprq1 Courier New Baltic;}{\f239\fmodern\fcharset163\fprq1 Courier New (Vietnamese);}
-{\f573\fswiss\fcharset0\fprq2 Tahoma;}{\f571\fswiss\fcharset238\fprq2 Tahoma CE;}{\f574\fswiss\fcharset161\fprq2 Tahoma Greek;}{\f575\fswiss\fcharset162\fprq2 Tahoma Tur;}{\f576\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew);}
-{\f577\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f578\fswiss\fcharset186\fprq2 Tahoma Baltic;}{\f579\fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}{\f580\fswiss\fcharset222\fprq2 Tahoma (Thai);}{\f583\froman\fcharset0\fprq2 Cambria;}
-{\f581\froman\fcharset238\fprq2 Cambria CE;}{\f584\froman\fcharset161\fprq2 Cambria Greek;}{\f585\froman\fcharset162\fprq2 Cambria Tur;}{\f588\froman\fcharset186\fprq2 Cambria Baltic;}{\f589\froman\fcharset163\fprq2 Cambria (Vietnamese);}}
-{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
-\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs20\alang1025
-\ltrch\fcs0 \f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 \snext0 \styrsid6893578 Normal;}{\s1\ql \li2268\ri0\sb120\sa240\sl280\slmult0\keepn\pagebb\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin2268\itap0
-\rtlch\fcs1 \ab\af1\afs28\alang1025 \ltrch\fcs0 \b\f1\fs28\lang1033\langfe1029\kerning32\cgrid\langnp1033\langfenp1029 \sbasedon17 \snext17 \slink15 \styrsid12978455 heading 1;}{\s2\ql \li2268\ri0\sb360\sa60\sl280\slmult0
+{\f36\fswiss\fcharset204\fprq2{\*\panose 020b0604030504040204}Tahoma;}{\f37\froman\fcharset204\fprq2{\*\panose 02040503050406030204}Cambria;}{\f52\froman\fcharset0\fprq2 Times New Roman;}{\f50\froman\fcharset238\fprq2 Times New Roman CE;}
+{\f53\froman\fcharset161\fprq2 Times New Roman Greek;}{\f54\froman\fcharset162\fprq2 Times New Roman Tur;}{\f55\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f56\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
+{\f57\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f58\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f62\fswiss\fcharset0\fprq2 Arial;}{\f60\fswiss\fcharset238\fprq2 Arial CE;}{\f63\fswiss\fcharset161\fprq2 Arial Greek;}
+{\f64\fswiss\fcharset162\fprq2 Arial Tur;}{\f65\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f66\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}{\f67\fswiss\fcharset186\fprq2 Arial Baltic;}{\f68\fswiss\fcharset163\fprq2 Arial (Vietnamese);}
+{\f72\fmodern\fcharset0\fprq1 Courier New;}{\f70\fmodern\fcharset238\fprq1 Courier New CE;}{\f73\fmodern\fcharset161\fprq1 Courier New Greek;}{\f74\fmodern\fcharset162\fprq1 Courier New Tur;}{\f75\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}
+{\f76\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f77\fmodern\fcharset186\fprq1 Courier New Baltic;}{\f78\fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f412\fswiss\fcharset0\fprq2 Tahoma;}{\f410\fswiss\fcharset238\fprq2 Tahoma CE;}
+{\f413\fswiss\fcharset161\fprq2 Tahoma Greek;}{\f414\fswiss\fcharset162\fprq2 Tahoma Tur;}{\f415\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew);}{\f416\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f417\fswiss\fcharset186\fprq2 Tahoma Baltic;}
+{\f418\fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}{\f419\fswiss\fcharset222\fprq2 Tahoma (Thai);}{\f422\froman\fcharset0\fprq2 Cambria;}{\f420\froman\fcharset238\fprq2 Cambria CE;}{\f423\froman\fcharset161\fprq2 Cambria Greek;}
+{\f424\froman\fcharset162\fprq2 Cambria Tur;}{\f427\froman\fcharset186\fprq2 Cambria Baltic;}{\f428\froman\fcharset163\fprq2 Cambria (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;
+\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;
+\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 \f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 \snext0 \styrsid6893578
+Normal;}{\s1\ql \li2268\ri0\sb120\sa240\sl280\slmult0\keepn\pagebb\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin2268\itap0 \rtlch\fcs1 \ab\af1\afs28\alang1025 \ltrch\fcs0
+\b\f1\fs28\lang1033\langfe1029\kerning32\cgrid\langnp1033\langfenp1029 \sbasedon17 \snext17 \slink15 \styrsid12978455 heading 1;}{\s2\ql \li2268\ri0\sb360\sa60\sl280\slmult0
\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin2268\itap0 \rtlch\fcs1 \ab\af1\afs24\alang1025 \ltrch\fcs0 \b\f1\fs24\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 \sbasedon17 \snext17 \slink16 \styrsid10886401
heading 2;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\*
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
@@ -152,19 +152,19 @@
\listoverridecount0\ls5}{\listoverride\listid380901966\listoverridecount0\ls6}{\listoverride\listid1349017134\listoverridecount0\ls7}{\listoverride\listid407309104\listoverridecount0\ls8}{\listoverride\listid1904482310\listoverridecount0\ls9}
{\listoverride\listid1328678781\listoverridecount0\ls10}{\listoverride\listid1972054121\listoverridecount0\ls11}{\listoverride\listid981424174\listoverridecount0\ls12}{\listoverride\listid88896242\listoverridecount0\ls13}}{\*\pgptbl {\pgp\ipgp0\itap0\li0
\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid1153\rsid6329\rsid78755\rsid138456\rsid207537\rsid208100\rsid417463\rsid532805\rsid544631\rsid928042\rsid1060359\rsid1115237\rsid1145060\rsid1184427\rsid1189032\rsid1198657\rsid1200420
-\rsid1247296\rsid1386866\rsid1451320\rsid1526286\rsid1527281\rsid1534536\rsid1534669\rsid1653280\rsid1658535\rsid1668394\rsid1789316\rsid1793135\rsid1837012\rsid1839383\rsid1852931\rsid1982595\rsid2054570\rsid2359869\rsid2432204\rsid2561267\rsid2628187
-\rsid2715337\rsid2719440\rsid2843034\rsid2847067\rsid2850772\rsid2959513\rsid3103346\rsid3108205\rsid3177514\rsid3233981\rsid3303158\rsid3428059\rsid3736257\rsid3804408\rsid3810493\rsid3933740\rsid3949746\rsid3953972\rsid4094820\rsid4131279\rsid4326945
-\rsid4472726\rsid4481497\rsid4748508\rsid4814744\rsid4940536\rsid5399799\rsid5401344\rsid5576153\rsid5637750\rsid5666866\rsid5857558\rsid6256377\rsid6299183\rsid6301483\rsid6436109\rsid6514959\rsid6561873\rsid6634305\rsid6753214\rsid6777262\rsid6893578
-\rsid6962018\rsid7044809\rsid7086414\rsid7087670\rsid7233454\rsid7420305\rsid7484693\rsid7547637\rsid7568372\rsid7607628\rsid7619295\rsid7749931\rsid7764085\rsid7881996\rsid7932293\rsid7948186\rsid8021506\rsid8091258\rsid8132093\rsid8261731\rsid8269589
-\rsid8406248\rsid8486799\rsid8530379\rsid8666915\rsid8729496\rsid8734266\rsid8866891\rsid8914882\rsid8994097\rsid9010942\rsid9186898\rsid9310574\rsid9379152\rsid9403438\rsid9520058\rsid9522630\rsid9526003\rsid9583014\rsid9661686\rsid9700070\rsid9723817
-\rsid9767255\rsid10042125\rsid10098737\rsid10107112\rsid10178064\rsid10224828\rsid10238307\rsid10244522\rsid10297237\rsid10303369\rsid10307595\rsid10308084\rsid10315301\rsid10448614\rsid10750065\rsid10750423\rsid10754876\rsid10762876\rsid10776927
-\rsid10813733\rsid10822502\rsid10886401\rsid10961598\rsid10975923\rsid11156372\rsid11172552\rsid11235996\rsid11287005\rsid11477381\rsid11565583\rsid11680598\rsid11868043\rsid11892435\rsid11999752\rsid12062193\rsid12130369\rsid12218861\rsid12264738
-\rsid12279077\rsid12468081\rsid12473112\rsid12600295\rsid12609323\rsid12722781\rsid12739663\rsid12809264\rsid12862699\rsid12931206\rsid12933266\rsid12978455\rsid12983740\rsid12988393\rsid13054807\rsid13065259\rsid13132849\rsid13444795\rsid13531745
-\rsid13574099\rsid13632752\rsid13633324\rsid13779014\rsid13788729\rsid13913761\rsid14095596\rsid14183277\rsid14187722\rsid14223932\rsid14290469\rsid14297020\rsid14317108\rsid14358812\rsid14371250\rsid14487269\rsid14504946\rsid14568714\rsid14580253
-\rsid14637882\rsid14681692\rsid14708439\rsid14842001\rsid14885393\rsid15085573\rsid15104946\rsid15141024\rsid15170639\rsid15210557\rsid15343946\rsid15472224\rsid15474480\rsid15483544\rsid15489831\rsid15729457\rsid16012817\rsid16060728\rsid16140264
-\rsid16143072\rsid16144532\rsid16198976\rsid16340342\rsid16462823\rsid16649700}{\*\generator Microsoft Word 11.0.0000;}{\info{\title Sequence Chart Studio}{\author Petr Gotthard}{\operator anode}{\creatim\yr2008\mo12\dy30\hr22\min21}
-{\revtim\yr2012\mo4\dy11\min37}{\printim\yr2012\mo1\dy7\hr4\min20}{\version84}{\edmins13523}{\nofpages17}{\nofwords3049}{\nofchars17990}{\*\company Brno}{\nofcharsws20998}{\vern24615}{\*\password 00000000}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.co
-m/office/word/2003/wordml}}\paperw11906\paperh16838\margl1701\margr1418\margt1701\margb1418\gutter0\ltrsect
+\rsid1247296\rsid1386866\rsid1451320\rsid1526286\rsid1527281\rsid1534536\rsid1534669\rsid1653280\rsid1658535\rsid1668394\rsid1789316\rsid1793135\rsid1837012\rsid1839383\rsid1852931\rsid1982595\rsid2054570\rsid2359869\rsid2432204\rsid2506586\rsid2561267
+\rsid2628187\rsid2715337\rsid2719440\rsid2843034\rsid2847067\rsid2850772\rsid2959513\rsid3103346\rsid3108205\rsid3177514\rsid3233981\rsid3303158\rsid3428059\rsid3736257\rsid3804408\rsid3810493\rsid3820566\rsid3933740\rsid3949746\rsid3953972\rsid4094820
+\rsid4130532\rsid4131279\rsid4326945\rsid4472726\rsid4481497\rsid4748508\rsid4814744\rsid4940536\rsid5399799\rsid5401344\rsid5576153\rsid5637750\rsid5666866\rsid5857558\rsid6256377\rsid6299183\rsid6301483\rsid6436109\rsid6514959\rsid6561873\rsid6634305
+\rsid6753214\rsid6777262\rsid6893578\rsid6962018\rsid7044809\rsid7086414\rsid7087670\rsid7233454\rsid7420305\rsid7484693\rsid7547637\rsid7568372\rsid7607628\rsid7619295\rsid7749931\rsid7764085\rsid7881996\rsid7932293\rsid7948186\rsid8021506\rsid8091258
+\rsid8132093\rsid8261731\rsid8269589\rsid8406248\rsid8486799\rsid8530379\rsid8666915\rsid8729496\rsid8734266\rsid8866891\rsid8914882\rsid8994097\rsid9010942\rsid9186898\rsid9310574\rsid9379152\rsid9403438\rsid9520058\rsid9522630\rsid9526003\rsid9583014
+\rsid9661686\rsid9700070\rsid9723817\rsid9767255\rsid10042125\rsid10098737\rsid10107112\rsid10178064\rsid10224828\rsid10238307\rsid10244522\rsid10297237\rsid10303369\rsid10307595\rsid10308084\rsid10315301\rsid10448614\rsid10750065\rsid10750423
+\rsid10754876\rsid10762876\rsid10776927\rsid10813733\rsid10822502\rsid10886401\rsid10961598\rsid10975923\rsid11156372\rsid11172552\rsid11235996\rsid11287005\rsid11477381\rsid11565583\rsid11680598\rsid11868043\rsid11892435\rsid11999752\rsid12062193
+\rsid12130369\rsid12218861\rsid12264738\rsid12279077\rsid12468081\rsid12473112\rsid12600295\rsid12609323\rsid12722781\rsid12739663\rsid12809264\rsid12862699\rsid12931206\rsid12933266\rsid12978455\rsid12983740\rsid12988393\rsid13054807\rsid13065259
+\rsid13132849\rsid13444795\rsid13531745\rsid13574099\rsid13632752\rsid13633324\rsid13779014\rsid13788729\rsid13913761\rsid14095596\rsid14183277\rsid14187722\rsid14223932\rsid14290469\rsid14297020\rsid14317108\rsid14358812\rsid14371250\rsid14487269
+\rsid14504946\rsid14508912\rsid14568714\rsid14580253\rsid14637882\rsid14681692\rsid14708439\rsid14842001\rsid14885393\rsid15085573\rsid15104946\rsid15141024\rsid15170639\rsid15210557\rsid15343946\rsid15472224\rsid15474480\rsid15483544\rsid15489831
+\rsid15729457\rsid16012817\rsid16060728\rsid16140264\rsid16143072\rsid16144532\rsid16198976\rsid16340342\rsid16462823\rsid16649700}{\*\generator Microsoft Word 11.0.0000;}{\info{\title Sequence Chart Studio}{\author Petr Gotthard}{\operator anode}
+{\creatim\yr2008\mo12\dy30\hr22\min21}{\revtim\yr2012\mo6\dy25\hr20\min13}{\printim\yr2012\mo1\dy7\hr4\min20}{\version86}{\edmins13523}{\nofpages17}{\nofwords3049}{\nofchars17990}{\*\company Brno}{\nofcharsws20998}{\vern24615}{\*\password 00000000}}
+{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw11906\paperh16838\margl1701\margr1418\margt1701\margb1418\gutter0\ltrsect
\deftab709\widowctrl\ftnbj\aenddoc\hyphhotz425\donotembedsysfont0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\noxlattoyen\expshrtn
\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1701\dgvorigin1701\dghshow1\dgvshow1
\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
@@ -178,7 +178,7 @@
\ltrch\fcs0 \insrsid1527281 \chftnsepc
\par }}\ltrpar \sectd \ltrsect\linex0\headery709\footery709\colsx708\endnhere\titlepg\sectlinegrid360\sectdefaultcl\sectrsid1145060\sftnbj {\footerr \ltrpar \pard\plain \ltrpar\s22\ql \li0\ri0\widctlpar\brdrt\brdrs\brdrw10\brsp20
\tqc\tx4536\tqr\tx9072\pvpara\phmrg\posxr\posy0\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\rtlgutter\itap0\pararsid9379152 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 \f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029
-{\field{\*\fldinst {\rtlch\fcs1 \af1 \ltrch\fcs0 \cs24\insrsid1527281 PAGE }}{\fldrslt {\rtlch\fcs1 \af1 \ltrch\fcs0 \cs24\lang1024\langfe1024\noproof\insrsid10308084 17}}}\sectd \ltrsect
+{\field{\*\fldinst {\rtlch\fcs1 \af1 \ltrch\fcs0 \cs24\insrsid1527281 PAGE }}{\fldrslt {\rtlch\fcs1 \af1 \ltrch\fcs0 \cs24\lang1024\langfe1024\noproof\insrsid14508912 3}}}\sectd \ltrsect
\linex0\headery708\footery708\colsx708\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af1 \ltrch\fcs0 \cs24\insrsid1527281
\par }\pard \ltrpar\s22\ql \li0\ri0\widctlpar\brdrt\brdrs\brdrw10\brsp20 \tqc\tx4536\tqr\tx9072\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\rtlgutter\itap0\pararsid12473112 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid1527281\charrsid12473112
\par }}{\*\pnseclvl1\pnucrm\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnqc\pnstart1\pnindent720\pnhang
@@ -192,7 +192,7 @@
\par }{\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\fs40\insrsid10107112\charrsid10107112 Sequence Chart Studio}{\rtlch\fcs1 \ab\af1\afs40 \ltrch\fcs0 \b\fs40\insrsid10107112
\par }{\rtlch\fcs1 \af1\afs40 \ltrch\fcs0 \fs40\insrsid10107112\charrsid10107112 User }{\rtlch\fcs1 \af1\afs40 \ltrch\fcs0 \fs40\insrsid10107112 Instructions
\par }{\rtlch\fcs1 \af1\afs40 \ltrch\fcs0 \fs40\insrsid11868043
-\par Version 0.}{\rtlch\fcs1 \af1\afs40 \ltrch\fcs0 \fs40\insrsid10307595 5}{\rtlch\fcs1 \af1\afs40 \ltrch\fcs0 \fs40\insrsid11868043 .0}{\rtlch\fcs1 \af1\afs40 \ltrch\fcs0 \fs40\insrsid11868043\charrsid10107112
+\par Version 0.}{\rtlch\fcs1 \af1\afs40 \ltrch\fcs0 \fs40\insrsid10307595 5}{\rtlch\fcs1 \af1\afs40 \ltrch\fcs0 \fs40\insrsid4130532 .2}{\rtlch\fcs1 \af1\afs40 \ltrch\fcs0 \fs40\insrsid11868043\charrsid10107112
\par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid1982595 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 \f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 {\rtlch\fcs1 \af1
\ltrch\fcs0 \insrsid3933740
\par
@@ -229,10 +229,10 @@
\par }\pard\plain \ltrpar\s17\ql \li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid8866891 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0
\f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid1982595 Copyright (c) }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid3933740 20}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid13574099 1}{\rtlch\fcs1 \af1 \ltrch\fcs0
\insrsid8269589 1}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid3933740 \endash }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid1982595 20}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid13574099 1}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid8866891 2}{\rtlch\fcs1 \af1 \ltrch\fcs0
-\insrsid1982595 }{\rtlch\fcs1 \af221 \ltrch\fcs0 \f221\insrsid13574099 Ond\'f8ej Bouda}{\rtlch\fcs1 \af1 \ltrch\fcs0 \lang1029\langfe1029\langnp1029\insrsid1982595\charrsid13574099
+\insrsid1982595 }{\rtlch\fcs1 \af60 \ltrch\fcs0 \f60\insrsid13574099 Ond\'f8ej Bouda}{\rtlch\fcs1 \af1 \ltrch\fcs0 \lang1029\langfe1029\langnp1029\insrsid1982595\charrsid13574099
\par }\pard \ltrpar\s17\ql \li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid3933740 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid3933740 All rights reserved. }{\rtlch\fcs1 \af1 \ltrch\fcs0
-\insrsid1982595 Permission is granted to copy, distribute and/or modify this document u
-nder the terms of the GNU Free Documentation License version 1.3, as published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+\insrsid1982595 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
+License version 1.3, as published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
\par }\pard\plain \ltrpar\s1\ql \li2268\ri0\sb120\sa240\sl280\slmult0\keepn\pagebb\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin2268\itap0\pararsid10107112 \rtlch\fcs1 \ab\af1\afs28\alang1025 \ltrch\fcs0
\b\f1\fs28\lang1033\langfe1029\kerning32\cgrid\langnp1033\langfenp1029 {\rtlch\fcs1 \af1\afs36 \ltrch\fcs0 \fs36\insrsid1534669\charrsid3953972 Introduction
\par }\pard\plain \ltrpar\s17\ql \li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid2054570 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0
@@ -246,9 +246,9 @@
\par }\pard \ltrpar\s17\ql \li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid16340342 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid16340342\charrsid13444795
\par }\pard\plain \ltrpar\s18\ql \fi-2268\li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid16340342 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0
\f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid16340342 Download\tab The latest version of SCStudio can be freely downloaded from }{\field\flddirty{\*\fldinst {\rtlch\fcs1 \af1 \ltrch\fcs0
-\insrsid16340342 HYPERLINK "http://scstudio.sourceforge.net" }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid16340342 {\*\datafield
+\insrsid16340342 HYPERLINK "http://scstudio.sourceforge.net" }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid2506586 {\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b02000000170000002000000068007400740070003a002f002f0073006300730074007500640069006f002e0073006f00750072006300650066006f007200670065002e006e00650074000000e0c9ea79f9bace118c8200aa004ba90b4200000068007400740070003a002f002f00
-73006300730074007500640069006f002e0073006f00750072006300650066006f007200670065002e006e00650074002f000000000000000000000000000000000096060000000000e189390406}}}{\fldrslt {\rtlch\fcs1 \af1 \ltrch\fcs0 \cs20\ul\cf2\insrsid16340342\charrsid7484693
+73006300730074007500640069006f002e0073006f00750072006300650066006f007200670065002e006e00650074002f000000000000000000000000000000000096060000000000e1893904060000}}}{\fldrslt {\rtlch\fcs1 \af1 \ltrch\fcs0 \cs20\ul\cf2\insrsid16340342\charrsid7484693
http://scstudio.sourceforge.net}}}\sectd \ltrsect\linex0\headery709\footery709\colsx708\endnhere\titlepg\sectlinegrid360\sectdefaultcl\sectrsid1145060\sftnbj {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid16340342
\par }\pard\plain \ltrpar\s17\ql \li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid13531745 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0
\f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid13531745
@@ -256,15 +256,15 @@
\f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid13531745 User Support\tab If you need help:
\par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \fs20\lang1033\langfe1029\langnp1033\langfenp1029\insrsid13531745 \loch\af0\dbch\af0\hich\f0 \'96\tab}}\pard\plain \ltrpar\s17\ql \fi-311\li3033\ri0\sb120\sa120\sl280\slmult0\widctlpar
\jclisttab\tx3033\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin3033\itap0\pararsid13531745 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 \f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 {\rtlch\fcs1 \af1 \ltrch\fcs0
-\insrsid13531745 Join }{\field\flddirty{\*\fldinst {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid13531745 HYPERLINK "http://lists.sourceforge.net/mailman/listinfo/scstudio-devel" }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid13531745 {\*\datafield
+\insrsid13531745 Join }{\field\flddirty{\*\fldinst {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid13531745 HYPERLINK "http://lists.sourceforge.net/mailman/listinfo/scstudio-devel" }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid2506586 {\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b02000000170000003d00000068007400740070003a002f002f006c0069007300740073002e0073006f00750072006300650066006f007200670065002e006e00650074002f006d00610069006c006d0061006e002f006c0069007300740069006e0066006f002f00730063007300
74007500640069006f002d0064006500760065006c000000e0c9ea79f9bace118c8200aa004ba90b7a00000068007400740070003a002f002f006c0069007300740073002e0073006f00750072006300650066006f007200670065002e006e00650074002f006d00610069006c006d0061006e002f006c0069007300740069
-006e0066006f002f0073006300730074007500640069006f002d0064006500760065006c0000000100007001000013000000000000002888000000026200288804}}}{\fldrslt {\rtlch\fcs1 \af1 \ltrch\fcs0 \cs20\ul\cf2\insrsid13531745\charrsid7484693
+006e0066006f002f0073006300730074007500640069006f002d0064006500760065006c0000000100007001000013000000000000002888000000026200288804008d}}}{\fldrslt {\rtlch\fcs1 \af1 \ltrch\fcs0 \cs20\ul\cf2\insrsid13531745\charrsid7484693
http://lists.sourceforge.net/mailman/listinfo/scstudio-devel}}}\sectd \ltrsect\linex0\headery709\footery709\colsx708\endnhere\titlepg\sectlinegrid360\sectdefaultcl\sectrsid1145060\sftnbj {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid13531745 ;
\par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \fs20\lang1033\langfe1029\langnp1033\langfenp1029\insrsid13531745 \loch\af0\dbch\af0\hich\f0 \'96\tab}Send an e-mail to }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af1 \ltrch\fcs0
-\insrsid13531745 HYPERLINK "mailto:scs...@li..."}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid13531745 {\*\datafield
+\insrsid13531745 HYPERLINK "mailto:scs...@li..."}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid2506586 {\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b580000006d00610069006c0074006f003a0073006300730074007500640069006f002d0064006500760065006c0040006c0069007300740073002e0073006f00750072006300650066006f007200670065002e006e00
-65007400000000000000000000000000000000000058c4000000f899fde8eb03}}}{\fldrslt {\rtlch\fcs1 \af1 \ltrch\fcs0 \cs20\ul\cf2\insrsid13531745 scs...@li...}}}\sectd \ltrsect
+65007400000000000000000000000000000000000058c4000000f899fde8eb030086}}}{\fldrslt {\rtlch\fcs1 \af1 \ltrch\fcs0 \cs20\ul\cf2\insrsid13531745 scs...@li...}}}\sectd \ltrsect
\linex0\headery709\footery709\colsx708\endnhere\titlepg\sectlinegrid360\sectdefaultcl\sectrsid1145060\sftnbj {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid13531745 .
\par }\pard \ltrpar\s17\ql \li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid13531745 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid13531745
Please note, to avoid SPAM (egg sausage and bacon), the list doesn't accept mails from non-members; you have to join the list.
@@ -278,10 +278,10 @@
\par }\pard\plain \ltrpar\s18\ql \fi-2268\li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid3953972 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0
\f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9186898 Requirements\tab The graphical frontend of the SCStudio runs on Microsoft Windows only, and requires }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid3953972
an already installed copy of }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9186898 Microsoft Visio 2003 or higher.
-\par }\pard \ltrpar\s18\ql \fi-2268\li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid9186898 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9186898 Installation\tab D}{\rtlch\fcs1 \af1 \ltrch\fcs0
-\insrsid9186898\charrsid4814744 ownload and run 'scstudio-setup}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9186898 -0.5.0}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9186898\charrsid4814744 .exe'. }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9186898 The}{\rtlch\fcs1 \af1
-\ltrch\fcs0 \insrsid9186898\charrsid4814744 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9186898 setup }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9186898\charrsid4814744 application will guide you t}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9186898
-hrough the installation process.
+\par }\pard \ltrpar\s18\ql \fi-2268\li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid14508912 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9186898 Installation\tab D}{\rtlch\fcs1 \af1
+\ltrch\fcs0 \insrsid9186898\charrsid4814744 ownload and run 'scstudio-setup}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9186898 -0.5.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid14508912 2}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9186898\charrsid4814744 .exe'. }{
+\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9186898 The}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9186898\charrsid4814744 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9186898 setup }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9186898\charrsid4814744
+application will guide you t}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9186898 hrough the installation process.
\par }\pard \ltrpar\s18\ql \fi-2268\li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid2843034 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11565583 Macro Security\tab }{\rtlch\fcs1 \af1
\ltrch\fcs0 \insrsid9700070 The installation application will ask you to import a new certificate. This is }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11235996 necessary to certify the}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9700070 }{\rtlch\fcs1 \af1
\ltrch\fcs0 \insrsid11235996 installed macros}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9700070 .
@@ -311,7 +311,7 @@
\par }\pard\plain \ltrpar\s18\ql \fi-2268\li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid138456 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0
\f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid138456 Selecting Template\tab After starting the Microsoft Visio, select the category \'93Sequence Chart Studio\'94 and choose the MSC drawing template.
-\par }\pard \ltrpar\s18\ql \li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\r...
[truncated message content] |
|
From: <xr...@us...> - 2012-06-25 21:58:14
|
Revision: 1428
http://scstudio.svn.sourceforge.net/scstudio/?rev=1428&view=rev
Author: xrehak
Date: 2012-06-25 21:58:07 +0000 (Mon, 25 Jun 2012)
Log Message:
-----------
redistribute in nsi and new make_build.bat
Modified Paths:
--------------
trunk/src/view/visio/scstudio.nsi
Added Paths:
-----------
trunk/make_build.bat
Removed Paths:
-------------
trunk/third-party-sw/redistribute/lpsolve55.dll
Added: trunk/make_build.bat
===================================================================
--- trunk/make_build.bat (rev 0)
+++ trunk/make_build.bat 2012-06-25 21:58:07 UTC (rev 1428)
@@ -0,0 +1,68 @@
+rem $Id$
+
+@echo off
+set VERSION=actual-local
+
+REM set the following to build or to rebuild
+set ACTION=rebuild
+rem set ACTION=build
+
+REM set the following to Release or to Debug
+set TARGET=Release
+rem set TARGET=Debug
+
+echo %ACTION% in %TARGET% mode into scstudio-setup-%VERSION%.exe
+echo.
+
+pushd %~dp0
+
+REM Even explicitelly specified address is without qoutes here.
+set PROJECT_TRUNK_DIR=%CD%
+REM Contrary to the previous one, others are in qoutes!
+set DEVENV_COMMAND="C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.com"
+set CMAKE_EXE="C:\Program Files (x86)\CMake 2.8\bin\cmake.exe"
+set CMAKE_EXE_GUI="C:\Program Files (x86)\CMake 2.8\bin\cmake-gui.exe"
+set NSIS_EXE="C:\Program Files (x86)\NSIS\makensis.exe"
+set SIGN_TOOL_EXE="C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\signtool.exe"
+
+echo Cmake...
+IF "%ACTION%"=="rebuild" (
+ del /f /q "%PROJECT_TRUNK_DIR%\CMakeCache.txt"
+ %CMAKE_EXE_GUI% "%PROJECT_TRUNK_DIR%"
+) ELSE (
+ %CMAKE_EXE% "%PROJECT_TRUNK_DIR%"
+)
+
+
+echo.
+echo Compiling algorithms ...
+%DEVENV_COMMAND% "%PROJECT_TRUNK_DIR%\scstudio.sln" /%ACTION% %TARGET% | findstr /v "CMake"| findstr "up-to-date error succeeded"
+IF %errorlevel% NEQ 0 EXIT
+
+echo.
+echo Compiling visio addon ...
+%DEVENV_COMMAND% "%PROJECT_TRUNK_DIR%\src\view\visio\scstudio.sln" /%ACTION% %TARGET% | findstr /v "CMake"| findstr "up-to-date error succeeded"
+IF %errorlevel% NEQ 0 EXIT
+
+echo.
+echo Compiling visio setup-nsis ...
+%DEVENV_COMMAND% "%PROJECT_TRUNK_DIR%\src\view\visio\scstudio.sln" /project setup-nsis /%ACTION% %TARGET% | findstr /v "CMake"| findstr "up-to-date error succeeded"
+IF %errorlevel% NEQ 0 EXIT
+
+echo.
+echo Compiling installation package ...
+%NSIS_EXE% /V1 /DVERSION=%VERSION% /DBUILD_TYPE=%TARGET% "%PROJECT_TRUNK_DIR%\src\view\visio\scstudio.nsi"
+IF %errorlevel% NEQ 0 EXIT
+%SIGN_TOOL_EXE% sign /a "%PROJECT_TRUNK_DIR%\src\view\visio\scstudio-setup-%VERSION%.exe"
+IF %errorlevel% NEQ 0 EXIT
+
+move "%PROJECT_TRUNK_DIR%\src\view\visio\scstudio-setup-%VERSION%.exe" "%PROJECT_TRUNK_DIR%"
+echo "========== Done =========="
+echo.
+
+choice /N /M "Would you like to install it? y/[n] "
+If %Errorlevel% EQU 1 (
+ "%PROJECT_TRUNK_DIR%\scstudio-setup-%VERSION%.exe"
+)
+
+
Property changes on: trunk/make_build.bat
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision URL Header
Added: svn:eol-style
+ native
Modified: trunk/src/view/visio/scstudio.nsi
===================================================================
--- trunk/src/view/visio/scstudio.nsi 2012-06-25 21:37:05 UTC (rev 1427)
+++ trunk/src/view/visio/scstudio.nsi 2012-06-25 21:58:07 UTC (rev 1428)
@@ -158,14 +158,15 @@
SetOutPath $INSTDIR\bin
DetailPrint "Installing Microsoft libraries"
- File "redistribute\Microsoft.VC90.ATL.manifest"
- File "redistribute\atl90.dll"
- File "redistribute\Microsoft.VC90.CRT.manifest"
- File "redistribute\msvcm90.dll"
- File "redistribute\msvcp90.dll"
- File "redistribute\msvcr90.dll"
- File "redistribute\lpsolve55.dll"
- File "redistribute\capicom.dll"
+ File "..\..\..\third-party-sw\redistribute\Microsoft.VC90.ATL.manifest"
+ File "..\..\..\third-party-sw\redistribute\Microsoft.VC90.ATL.manifest"
+ File "..\..\..\third-party-sw\redistribute\atl90.dll"
+ File "..\..\..\third-party-sw\redistribute\Microsoft.VC90.CRT.manifest"
+ File "..\..\..\third-party-sw\redistribute\msvcm90.dll"
+ File "..\..\..\third-party-sw\redistribute\msvcp90.dll"
+ File "..\..\..\third-party-sw\redistribute\msvcr90.dll"
+ File "..\..\..\third-party-sw\lpsolve\lib\lpsolve55.dll"
+ File "..\..\..\third-party-sw\redistribute\capicom.dll"
ExecWait 'regsvr32.exe /s "$INSTDIR\capicom.dll"'
SetOutPath $TEMP
Deleted: trunk/third-party-sw/redistribute/lpsolve55.dll
===================================================================
(Binary files differ)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ob...@us...> - 2012-06-26 10:40:30
|
Revision: 1431
http://scstudio.svn.sourceforge.net/scstudio/?rev=1431&view=rev
Author: obouda
Date: 2012-06-26 10:40:19 +0000 (Tue, 26 Jun 2012)
Log Message:
-----------
Added a gen_cert.bat script for generating a certificate for signing the add-on. Updated instructions
Modified Paths:
--------------
trunk/README
trunk/doc/scstudio-instructions.rtf
Added Paths:
-----------
trunk/src/view/visio/gen_cert.bat
Modified: trunk/README
===================================================================
--- trunk/README 2012-06-25 23:45:09 UTC (rev 1430)
+++ trunk/README 2012-06-26 10:40:19 UTC (rev 1431)
@@ -25,16 +25,14 @@
To get the latest sources
svn co https://scstudio.svn.sourceforge.net/svnroot/scstudio/trunk scstudio
+or download the sources from http://scstudio.sourceforge.net/download.html
-To make a snapshot
-svn cp trunk https://scstudio.svn.sourceforge.net/svnroot/scstudio/tags/0.1
-
Compiling SCStudio (Linux version)
----------------------------------
$ cd scstudio/trunk
-$ cmake .
+$ cmake .
$ make
[$ make test]
@@ -42,15 +40,25 @@
Compiling SCStudio (Windows version)
------------------------------------
-CMake.exe on scstudio\trunk\CMakeList.txt
+For compiling the SCStudio installer, one needs some special software and
+a certificate for signing the resulting binary. The following third-party software is needed:
+- Visual Studio 2008 or 2010
+- CMake (http://cmake.org)
+- Python (http://www.python.org/download)
+- Java (Development Kit)
+- Microsoft Office Visio 2007 SDK
-MS Visual Studio on scstudio\trunk\src\scstudio.sln
+Regarding the certificate, if you do not have one, a script on
+scstudio\trunk\src\view\visio\gen_cert.bat will generate a certificate for you.
+See the variables used in the script for changing the certificate name and
+paths.
-MS Visual Studio on scstudio\trunk\src\view\visio\scstudio.sln
+When you have the certificate, running
+make_build.bat
+in the scstudio\trunk directory should compile everything, generate the installer, sign it, and offer the result for installation.
+Note that the scripts contain paths to several programs. Thus, it may be necessary to fix the paths at the beginning of the scripts.
-NSIS on scstudio\src\view\visio\scstudio.nsi
-
Configuring SVN for commits
---------------------------
Modified: trunk/doc/scstudio-instructions.rtf
===================================================================
--- trunk/doc/scstudio-instructions.rtf 2012-06-25 23:45:09 UTC (rev 1430)
+++ trunk/doc/scstudio-instructions.rtf 2012-06-26 10:40:19 UTC (rev 1431)
@@ -152,19 +152,19 @@
\listoverridecount0\ls5}{\listoverride\listid380901966\listoverridecount0\ls6}{\listoverride\listid1349017134\listoverridecount0\ls7}{\listoverride\listid407309104\listoverridecount0\ls8}{\listoverride\listid1904482310\listoverridecount0\ls9}
{\listoverride\listid1328678781\listoverridecount0\ls10}{\listoverride\listid1972054121\listoverridecount0\ls11}{\listoverride\listid981424174\listoverridecount0\ls12}{\listoverride\listid88896242\listoverridecount0\ls13}}{\*\pgptbl {\pgp\ipgp0\itap0\li0
\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid1153\rsid6329\rsid78755\rsid138456\rsid207537\rsid208100\rsid417463\rsid532805\rsid544631\rsid928042\rsid1060359\rsid1115237\rsid1145060\rsid1184427\rsid1189032\rsid1198657\rsid1200420
-\rsid1247296\rsid1386866\rsid1451320\rsid1526286\rsid1527281\rsid1534536\rsid1534669\rsid1653280\rsid1658535\rsid1668394\rsid1789316\rsid1793135\rsid1837012\rsid1839383\rsid1852931\rsid1982595\rsid2054570\rsid2359869\rsid2432204\rsid2506586\rsid2561267
-\rsid2628187\rsid2715337\rsid2719440\rsid2843034\rsid2847067\rsid2850772\rsid2959513\rsid3103346\rsid3108205\rsid3177514\rsid3233981\rsid3303158\rsid3428059\rsid3736257\rsid3804408\rsid3810493\rsid3820566\rsid3933740\rsid3949746\rsid3953972\rsid4094820
-\rsid4130532\rsid4131279\rsid4326945\rsid4472726\rsid4481497\rsid4748508\rsid4814744\rsid4940536\rsid5399799\rsid5401344\rsid5576153\rsid5637750\rsid5666866\rsid5857558\rsid6256377\rsid6299183\rsid6301483\rsid6436109\rsid6514959\rsid6561873\rsid6634305
-\rsid6753214\rsid6777262\rsid6893578\rsid6962018\rsid7044809\rsid7086414\rsid7087670\rsid7233454\rsid7420305\rsid7484693\rsid7547637\rsid7568372\rsid7607628\rsid7619295\rsid7749931\rsid7764085\rsid7881996\rsid7932293\rsid7948186\rsid8021506\rsid8091258
-\rsid8132093\rsid8261731\rsid8269589\rsid8406248\rsid8486799\rsid8530379\rsid8666915\rsid8729496\rsid8734266\rsid8866891\rsid8914882\rsid8994097\rsid9010942\rsid9186898\rsid9310574\rsid9379152\rsid9403438\rsid9520058\rsid9522630\rsid9526003\rsid9583014
-\rsid9661686\rsid9700070\rsid9723817\rsid9767255\rsid10042125\rsid10098737\rsid10107112\rsid10178064\rsid10224828\rsid10238307\rsid10244522\rsid10297237\rsid10303369\rsid10307595\rsid10308084\rsid10315301\rsid10448614\rsid10750065\rsid10750423
-\rsid10754876\rsid10762876\rsid10776927\rsid10813733\rsid10822502\rsid10886401\rsid10961598\rsid10975923\rsid11156372\rsid11172552\rsid11235996\rsid11287005\rsid11477381\rsid11565583\rsid11680598\rsid11868043\rsid11892435\rsid11999752\rsid12062193
-\rsid12130369\rsid12218861\rsid12264738\rsid12279077\rsid12468081\rsid12473112\rsid12600295\rsid12609323\rsid12722781\rsid12739663\rsid12809264\rsid12862699\rsid12931206\rsid12933266\rsid12978455\rsid12983740\rsid12988393\rsid13054807\rsid13065259
-\rsid13132849\rsid13444795\rsid13531745\rsid13574099\rsid13632752\rsid13633324\rsid13779014\rsid13788729\rsid13913761\rsid14095596\rsid14183277\rsid14187722\rsid14223932\rsid14290469\rsid14297020\rsid14317108\rsid14358812\rsid14371250\rsid14487269
-\rsid14504946\rsid14508912\rsid14568714\rsid14580253\rsid14637882\rsid14681692\rsid14708439\rsid14842001\rsid14885393\rsid15085573\rsid15104946\rsid15141024\rsid15170639\rsid15210557\rsid15343946\rsid15472224\rsid15474480\rsid15483544\rsid15489831
-\rsid15729457\rsid16012817\rsid16060728\rsid16140264\rsid16143072\rsid16144532\rsid16198976\rsid16340342\rsid16462823\rsid16649700}{\*\generator Microsoft Word 11.0.0000;}{\info{\title Sequence Chart Studio}{\author Petr Gotthard}{\operator anode}
-{\creatim\yr2008\mo12\dy30\hr22\min21}{\revtim\yr2012\mo6\dy25\hr20\min13}{\printim\yr2012\mo1\dy7\hr4\min20}{\version86}{\edmins13523}{\nofpages17}{\nofwords3049}{\nofchars17990}{\*\company Brno}{\nofcharsws20998}{\vern24615}{\*\password 00000000}}
-{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw11906\paperh16838\margl1701\margr1418\margt1701\margb1418\gutter0\ltrsect
+\rsid1247296\rsid1386866\rsid1451320\rsid1526286\rsid1527281\rsid1534536\rsid1534669\rsid1653280\rsid1658535\rsid1668394\rsid1789316\rsid1793135\rsid1837012\rsid1839383\rsid1852931\rsid1982595\rsid1982842\rsid2054570\rsid2359869\rsid2432204\rsid2506586
+\rsid2561267\rsid2628187\rsid2715337\rsid2719440\rsid2843034\rsid2847067\rsid2850772\rsid2959513\rsid3103346\rsid3108205\rsid3177514\rsid3233981\rsid3303158\rsid3428059\rsid3736257\rsid3804408\rsid3810493\rsid3820566\rsid3933740\rsid3949746\rsid3953972
+\rsid4094820\rsid4130532\rsid4131279\rsid4326945\rsid4472726\rsid4481497\rsid4748508\rsid4814744\rsid4940536\rsid5399799\rsid5401344\rsid5576153\rsid5637750\rsid5666866\rsid5857558\rsid6256377\rsid6299183\rsid6301483\rsid6436109\rsid6514959\rsid6561873
+\rsid6634305\rsid6753214\rsid6777262\rsid6893578\rsid6962018\rsid7044809\rsid7086414\rsid7087670\rsid7233454\rsid7420305\rsid7484693\rsid7547637\rsid7568372\rsid7607628\rsid7619295\rsid7749931\rsid7764085\rsid7881996\rsid7932293\rsid7948186\rsid8021506
+\rsid8091258\rsid8132093\rsid8261731\rsid8269589\rsid8406248\rsid8486799\rsid8530379\rsid8666915\rsid8729496\rsid8734266\rsid8866891\rsid8914882\rsid8994097\rsid9008039\rsid9010942\rsid9186898\rsid9310574\rsid9379152\rsid9403438\rsid9520058\rsid9522630
+\rsid9526003\rsid9583014\rsid9661686\rsid9700070\rsid9723817\rsid9767255\rsid10042125\rsid10098737\rsid10107112\rsid10178064\rsid10224828\rsid10238307\rsid10244522\rsid10297237\rsid10303369\rsid10307595\rsid10308084\rsid10315301\rsid10448614\rsid10695344
+\rsid10750065\rsid10750423\rsid10754876\rsid10762876\rsid10776927\rsid10813733\rsid10822502\rsid10886401\rsid10961598\rsid10975923\rsid11156372\rsid11172552\rsid11235996\rsid11287005\rsid11477381\rsid11565583\rsid11680598\rsid11868043\rsid11892435
+\rsid11999752\rsid12062193\rsid12130369\rsid12151659\rsid12218861\rsid12264738\rsid12279077\rsid12468081\rsid12473112\rsid12600295\rsid12609323\rsid12722781\rsid12739663\rsid12809264\rsid12862699\rsid12931206\rsid12933266\rsid12978455\rsid12983740
+\rsid12988393\rsid13054807\rsid13065259\rsid13132849\rsid13444795\rsid13531745\rsid13574099\rsid13632752\rsid13633324\rsid13779014\rsid13788729\rsid13913761\rsid14095596\rsid14183277\rsid14187722\rsid14223932\rsid14290469\rsid14297020\rsid14317108
+\rsid14358812\rsid14371250\rsid14487269\rsid14504946\rsid14508912\rsid14568714\rsid14580253\rsid14637882\rsid14681692\rsid14708439\rsid14842001\rsid14885393\rsid15085573\rsid15104946\rsid15141024\rsid15170639\rsid15210557\rsid15343946\rsid15472224
+\rsid15474480\rsid15483544\rsid15489831\rsid15729457\rsid16012817\rsid16060728\rsid16140264\rsid16143072\rsid16144532\rsid16198976\rsid16340342\rsid16462823\rsid16649700}{\*\generator Microsoft Word 11.0.0000;}{\info{\title Sequence Chart Studio}
+{\author Petr Gotthard}{\operator anode}{\creatim\yr2008\mo12\dy30\hr22\min21}{\revtim\yr2012\mo6\dy26\min16}{\printim\yr2012\mo1\dy7\hr4\min20}{\version89}{\edmins13541}{\nofpages17}{\nofwords3050}{\nofchars17999}{\*\company Brno}{\nofcharsws21007}
+{\vern24615}{\*\password 00000000}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw11906\paperh16838\margl1701\margr1418\margt1701\margb1418\gutter0\ltrsect
\deftab709\widowctrl\ftnbj\aenddoc\hyphhotz425\donotembedsysfont0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\noxlattoyen\expshrtn
\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1701\dgvorigin1701\dghshow1\dgvshow1
\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
@@ -178,7 +178,7 @@
\ltrch\fcs0 \insrsid1527281 \chftnsepc
\par }}\ltrpar \sectd \ltrsect\linex0\headery709\footery709\colsx708\endnhere\titlepg\sectlinegrid360\sectdefaultcl\sectrsid1145060\sftnbj {\footerr \ltrpar \pard\plain \ltrpar\s22\ql \li0\ri0\widctlpar\brdrt\brdrs\brdrw10\brsp20
\tqc\tx4536\tqr\tx9072\pvpara\phmrg\posxr\posy0\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\rtlgutter\itap0\pararsid9379152 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 \f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029
-{\field{\*\fldinst {\rtlch\fcs1 \af1 \ltrch\fcs0 \cs24\insrsid1527281 PAGE }}{\fldrslt {\rtlch\fcs1 \af1 \ltrch\fcs0 \cs24\lang1024\langfe1024\noproof\insrsid14508912 3}}}\sectd \ltrsect
+{\field{\*\fldinst {\rtlch\fcs1 \af1 \ltrch\fcs0 \cs24\insrsid1527281 PAGE }}{\fldrslt {\rtlch\fcs1 \af1 \ltrch\fcs0 \cs24\lang1024\langfe1024\noproof\insrsid10695344 2}}}\sectd \ltrsect
\linex0\headery708\footery708\colsx708\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af1 \ltrch\fcs0 \cs24\insrsid1527281
\par }\pard \ltrpar\s22\ql \li0\ri0\widctlpar\brdrt\brdrs\brdrw10\brsp20 \tqc\tx4536\tqr\tx9072\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\rtlgutter\itap0\pararsid12473112 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid1527281\charrsid12473112
\par }}{\*\pnseclvl1\pnucrm\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnqc\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnqc\pnstart1\pnindent720\pnhang
@@ -246,9 +246,9 @@
\par }\pard \ltrpar\s17\ql \li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid16340342 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid16340342\charrsid13444795
\par }\pard\plain \ltrpar\s18\ql \fi-2268\li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid16340342 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0
\f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid16340342 Download\tab The latest version of SCStudio can be freely downloaded from }{\field\flddirty{\*\fldinst {\rtlch\fcs1 \af1 \ltrch\fcs0
-\insrsid16340342 HYPERLINK "http://scstudio.sourceforge.net" }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid2506586 {\*\datafield
+\insrsid16340342 HYPERLINK "http://scstudio.sourceforge.net" }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid12151659 {\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b02000000170000002000000068007400740070003a002f002f0073006300730074007500640069006f002e0073006f00750072006300650066006f007200670065002e006e00650074000000e0c9ea79f9bace118c8200aa004ba90b4200000068007400740070003a002f002f00
-73006300730074007500640069006f002e0073006f00750072006300650066006f007200670065002e006e00650074002f000000000000000000000000000000000096060000000000e1893904060000}}}{\fldrslt {\rtlch\fcs1 \af1 \ltrch\fcs0 \cs20\ul\cf2\insrsid16340342\charrsid7484693
+73006300730074007500640069006f002e0073006f00750072006300650066006f007200670065002e006e00650074002f000000000000000000000000000000000096060000000000e189390406000000}}}{\fldrslt {\rtlch\fcs1 \af1 \ltrch\fcs0 \cs20\ul\cf2\insrsid16340342\charrsid7484693
http://scstudio.sourceforge.net}}}\sectd \ltrsect\linex0\headery709\footery709\colsx708\endnhere\titlepg\sectlinegrid360\sectdefaultcl\sectrsid1145060\sftnbj {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid16340342
\par }\pard\plain \ltrpar\s17\ql \li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid13531745 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0
\f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid13531745
@@ -256,15 +256,15 @@
\f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid13531745 User Support\tab If you need help:
\par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \fs20\lang1033\langfe1029\langnp1033\langfenp1029\insrsid13531745 \loch\af0\dbch\af0\hich\f0 \'96\tab}}\pard\plain \ltrpar\s17\ql \fi-311\li3033\ri0\sb120\sa120\sl280\slmult0\widctlpar
\jclisttab\tx3033\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin3033\itap0\pararsid13531745 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 \f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 {\rtlch\fcs1 \af1 \ltrch\fcs0
-\insrsid13531745 Join }{\field\flddirty{\*\fldinst {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid13531745 HYPERLINK "http://lists.sourceforge.net/mailman/listinfo/scstudio-devel" }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid2506586 {\*\datafield
+\insrsid13531745 Join }{\field\flddirty{\*\fldinst {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid13531745 HYPERLINK "http://lists.sourceforge.net/mailman/listinfo/scstudio-devel" }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid12151659 {\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b02000000170000003d00000068007400740070003a002f002f006c0069007300740073002e0073006f00750072006300650066006f007200670065002e006e00650074002f006d00610069006c006d0061006e002f006c0069007300740069006e0066006f002f00730063007300
74007500640069006f002d0064006500760065006c000000e0c9ea79f9bace118c8200aa004ba90b7a00000068007400740070003a002f002f006c0069007300740073002e0073006f00750072006300650066006f007200670065002e006e00650074002f006d00610069006c006d0061006e002f006c0069007300740069
-006e0066006f002f0073006300730074007500640069006f002d0064006500760065006c0000000100007001000013000000000000002888000000026200288804008d}}}{\fldrslt {\rtlch\fcs1 \af1 \ltrch\fcs0 \cs20\ul\cf2\insrsid13531745\charrsid7484693
+006e0066006f002f0073006300730074007500640069006f002d0064006500760065006c0000000100007001000013000000000000002888000000026200288804008df5}}}{\fldrslt {\rtlch\fcs1 \af1 \ltrch\fcs0 \cs20\ul\cf2\insrsid13531745\charrsid7484693
http://lists.sourceforge.net/mailman/listinfo/scstudio-devel}}}\sectd \ltrsect\linex0\headery709\footery709\colsx708\endnhere\titlepg\sectlinegrid360\sectdefaultcl\sectrsid1145060\sftnbj {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid13531745 ;
\par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \fs20\lang1033\langfe1029\langnp1033\langfenp1029\insrsid13531745 \loch\af0\dbch\af0\hich\f0 \'96\tab}Send an e-mail to }{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af1 \ltrch\fcs0
-\insrsid13531745 HYPERLINK "mailto:scs...@li..."}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid2506586 {\*\datafield
+\insrsid13531745 HYPERLINK "mailto:scs...@li..."}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid12151659 {\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b580000006d00610069006c0074006f003a0073006300730074007500640069006f002d0064006500760065006c0040006c0069007300740073002e0073006f00750072006300650066006f007200670065002e006e00
-65007400000000000000000000000000000000000058c4000000f899fde8eb030086}}}{\fldrslt {\rtlch\fcs1 \af1 \ltrch\fcs0 \cs20\ul\cf2\insrsid13531745 scs...@li...}}}\sectd \ltrsect
+65007400000000000000000000000000000000000058c4000000f899fde8eb030086f4}}}{\fldrslt {\rtlch\fcs1 \af1 \ltrch\fcs0 \cs20\ul\cf2\insrsid13531745 scs...@li...}}}\sectd \ltrsect
\linex0\headery709\footery709\colsx708\endnhere\titlepg\sectlinegrid360\sectdefaultcl\sectrsid1145060\sftnbj {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid13531745 .
\par }\pard \ltrpar\s17\ql \li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid13531745 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid13531745
Please note, to avoid SPAM (egg sausage and bacon), the list doesn't accept mails from non-members; you have to join the list.
@@ -289,8 +289,10 @@
\f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11565583 When executing }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9700070 Microsoft Visio}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11565583
, a security warning may appear. When it appears:
\par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \fs20\lang1033\langfe1029\langnp1033\langfenp1029\insrsid11565583 \loch\af0\dbch\af0\hich\f0 \'96\tab}}\pard \ltrpar\s17\ql \fi-311\li3033\ri0\sb120\sa120\sl280\slmult0\widctlpar
-\jclisttab\tx3033\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin3033\itap0\pararsid11565583 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11565583 Verify the macros are published by Petr Gotthard;
-\par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \fs20\lang1033\langfe1029\langnp1033\langfenp1029\insrsid11565583 \loch\af0\dbch\af0\hich\f0 \'96\tab}Select "Always trust macros from this publisher";
+\jclisttab\tx3033\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin3033\itap0\pararsid10695344 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11565583 Verify the macros are published by}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid10695344 \'93
+Sequence Chart Studio\'94}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11565583 ;
+\par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \fs20\lang1033\langfe1029\langnp1033\langfenp1029\insrsid11565583 \loch\af0\dbch\af0\hich\f0 \'96\tab}}\pard \ltrpar\s17\ql \fi-311\li3033\ri0\sb120\sa120\sl280\slmult0\widctlpar
+\jclisttab\tx3033\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin3033\itap0\pararsid11565583 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11565583 Select "Always trust macros from this publisher";
\par {\listtext\pard\plain\ltrpar \s17 \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \fs20\lang1033\langfe1029\langnp1033\langfenp1029\insrsid11565583 \loch\af0\dbch\af0\hich\f0 \'96\tab}Click "Enable Macros".
\par }\pard \ltrpar\s17\ql \li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid4814744 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4814744
\par }\pard\plain \ltrpar\s18\ql \fi-2268\li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid3177514 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0
@@ -311,7 +313,7 @@
\par }\pard\plain \ltrpar\s18\ql \fi-2268\li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid138456 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0
\f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid138456 Selecting Template\tab After starting the Microsoft Visio, select the category \'93Sequence Chart Studio\'94 and choose the MSC drawing template.
-\par }\pard \ltrpar\s18\ql \li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid4748508 {\rtlch\fcs1 \af1 \ltrch\fcs0 \lang1024\langfe1024\noproof\langnp1029\langfenp2052\insrsid14508912
+\par }\pard \ltrpar\s18\ql \li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid4748508 {\rtlch\fcs1 \af1 \ltrch\fcs0 \lang1024\langfe1024\noproof\langnp1029\langfenp2052\insrsid10695344
{\shp{\*\shpinst\shpleft180\shptop3278\shpright1800\shpbottom3638\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz5\shplid1026{\sp{\sn shapeType}{\sv 45}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 65536}}{\sp{\sn dxTextLeft}{\sv 36000}}{\sp{\sn dyTextTop}{\sv 36000}}{\sp{\sn dxTextRight}{\sv 36000}}{\sp{\sn dyTextBottom}{\sv 36000}}{\sp{\sn hspNext}{\sv 1026}}{\sp{\sn adjustValue}{\sv 29400}}{\sp{\sn adjust2Value}{\sv -42300}}
{\sp{\sn adjust3Value}{\sv 24187}}{\sp{\sn adjust4Value}{\sv 10800}}{\sp{\sn adjust5Value}{\sv 23200}}{\sp{\sn adjust6Value}{\sv 10800}}{\sp{\sn adjust7Value}{\sv 71200}}{\sp{\sn adjust8Value}{\sv -43200}}
@@ -321,7 +323,7 @@
\cf9\insrsid1527281\charrsid8914882 Category
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8197\dptxbx\dptxlrtb{\dptxbxtext\ltrpar \pard\plain \ltrpar\qr \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13054807 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0
\f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 {\rtlch\fcs1 \af1 \ltrch\fcs0 \cf9\insrsid1527281\charrsid8914882 Category
-\par }}\dpx180\dpy3278\dpxsize1620\dpysize360\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob128}}}}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid2506586 {\*\shppict
+\par }}\dpx180\dpy3278\dpxsize1620\dpysize360\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob128}}}}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid12151659 {\*\shppict
{\pict{\*\picprop\shplid1025{\sp{\sn shapeType}{\sv 75}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn fRecolorFillAsPicture}{\sv 0}}{\sp{\sn fUseShapeAnchor}{\sv 0}}
{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}\picscalex50\picscaley50\piccropl0\piccropr0\piccropt0\piccropb0
\picw21749\pich14393\picwgoal12330\pichgoal8160\pngblip\bliptag-2071321026{\*\blipuid 848a263e75038abb78f85204f8ff99db}89504e470d0a1a0a0000000d4948445200000336000002200802000000d8d56b24000000017352474200aece1ce90000ffca49444154785eec7d07601cd5b5f6
@@ -37487,7 +37489,7 @@
d6d6ced6deced6d6ced6deced6d6ced6deced6d6ced6deced6d6ced6deced6d6ced6deced6d6ced6deced6d6ced6deced6d6ced6deced6d6ced6deced6d6ced6
deced6d6ced6deced6d6ced6deced6d6ced6deced6d6ced6deced6d6ced6deced6d6ced6deced6d6ced6deced6d6ced6deced6d6ced6deced6d6ced6deced6d6
ced6deced6d6ced6deced6d6ced6deced6d6ced6deced6d6ced6deced6d6ced6deced6d6ced6deced6d6ced6de42424200000c00000040092900aa000000000000002002360300000000040000002701ffff030000000000}}}{\rtlch\fcs1 \af1 \ltrch\fcs0
-\lang1024\langfe1024\noproof\langnp1029\langfenp2052\insrsid14508912 {\shp{\*\shpinst\shpleft180\shptop2198\shpright1800\shpbottom2558\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz0\shplid1027
+\lang1024\langfe1024\noproof\langnp1029\langfenp2052\insrsid10695344 {\shp{\*\shpinst\shpleft180\shptop2198\shpright1800\shpbottom2558\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz0\shplid1027
{\sp{\sn shapeType}{\sv 45}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn lTxid}{\sv 131072}}{\sp{\sn dxTextLeft}{\sv 36000}}{\sp{\sn dyTextTop}{\sv 36000}}{\sp{\sn dxTextRight}{\sv 36000}}{\sp{\sn dyTextBottom}{\sv 36000}}
{\sp{\sn hspNext}{\sv 1027}}{\sp{\sn adjustValue}{\sv 50200}}{\sp{\sn adjust2Value}{\sv -2700}}{\sp{\sn adjust3Value}{\sv 43373}}{\sp{\sn adjust4Value}{\sv 10800}}{\sp{\sn adjust5Value}{\sv 23200}}{\sp{\sn adjust6Value}{\sv 10800}}
{\sp{\sn adjust7Value}{\sv 71200}}{\sp{\sn fRecolorFillAsPicture}{\sv 0}}{\sp{\sn fUseShapeAnchor}{\sv 0}}{\sp{\sn lineColor}{\sv 8388608}}{\sp{\sn lineStartArrowhead}{\sv 4}}{\sp{\sn lineStartArrowWidth}{\sv 0}}
@@ -37503,7 +37505,7 @@
The SCStudio functions are available via the \'93SCStudio\'94 menu and }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid14504946 the \'93Sequence Chart\'94
toolbar. Some actions are also available via the context menu (accessed by right-clicking the document or some shapes).}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid12279077 Many functions also have a hotkey, typically with }{\rtlch\fcs1 \af1 \ltrch\fcs0
\cs34\f2\insrsid12279077\charrsid12279077 Ctrl + Alt}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid12279077 modifiers.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid14708439
-\par }\pard \ltrpar\s17\ql \li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid10448614 {\rtlch\fcs1 \af1 \ltrch\fcs0 \lang1024\langfe1024\noproof\langnp1029\langfenp2052\insrsid14508912
+\par }\pard \ltrpar\s17\ql \li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid10448614 {\rtlch\fcs1 \af1 \ltrch\fcs0 \lang1024\langfe1024\noproof\langnp1029\langfenp2052\insrsid10695344
{\shp{\*\shpinst\shpleft-944\shptop1207\shpright1756\shpbottom1885\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz19\shplid1028{\sp{\sn shapeType}{\sv 45}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 196608}}{\sp{\sn dxTextLeft}{\sv 36000}}{\sp{\sn dyTextTop}{\sv 36000}}{\sp{\sn dxTextRight}{\sv 36000}}{\sp{\sn dyTextBottom}{\sv 36000}}{\sp{\sn hspNext}{\sv 1028}}{\sp{\sn adjustValue}{\sv 43736}}{\sp{\sn adjust2Value}{\sv -10481}}
{\sp{\sn adjust3Value}{\sv 31440}}{\sp{\sn adjust4Value}{\sv 7232}}{\sp{\sn adjust5Value}{\sv 23400}}{\sp{\sn adjust6Value}{\sv 7200}}{\sp{\sn adjust7Value}{\sv 77400}}{\sp{\sn adjust8Value}{\sv -21600}}
@@ -37586,7 +37588,7 @@
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8199\dptxbx\dptxlrtb{\dptxbxtext\ltrpar \pard\plain \ltrpar\qr \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13054807 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0
\f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 {\rtlch\fcs1 \af1 \ltrch\fcs0 \cf9\insrsid1527281 Document Name}{\rtlch\fcs1 \af1 \ltrch\fcs0 \cf9\insrsid1527281\charrsid8914882
\par }}\dpx0\dpy325\dpxsize1980\dpysize360\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob128}}}}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid10098737\charrsid10098737 }{
-\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid2506586 {\*\shppict{\pict{\*\picprop\shplid1026{\sp{\sn shapeType}{\sv 75}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}
+\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid12151659 {\*\shppict{\pict{\*\picprop\shplid1026{\sp{\sn shapeType}{\sv 75}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}
\picscalex100\picscaley100\piccropl0\piccropr0\piccropt0\piccropb0\picw10848\pich7184\picwgoal6150\pichgoal4073\pngblip\bliptag795974956{\*\blipuid 2f719d2ceec9b82840a6d66ee33e47b5}
89504e470d0a1a0a0000000d49484452000003340000021f0802000000290c0e61000000017352474200aece1ce9000000097048597300001d8700001d87018f
e5f1650000ffb549444154785eec5d07601555d67ea1869aa022202da820b6258a0a084a5077c54adc755ddcb56077772d5856597f5dc2da772dc1b2625bc18a
@@ -74895,7 +74897,7 @@
\par }\pard\plain \ltrpar\s17\ql \li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0\pararsid1852931 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0
\f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid1852931 A basic MSC can be created by gluing several basic MSC stencils to form a single drawing according to the ITU-T Z.120 standard.
\par The following figure shows various stencils in a sample basic MSC.
-\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \lang1024\langfe1024\noproof\langnp1029\langfenp2052\insrsid14508912
+\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \lang1024\langfe1024\noproof\langnp1029\langfenp2052\insrsid10695344
{\shp{\*\shpinst\shpleft6840\shptop800\shpright8820\shpbottom1160\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz10\shplid1036{\sp{\sn shapeType}{\sv 45}}{\sp{\sn fFlipH}{\sv 1}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 720896}}{\sp{\sn dxTextLeft}{\sv 36000}}{\sp{\sn dyTextTop}{\sv 36000}}{\sp{\sn dxTextRight}{\sv 36000}}{\sp{\sn dyTextBottom}{\sv 36000}}{\sp{\sn hspNext}{\sv 1036}}{\sp{\sn adjustValue}{\sv 29956}}{\sp{\sn adjust2Value}{\sv -8100}}
{\sp{\sn adjust3Value}{\sv 27076}}{\sp{\sn adjust4Value}{\sv 10800}}{\sp{\sn adjust5Value}{\sv 22909}}{\sp{\sn adjust6Value}{\sv 10800}}{\sp{\sn adjust7Value}{\sv 62182}}{\sp{\sn adjust8Value}{\sv -21600}}
@@ -74945,7 +74947,7 ...
[truncated message content] |
|
From: <ob...@us...> - 2012-06-26 19:33:37
|
Revision: 1435
http://scstudio.svn.sourceforge.net/scstudio/?rev=1435&view=rev
Author: obouda
Date: 2012-06-26 19:33:31 +0000 (Tue, 26 Jun 2012)
Log Message:
-----------
svn:ignore on test binaries and other files
Property Changed:
----------------
trunk/
trunk/doc/doxygen/
trunk/doc/find_flow/
trunk/src/view/visio/
trunk/tests/
trunk/tests/diff/
trunk/tests/membership/
trunk/tests/montecarlo/
trunk/tests/tightening_tests/
trunk/tests/z120_test/
Property changes on: trunk
___________________________________________________________________
Modified: svn:ignore
- CMakeFiles
CMakeCache.txt
cmake_install.cmake
CTestTestfile.cmake
DartConfiguration.tcl
Testing
*.ncb
*.sln
*.suo
*.dir
Makefile
*.vcproj*
debug
Debug
release
Release
.dep.inc
temp
+ CMakeFiles
CMakeCache.txt
cmake_install.cmake
CTestTestfile.cmake
DartConfiguration.tcl
Testing
*.ncb
*.sln
*.suo
*.dir
Makefile
*.vcproj*
debug
Debug
release
Release
.dep.inc
temp
install_manifest.txt
Property changes on: trunk/doc/doxygen
___________________________________________________________________
Modified: svn:ignore
- CTestTestfile.cmake
CMakeFiles
cmake_install.cmake
doxygen.config.local
Makefile
+ CTestTestfile.cmake
CMakeFiles
cmake_install.cmake
doxygen.config.local
Makefile
html
Property changes on: trunk/doc/find_flow
___________________________________________________________________
Modified: svn:ignore
- *.vcproj
CMakeFiles
CTestTestfile.cmake
cmake_install.cmake
memb_alg.aux
memb_alg.dir
memb_alg.log
memb_alg.out
memb_alg.pdf
+ *.vcproj
*.vcproj.*
CMakeFiles
CTestTestfile.cmake
cmake_install.cmake
memb_alg.aux
memb_alg.dir
memb_alg.log
memb_alg.out
memb_alg.pdf
Makefile
Property changes on: trunk/src/view/visio
___________________________________________________________________
Modified: svn:ignore
- *.ncb
*.suo
*.exe
+ *.ncb
*.suo
*.exe
*.cer
Property changes on: trunk/tests
___________________________________________________________________
Modified: svn:ignore
- CMakeFiles
cmake_install.cmake
CTestTestfile.cmake
*.dir
Makefile
*.vcproj*
+ CMakeFiles
cmake_install.cmake
CTestTestfile.cmake
*.dir
Makefile
*.vcproj*
engmann_test
interval_test
universal_boundedness_checker_test
acyclic_checker_test
interval_set_test
tighten_hmsc_test
find_block_test
race_checker_test
export_tex_test
fifo_checker_test
local_choice_checker_test
decimal_test
interval_string
deadlock_checker_test
livelock_checker_test
checker_test
tighten_msc_test
Release
Debug
Property changes on: trunk/tests/diff
___________________________________________________________________
Modified: svn:ignore
- CMakeFiles
cmake_install.cmake
CTestTestfile.cmake
*.dir
Makefile
*.vcproj*
+ CMakeFiles
cmake_install.cmake
CTestTestfile.cmake
*.dir
Makefile
*.vcproj*
diff_test
Property changes on: trunk/tests/membership
___________________________________________________________________
Modified: svn:ignore
- CMakeFiles
cmake_install.cmake
CTestTestfile.cmake
*.dir
Makefile
*.vcproj
*.vcproj.*
*.swp
+ CMakeFiles
cmake_install.cmake
CTestTestfile.cmake
*.dir
Makefile
*.vcproj
*.vcproj.*
*.swp
membership_test
Property changes on: trunk/tests/montecarlo
___________________________________________________________________
Modified: svn:ignore
- CMakeFiles
cmake_install.cmake
CTestTestfile.cmake
*.dir
Makefile
*.vcproj
*.vcproj.*
*.swp
+ CMakeFiles
cmake_install.cmake
CTestTestfile.cmake
*.dir
Makefile
*.vcproj
*.vcproj.*
*.swp
montecarlo_test
Property changes on: trunk/tests/tightening_tests
___________________________________________________________________
Modified: svn:ignore
- CMakeFiles
cmake_install.cmake
CTestTestfile.cmake
*.dir
Makefile
*.vcproj*
+ CMakeFiles
cmake_install.cmake
CTestTestfile.cmake
*.dir
Makefile
*.vcproj*
tighten_test
Property changes on: trunk/tests/z120_test
___________________________________________________________________
Modified: svn:ignore
- CMakeFiles
cmake_install.cmake
CTestTestfile.cmake
*.dir
Makefile
*.vcproj
*.vcproj.*
*.swp
+ CMakeFiles
cmake_install.cmake
CTestTestfile.cmake
*.dir
Makefile
*.vcproj
*.vcproj.*
*.swp
z120_test
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ma...@us...> - 2012-07-08 21:37:05
|
Revision: 1439
http://scstudio.svn.sourceforge.net/scstudio/?rev=1439&view=rev
Author: madzin
Date: 2012-07-08 21:36:59 +0000 (Sun, 08 Jul 2012)
Log Message:
-----------
Due to action and conditions were added to the internal structure. The import was extended to create these objects.
Modified Paths:
--------------
trunk/src/data/Z120/Context.cpp
trunk/src/data/Z120/Context.h
trunk/src/data/Z120/Context_Impl.h
trunk/src/data/Z120/Z120.g
trunk/src/data/Z120/z120_save.cpp
trunk/tests/z120_test/CMakeLists.txt
Added Paths:
-----------
trunk/tests/z120_test/z120_test94.mpr
trunk/tests/z120_test/z120_test94.mpr.result
Modified: trunk/src/data/Z120/Context.cpp
===================================================================
--- trunk/src/data/Z120/Context.cpp 2012-06-27 11:49:42 UTC (rev 1438)
+++ trunk/src/data/Z120/Context.cpp 2012-07-08 21:36:59 UTC (rev 1439)
@@ -22,7 +22,7 @@
*/
/*
- * Maximal number of warning/error message is 33
+ * Maximal number of warning/error message is 34
*/
#ifndef __ParserStruct__
@@ -680,6 +680,135 @@
}
/*
+ * Add new local action
+ */
+void add_action_fun(struct Context* context, char* action_statement)
+{
+ std::string statement(action_statement);
+ InstancePtr instance;
+
+ std::map<std::string, InstancePtr>::iterator inst_it;
+ inst_it = context->instances.find(context->element_name);
+
+ if(inst_it == context->instances.end())
+ {
+ instance = new Instance(TOWSTRING(context->element_name));
+ context->instances.insert(std::make_pair(context->element_name, instance));
+ context->myBmsc->add_instance(instance);
+ context->open_instance++;
+ context->z->print_report(RS_WARNING,
+ stringize() << "Warning 23: Instance (" << TOWSTRING(context->element_name) << ") has not been started (e.g. " << TOWSTRING(context->element_name) << ": instance;)");
+ }
+ else
+ {
+ instance = inst_it->second;
+ }
+
+ if (instance->get_last() == NULL ||
+ context->coregion_area_finished.find(context->element_name) != context->coregion_area_finished.end())
+ {
+ StrictOrderAreaPtr strict(new StrictOrderArea());
+ instance->add_area(strict);
+ context->coregion_area_finished.erase(context->element_name);
+ }
+
+ std::map<std::string, EventPtr>::iterator event_it;
+ EventPtr event;
+
+ //if the event was created prematurely
+ if(context->event_name == "" ||
+ (event_it = context->future_events.find(context->event_name)) == context->future_events.end())
+ {
+ event = instance->get_last()->add_event();
+ }
+ else
+ {
+ event = event_it->second;
+ context->future_events.erase(event_it);
+ }
+
+ context->current_event = event;
+
+ LocalActionPtr action = new LocalAction(TOWSTRING(statement));
+ action->glue_event(event);
+
+ //if event is named, it adds event to named_events
+ if(context->event_name != "")
+ {
+ context->named_events.insert(std::make_pair(context->event_name, event));
+ }
+
+ create_future_time_relations(context);
+ context->event_name = "";
+}
+
+/*
+ * Add new condition
+ */
+void add_condition_fun(struct Context* context)
+{
+ InstancePtr instance;
+
+ std::map<std::string, InstancePtr>::iterator inst_it;
+ inst_it = context->instances.find(context->element_name);
+
+ if(inst_it == context->instances.end())
+ {
+ instance = new Instance(TOWSTRING(context->element_name));
+ context->instances.insert(std::make_pair(context->element_name, instance));
+ context->myBmsc->add_instance(instance);
+ context->open_instance++;
+ context->z->print_report(RS_WARNING,
+ stringize() << "Warning 23: Instance (" << TOWSTRING(context->element_name) << ") has not been started (e.g. " << TOWSTRING(context->element_name) << ": instance;)");
+ }
+ else
+ {
+ instance = inst_it->second;
+ }
+
+ if (instance->get_last() == NULL ||
+ context->coregion_area_finished.find(context->element_name) != context->coregion_area_finished.end())
+ {
+ StrictOrderAreaPtr strict(new StrictOrderArea());
+ instance->add_area(strict);
+ context->coregion_area_finished.erase(context->element_name);
+ }
+
+ std::map<std::string, EventPtr>::iterator event_it;
+ EventPtr event;
+
+ //if the event was created prematurely
+ if(context->event_name == "" ||
+ (event_it = context->future_events.find(context->event_name)) == context->future_events.end())
+ {
+ event = instance->get_last()->add_event();
+ }
+ else
+ {
+ event = event_it->second;
+ context->future_events.erase(event_it);
+ }
+
+ context->current_event = event;
+
+ if(context->condition_shared_inst.size() > 1)
+ context->z->print_report(RS_WARNING,
+ stringize() << "Warning 34: Condition across multiple instances is not supported yet.");
+
+ LocalConditionPtr local_condition = new LocalCondition(TOWSTRING(context->condition_name));
+ local_condition->glue_event(event);
+
+ //if event is named, it adds event to named_events
+ if(context->event_name != "")
+ {
+ context->named_events.insert(std::make_pair(context->event_name, event));
+ }
+
+ create_future_time_relations(context);
+ context->event_name = "";
+}
+
+/*
* Add name to order_events
*/
void add_order_event_fun(struct Context* context, char* name){
@@ -1153,6 +1282,21 @@
context->condition_name = "";
}
+void clear_shared_inst(struct Context* context)
+{
+ context->condition_shared_inst.clear();
+}
+
+void add_shared_inst(struct Context* context, char* inst)
+{
+ std::string instance(inst);
+
+ if(instance == "")
+ context->condition_shared_inst.push_back(context->element_name);
+ else
+ context->condition_shared_inst.push_back(instance);
+}
+
/*
* Set name of node
*/
Modified: trunk/src/data/Z120/Context.h
===================================================================
--- trunk/src/data/Z120/Context.h 2012-06-27 11:49:42 UTC (rev 1438)
+++ trunk/src/data/Z120/Context.h 2012-07-08 21:36:59 UTC (rev 1439)
@@ -81,6 +81,10 @@
void incomplete_message_fun(struct Context* context, char* msg_identifications, enum msg_kind kind);
+void add_action_fun(struct Context* context, char* action_statement);
+
+void add_condition_fun(struct Context* context);
+
void new_instance_fun(struct Context* context);
void start_coregion_fun(struct Context* context);
@@ -137,6 +141,10 @@
void clear_condition_name_fun(struct Context* context);
+void clear_shared_inst(struct Context* context);
+
+void add_shared_inst(struct Context* context, char* inst);
+
void set_node_name_fun(struct Context* context, char* name);
void add_connect_name_fun(struct Context* context, char* name);
Modified: trunk/src/data/Z120/Context_Impl.h
===================================================================
--- trunk/src/data/Z120/Context_Impl.h 2012-06-27 11:49:42 UTC (rev 1438)
+++ trunk/src/data/Z120/Context_Impl.h 2012-07-08 21:36:59 UTC (rev 1439)
@@ -122,6 +122,9 @@
std::string reference_name;
std::string condition_name;
+ std::vector<std::string> condition_shared_inst; // array of instances for which the condition is applied
+
+
HMscNodePtr current_node;
std::map<std::string, HMscNodePtr> hmsc_nodes; // map of hmsc nodes (key: name of node, value: smart pointer to node)
Modified: trunk/src/data/Z120/Z120.g
===================================================================
--- trunk/src/data/Z120/Z120.g 2012-06-27 11:49:42 UTC (rev 1438)
+++ trunk/src/data/Z120/Z120.g 2012-07-08 21:36:59 UTC (rev 1439)
@@ -799,6 +799,7 @@
shared_condition:
(shared)? condition_identification shared end
+ {add_condition_fun(context);}
;
condition_identification:
@@ -813,7 +814,7 @@
(condition_name_list { set_condition_name_fun(context, (char*) $condition_name_list.text->chars); }
| expr = ( '(' expression ')' ) { set_condition_name_fun(context, (char*) $expr.text->chars); }
)
-
+
| 'otherwise' { set_condition_name_fun(context, "otherwise"); }
// *** proprietary Z.120 extension
@@ -826,11 +827,15 @@
;
shared:
- 'shared' ((shared_instance_list)? | 'all')
+ { clear_shared_inst(context);}
+ { add_shared_inst(context, "");} //add current instance
+
+ 'shared' ((shared_instance_list)? | 'all' {add_shared_inst(context, "all");})
;
shared_instance_list:
- NAME (',' shared_instance_list)?
+ NAME {add_shared_inst(context, (char*) $NAME.text->chars);}
+ (',' shared_instance_list)?
;
condition:
@@ -872,6 +877,7 @@
action:
'action' action_statement
+ {add_action_fun(context, (char*) $action_statement.text->chars);}
;
/* if needed
Modified: trunk/src/data/Z120/z120_save.cpp
===================================================================
--- trunk/src/data/Z120/z120_save.cpp 2012-06-27 11:49:42 UTC (rev 1438)
+++ trunk/src/data/Z120/z120_save.cpp 2012-07-08 21:36:59 UTC (rev 1439)
@@ -384,7 +384,7 @@
LocalAction* act = dynamic_cast<LocalAction*>(incomplete_message.get());
LocalCondition* cond = dynamic_cast<LocalCondition*>(incomplete_message.get());
if(act != NULL)
- stream << "action " << VALID_NAME(act->get_label());
+ stream << "action '" << VALID_NAME(act->get_label()) << "'";
else if(cond != NULL)
stream << "condition " << VALID_NAME(cond->get_label()) << " shared";
else
Modified: trunk/tests/z120_test/CMakeLists.txt
===================================================================
--- trunk/tests/z120_test/CMakeLists.txt 2012-06-27 11:49:42 UTC (rev 1438)
+++ trunk/tests/z120_test/CMakeLists.txt 2012-07-08 21:36:59 UTC (rev 1439)
@@ -101,6 +101,7 @@
ADD_Z120_TEST(z120_test91.mpr 0)
ADD_Z120_TEST(z120_test92.mpr 1)
ADD_Z120_TEST(z120_test93.mpr 1)
+ADD_Z120_TEST(z120_test94.mpr 1)
ADD_Z120_TEST(z120_time01.mpr 1)
ADD_Z120_TEST(z120_time02.mpr 1)
Added: trunk/tests/z120_test/z120_test94.mpr
===================================================================
--- trunk/tests/z120_test/z120_test94.mpr (rev 0)
+++ trunk/tests/z120_test/z120_test94.mpr 2012-07-08 21:36:59 UTC (rev 1439)
@@ -0,0 +1,8 @@
+mscdocument Drawing1;
+msc Page_1;
+inst Instance1;
+Instance1: instance;
+action 'Action_test';
+condition Condition_test shared;
+endinstance;
+endmsc;
Added: trunk/tests/z120_test/z120_test94.mpr.result
===================================================================
--- trunk/tests/z120_test/z120_test94.mpr.result (rev 0)
+++ trunk/tests/z120_test/z120_test94.mpr.result 2012-07-08 21:36:59 UTC (rev 1439)
@@ -0,0 +1,10 @@
+OK: z120_test94 is correct, should be correct
+
+mscdocument z120_test94;
+msc Page_1;
+inst Instance1;
+Instance1: instance;
+action '_Action_test_';
+condition Condition_test shared;
+endinstance;
+endmsc;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ma...@us...> - 2012-07-26 06:21:32
|
Revision: 1445
http://scstudio.svn.sourceforge.net/scstudio/?rev=1445&view=rev
Author: madzin
Date: 2012-07-26 06:21:21 +0000 (Thu, 26 Jul 2012)
Log Message:
-----------
Draft of Mscgen support, the functionality is not tested properly and is not implemented in full range of mscgen semantics.
Modified Paths:
--------------
trunk/src/data/CMakeLists.txt
trunk/tests/CMakeLists.txt
Added Paths:
-----------
trunk/src/data/mscgen/
trunk/src/data/mscgen/CMakeLists.txt
trunk/src/data/mscgen/Mscgen.g
trunk/src/data/mscgen/MscgenContext.cpp
trunk/src/data/mscgen/MscgenContext.h
trunk/src/data/mscgen/MscgenContext_Impl.h
trunk/src/data/mscgen/display_error.cpp
trunk/src/data/mscgen/display_error.h
trunk/src/data/mscgen/export.h
trunk/src/data/mscgen/module.cpp
trunk/src/data/mscgen/mscgen.h
trunk/src/data/mscgen/mscgen_load.cpp
trunk/src/data/mscgen/string_list_printer.h
Modified: trunk/src/data/CMakeLists.txt
===================================================================
--- trunk/src/data/CMakeLists.txt 2012-07-22 07:52:20 UTC (rev 1444)
+++ trunk/src/data/CMakeLists.txt 2012-07-26 06:21:21 UTC (rev 1445)
@@ -45,6 +45,7 @@
# build import-export formatters
ADD_SUBDIRECTORY(engmann)
ADD_SUBDIRECTORY(Z120)
+ADD_SUBDIRECTORY(mscgen)
ADD_SUBDIRECTORY(modelchecking)
# build transformers
ADD_SUBDIRECTORY(beautify)
Added: trunk/src/data/mscgen/CMakeLists.txt
===================================================================
--- trunk/src/data/mscgen/CMakeLists.txt (rev 0)
+++ trunk/src/data/mscgen/CMakeLists.txt 2012-07-26 06:21:21 UTC (rev 1445)
@@ -0,0 +1,41 @@
+# do not make antlr a mandatory prerequisite
+IF(ANTLR_FOUND)
+ ADD_DEFINITIONS(-DHAVE_ANTLR)
+ INCLUDE_DIRECTORIES(${ANTLR_INCLUDE_DIR})
+
+ ADD_CUSTOM_COMMAND(
+ OUTPUT MscgenLexer.c MscgenLexer.h MscgenParser.c MscgenParser.h
+ COMMAND ${JAVA_RUNTIME} -classpath ${ANTLR_CLASSPATH} org.antlr.Tool Mscgen.g
+ DEPENDS Mscgen.g)
+
+ SET(PARSER_SOURCES
+ mscgen_load.cpp
+ Mscgen.g
+ MscgenContext.h
+ MscgenContext_Impl.h
+ MscgenContext.cpp
+ display_error.h
+ display_error.cpp
+ MscgenLexer.c
+ MscgenParser.c)
+
+ SET(PARSER_LIBRARIES
+ ${ANTLR_LIBRARIES})
+ENDIF(ANTLR_FOUND)
+
+ADD_LIBRARY(scmscgen SHARED
+ export.h
+ module.cpp
+ mscgen.h
+ ${PARSER_SOURCES}
+)
+
+TARGET_LINK_LIBRARIES(scmscgen
+ scmsc
+ ${PARSER_LIBRARIES}
+)
+
+INSTALL(TARGETS scmscgen
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib)
Added: trunk/src/data/mscgen/Mscgen.g
===================================================================
--- trunk/src/data/mscgen/Mscgen.g (rev 0)
+++ trunk/src/data/mscgen/Mscgen.g 2012-07-26 06:21:21 UTC (rev 1445)
@@ -0,0 +1,215 @@
+grammar Mscgen;
+
+options
+{
+ language = C;
+ k=3;
+}
+
+//TODO error reporting not tested yet
+@lexer::includes
+{
+ #include "data/mscgen/MscgenContext.h"
+ #include "data/mscgen/display_error.h"
+
+ struct s_Mscgen* printer;
+ void scstudio_lexer_error_reporting(pANTLR3_BASE_RECOGNIZER recognizer, pANTLR3_UINT8 *tokenNames);
+}
+
+@lexer::apifuncs
+{
+ RECOGNIZER->displayRecognitionError = &scstudio_lexer_error_reporting;
+}
+
+@lexer::members
+{
+ void scstudio_lexer_error_reporting(pANTLR3_BASE_RECOGNIZER recognizer, pANTLR3_UINT8 *tokenNames)
+ {
+ lexer_error(printer, recognizer, tokenNames);
+ }
+}
+
+@parser::includes
+{
+ #include "data/mscgen/MscgenContext.h"
+ #include "data/mscgen/display_error.h"
+ #include "data/mscgen/MscgenLexer.h"
+
+ void scstudio_error_reporting(pANTLR3_BASE_RECOGNIZER recognizer, pANTLR3_UINT8 *tokenNames);
+}
+
+@parser::apifuncs
+{
+ RECOGNIZER->displayRecognitionError = &scstudio_error_reporting;
+}
+
+@members
+{
+ struct MscgenContext* context;
+
+// void scstudio_error_reporting(pANTLR3_BASE_RECOGNIZER recognizer, pANTLR3_UINT8 *tokenNames)
+// {
+// display_error(context, recognizer, tokenNames);
+// }
+}
+
+fragment
+Letter:
+ 'a'..'z' | 'A'..'Z'
+;
+
+fragment
+Decimal_Digit:
+ '0'..'9'
+;
+
+String:
+ (Letter | Decimal_Digit | '_')+
+ | '"' ~('"')+ '"' // " comment added due to syntax highlighting
+;
+
+WHITESPACE:
+ ('\t' | ' ' | '\r' | '\n')+ { $channel = HIDDEN; }
+;
+
+LINE_COMMENT:
+ ('#' | '//') ~('\n'|'\r')* '\r'? '\n' {$channel=HIDDEN;}
+;
+
+COMMENT:
+ '/*' ( options {greedy=false;} : . )* '*/' {$channel=HIDDEN;}
+;
+
+msc [struct s_Mscgen* msc_gen] returns [struct s_Msc** mscs]:
+ {
+ context = new_context(msc_gen);
+ printer = msc_gen;
+ init(context);
+ }
+
+ (
+ 'msc' '{' optlist ';' entitylist ';' arclist ';' '}'
+ | 'msc' '{' entitylist ';' arclist ';' '}'
+ )
+
+ {
+ $mscs = get_total_msc(context);
+ delete_context(context);
+ }
+;
+
+optlist: opt (',' optlist)?
+;
+
+opt: optval '=' String
+;
+
+optval: 'hscale'
+ | 'width'
+ | 'arcgradient'
+ | 'wordwraparcs'
+;
+
+entitylist: entity (',' entitylist)? // list of entities a.k. list of instances
+ // entity (',' entity)*
+;
+
+
+entity:
+ String ('[' attrlist ']')* // entity definition,
+
+ { add_instance(context, (char*) $String.text->chars); }
+;
+
+arclist:
+ arc ((';' | ',') arclist)?
+;
+
+arc
+ @init { clean_message(context); }
+ :
+
+ ( arcrel ('[' attrlist ']')? { add_message(context); } )
+ | (graphics ('[' attrlist ']')?)
+;
+
+graphics:
+ '...'
+ | '---' // comment or action
+ | '|||' // space
+;
+
+arcrel:
+ String relation_box String // ask for semantics
+ | String relation_bi String // ask for semantics
+ | a=String relation_to b=String
+ { add_from_to(context, (char*) $a.text->chars, (char*) $b.text->chars); }
+ | String relation_line String // ask for semantics
+ | a=String relation_from b=String
+ { add_from_to(context, (char*) $b.text->chars, (char*) $a.text->chars); }
+ | a=String relation_to b='*' // broadcast
+ { add_from_to(context, (char*) $a.text->chars, (char*) $b.text->chars); }
+ | a='*' relation_from b=String // broadcast
+ { add_from_to(context, (char*) $b.text->chars, (char*) $a.text->chars); }
+;
+
+relation_box: 'box'
+ | 'abox'
+ | 'rbox'
+ | 'note'
+;
+
+relation_line: '--'
+ | '=='
+ | '..'
+ | '::'
+;
+
+relation_bi: '<->'
+ | '<=>'
+ | '<.>'
+ | '<<=>>'
+ | '<:>'
+;
+
+relation_to: '->' // message
+ | '=>' // message
+ | '.>'
+ | '=>>' // message
+ | ':>' // message
+ | '-x' { add_lost_message_flag(context); } // lost message
+;
+
+relation_from: '<-' // message
+ | '<=' // message
+ | '<.' //
+ | '<<=' // message
+ | '<:' // message
+ | 'x-' { add_lost_message_flag(context); }// lost message
+;
+
+attrlist:
+ { clean_attributes(context); }
+
+ attr (',' attr)*
+;
+
+attr:
+ attrval '=' String
+
+ { add_attr(context, (char*) $attrval.text->chars, (char*) $String.text->chars); }
+;
+
+attrval:
+ 'label'
+ | 'url'
+ | 'id'
+ | 'idurl'
+ | 'linecolour'
+ | 'textcolour'
+ | 'textbgcolour'
+ | 'arclinecolour'
+ | 'arctextcolour'
+ | 'arctextbgcolour'
+ | 'arcskip'
+;
Added: trunk/src/data/mscgen/MscgenContext.cpp
===================================================================
--- trunk/src/data/mscgen/MscgenContext.cpp (rev 0)
+++ trunk/src/data/mscgen/MscgenContext.cpp 2012-07-26 06:21:21 UTC (rev 1445)
@@ -0,0 +1,202 @@
+/*
+ * scstudio - Sequence Chart Studio
+ * http://scstudio.sourceforge.net
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * Copyright (c) 2008 Matus Madzin <go...@ma...>
+ *
+ * $Id: Context.cpp 1439 2012-07-08 21:36:59Z madzin $
+ */
+
+/*
+ * we use ANTRL v3 (ANTLR 3.1.1)
+ * see http://www.antlr.org
+ */
+
+/*
+ * Maximal number of warning/error message is 34
+ */
+
+#ifndef __MscgenParserStruct__
+#define __MscgenParserStruct__
+
+#include "MscgenContext_Impl.h"
+
+/*
+ * Set beginning values
+ */
+void init(struct MscgenContext* context)
+{
+ context->msc = new BMsc(L"mscgen");
+ context->attributes = new Attributes;
+
+ context->attributes->label = "";
+ context->attributes->url = "";
+ context->attributes->id = "";
+ context->attributes->idurl = "";
+ context->attributes->linecolour = "";
+ context->attributes->textcolour = "";
+ context->attributes->textbgcolour = "";
+ context->attributes->arclinecolour = "";
+ context->attributes->arctextcolour = "";
+ context->attributes->arctextbgcolour = "";
+ context->attributes->arcskip = "";
+
+ context->message = new Message;
+
+ context->message->from = "";
+ context->message->to = "";
+ context->message->incomplete = false;
+
+ context->instances.clear();
+}
+
+/*
+ * Memory initialization.
+ */
+struct MscgenContext* new_context(struct s_Mscgen* mscgen)
+{
+ MscgenContext* context = new MscgenContext;
+
+ //TODO
+ if(mscgen == NULL)
+ std::cerr << "Fatal error" << std::endl;
+
+ context->mscgen = static_cast<Mscgen*> (mscgen);
+
+ return context;
+}
+
+/*
+ * Free memory space
+ */
+void delete_context(struct MscgenContext* context)
+{
+ delete context;
+}
+
+void add_instance(struct MscgenContext* context, char* name)
+{
+ InstancePtr instance = new Instance(TOWSTRING(context->attributes->label));
+ StrictOrderAreaPtr strict(new StrictOrderArea());
+ instance->add_area(strict);
+
+ context->msc->add_instance(instance);
+ context->instances.insert(std::make_pair(name, instance));
+}
+
+void add_from_to(struct MscgenContext* context, char* from, char* to)
+{
+ context->message->from = from;
+ context->message->to = to;
+}
+
+void add_message(struct MscgenContext* context)
+{
+ InstancePtr instance_from = context->instances[context->message->from];
+ EventPtr event_from = instance_from->get_last()->add_event();
+
+ InstancePtr instance_to;
+ EventPtr event_to;
+
+ // complete message
+ if(!context->message->incomplete)
+ {
+ instance_to = context->instances[context->message->to];
+ event_to = instance_to->get_last()->add_event();
+
+ CompleteMessagePtr message = new CompleteMessage(TOWSTRING(context->attributes->label));
+ message->glue_events(event_from, event_to);
+
+ return ;
+ }
+
+ // incomplete message
+ //TODO the third parameter in constructor is (not) supposed to be filled???? what is the semantics of the third parameter?
+ IncompleteMessagePtr message = new IncompleteMessage(LOST, TOWSTRING(context->attributes->label));
+ message->glue_event(event_from);
+}
+
+void clean_attributes(struct MscgenContext* context)
+{
+ context->attributes->label = "";
+ context->attributes->url = "";
+ context->attributes->id = "";
+ context->attributes->idurl = "";
+ context->attributes->linecolour = "";
+ context->attributes->textcolour = "";
+ context->attributes->textbgcolour = "";
+ context->attributes->arclinecolour = "";
+ context->attributes->arctextcolour = "";
+ context->attributes->arctextbgcolour = "";
+ context->attributes->arcskip = "";
+}
+
+void clean_message(struct MscgenContext* context)
+{
+ context->message->from = "";
+ context->message->to = "";
+ context->message->incomplete = false;
+}
+
+void add_lost_message_flag(struct MscgenContext* context)
+{
+ context->message->incomplete = true;
+}
+
+void add_attr(struct MscgenContext* context, char* name, char* value)
+{
+ std::string s_name = name;
+ std::string s_value = value;
+
+ const char* attr[] = {"label", "url", "id", "idurl", "linecolour", "textcolour", "textbgcolour", "arclinecolour", "arctextcolour", "arctextbgcolour", "arcskip"};
+ size_t index = std::find(attr, attr+10, s_name) - attr; //returns an index in array
+
+ //remove all '"' from the string which is stored in value
+ s_value.erase(std::remove(s_value.begin(), s_value.end(), '"'), s_value.end());
+
+ switch(index)
+ {
+ case 0: context->attributes->label = s_value; break;
+ case 1: context->attributes->url = s_value; break;
+ case 2: context->attributes->id = s_value; break;
+ case 3: context->attributes->idurl = s_value; break;
+ case 4: context->attributes->linecolour = s_value; break;
+ case 5: context->attributes->textcolour = s_value; break;
+ case 6: context->attributes->textbgcolour = s_value; break;
+ case 7: context->attributes->arclinecolour = s_value; break;
+ case 8: context->attributes->arctextcolour = s_value; break;
+ case 9: context->attributes->arctextbgcolour = s_value; break;
+ case 10: context->attributes->arcskip = s_value; break;
+ default: context->mscgen->print_report(RS_WARNING, stringize() << L"Warning 01: Unknown attribute " << TOWSTRING(s_name) << L".");
+ }
+}
+
+struct s_Msc** get_total_msc(struct MscgenContext* context)
+{
+ s_Msc** result = NULL;
+ Msc* msc = context->msc.get();
+
+ if(msc == NULL)
+ return result;
+
+ result = new s_Msc*[2];
+
+ intrusive_ptr_add_ref(msc);
+ result[0] = static_cast<s_Msc*>(msc);
+ result[1] = NULL;
+
+ return result;
+}
+
+#endif
+
+// $Id: Context.cpp 1439 2012-07-08 21:36:59Z madzin $
Added: trunk/src/data/mscgen/MscgenContext.h
===================================================================
--- trunk/src/data/mscgen/MscgenContext.h (rev 0)
+++ trunk/src/data/mscgen/MscgenContext.h 2012-07-26 06:21:21 UTC (rev 1445)
@@ -0,0 +1,66 @@
+/*
+ * scstudio - Sequence Chart Studio
+ * http://scstudio.sourceforge.net
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * Copyright (c) 2008 Matus Madzin <go...@ma...>
+ *
+ * $Id: Context.h 1439 2012-07-08 21:36:59Z madzin $
+ */
+
+#ifndef _MSCGEN_CONTEXT_H
+#define _MSCGEN_CONTEXT_H
+
+/*
+ * we use ANTRL v3 (ANTLR 3.1.1)
+ * see http://www.antlr.org
+ */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct MscgenContext;
+struct s_Msc;
+struct s_Mscgen;
+
+struct Message;
+struct Attributes;
+
+struct MscgenContext* new_context(struct s_Mscgen* mscgen);
+
+void init(struct MscgenContext* context);
+
+void delete_context(struct MscgenContext* context);
+
+void add_instance(struct MscgenContext* context, char* name);
+
+void add_from_to(struct MscgenContext* context, char* from, char* to);
+
+void add_message(struct MscgenContext* context);
+
+void clean_attributes(struct MscgenContext* context);
+
+void clean_message(struct MscgenContext* context);
+
+void add_lost_message_flag(struct MscgenContext* context);
+
+void add_attr(struct MscgenContext* context, char* name, char* value);
+
+struct s_Msc** get_total_msc(struct MscgenContext* context);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MSCGEN_CONTEXT_H */
+
+// $Id: Context.h 1439 2012-07-08 21:36:59Z madzin $
Added: trunk/src/data/mscgen/MscgenContext_Impl.h
===================================================================
--- trunk/src/data/mscgen/MscgenContext_Impl.h (rev 0)
+++ trunk/src/data/mscgen/MscgenContext_Impl.h 2012-07-26 06:21:21 UTC (rev 1445)
@@ -0,0 +1,81 @@
+/*
+ * scstudio - Sequence Chart Studio
+ * http://scstudio.sourceforge.net
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * Copyright (c) 2008 Matus Madzin <go...@ma...>
+ *
+ * $Id: Context_Impl.h 1439 2012-07-08 21:36:59Z madzin $
+ */
+
+/*
+ * we use ANTRL v3 (ANTLR 3.1.1)
+ * see http://www.antlr.org
+ */
+
+#ifndef _MscgenContext_Impl_
+#define _MscgenContext_Impl_
+
+#include "data/mscgen/MscgenContext.h"
+#include <stdlib.h>
+#include <string>
+#include <iostream>
+#include <map>
+#include <vector>
+#include <list>
+#include <set>
+#include "data/msc.h"
+#include "mscgen.h"
+
+enum hmsc_node_type {reference, connection, condition};
+
+
+struct MscgenContext
+{
+ BMscPtr msc;
+ Message* message;
+ Attributes* attributes;
+ Mscgen* mscgen;
+
+ std::map<std::string, InstancePtr> instances;
+
+ ~MscgenContext() {}
+};
+
+struct Message
+{
+ std::string from;
+ std::string to;
+ bool incomplete;
+
+ ~Message() {}
+};
+
+struct Attributes
+{
+ std::string label;
+ std::string url;
+ std::string id;
+ std::string idurl;
+ std::string linecolour;
+ std::string textcolour;
+ std::string textbgcolour;
+ std::string arclinecolour;
+ std::string arctextcolour;
+ std::string arctextbgcolour;
+ std::string arcskip;
+
+ ~Attributes() {}
+};
+
+#endif // _MscgenContext_Impl_
+
+// $Id: Context_Impl.h 1439 2012-07-08 21:36:59Z madzin $
Added: trunk/src/data/mscgen/display_error.cpp
===================================================================
--- trunk/src/data/mscgen/display_error.cpp (rev 0)
+++ trunk/src/data/mscgen/display_error.cpp 2012-07-26 06:21:21 UTC (rev 1445)
@@ -0,0 +1,272 @@
+#include "data/mscgen/display_error.h"
+#include "data/mscgen/MscgenContext_Impl.h"
+
+// Implementation based on src/runtime/C/antlr3baserecognizer.c, display()
+
+void reportError (pANTLR3_BASE_RECOGNIZER recognizer)
+{
+ if (recognizer->state->errorRecovery == ANTLR3_TRUE)
+ {
+ return;
+ }
+
+ // Signal we are in error recovery now
+ recognizer->state->errorRecovery = ANTLR3_TRUE;
+
+ // Indicate this recognizer had an error while processing.
+ recognizer->state->errorCount++;
+
+ // Call the error display routine
+ recognizer->displayRecognitionError(recognizer, recognizer->state->tokenNames);
+}
+
+void display_error(struct MscgenContext* context, pANTLR3_BASE_RECOGNIZER recognizer, pANTLR3_UINT8 *tokenNames)
+{
+ stringize report;
+
+ // Retrieve some info for easy reading.
+ pANTLR3_EXCEPTION ex = recognizer->state->exception;
+ pANTLR3_COMMON_TOKEN theToken= (pANTLR3_COMMON_TOKEN)(recognizer->state->exception->token);
+
+ // See if there is a 'filename' we can use
+ if (ex->streamName == NULL)
+ {
+ if (((pANTLR3_COMMON_TOKEN)(ex->token))->type == ANTLR3_TOKEN_EOF)
+ {
+ report << "<EOF>";
+ }
+ else
+ {
+ report << "<unknown>";
+ }
+ }
+ else
+ {
+ pANTLR3_STRING ftext = ex->streamName->to8(ex->streamName);
+
+ char* last_slash = (char *)ftext->chars;
+ bool slash_present = false;
+ // strip file path
+ for(char *ch = (char *)ftext->chars; *ch != 0; ch++)
+ {
+ if(*ch == '\\' || *ch == '/')
+ {
+ last_slash = ch;
+ slash_present = true;
+ }
+ }
+
+ if(slash_present)
+ {
+ report << last_slash+1
+ << "[" << theToken->getLine(theToken)
+ << "," << theToken->getCharPositionInLine(theToken) << "]";
+ }
+ else
+ {
+ report << last_slash
+ << "[" << theToken->getLine(theToken)
+ << "," << theToken->getCharPositionInLine(theToken) << "]";
+ }
+ }
+
+ report << " ";
+
+ // Note that in the general case, errors thrown by tree parsers indicate a problem
+ // with the output of the parser or with the tree grammar itself. The job of the parser
+ // is to produce a perfect (in traversal terms) syntactically correct tree, so errors
+ // at that stage should really be semantic errors that your own code determines and handles
+ // in whatever way is appropriate.
+ switch (ex->type)
+ {
+ case ANTLR3_UNWANTED_TOKEN_EXCEPTION:
+
+ // Indicates that the recognizer was fed a token which seesm to be
+ // spurious input. We can detect this when the token that follows
+ // this unwanted token would normally be part of the syntactically
+ // correct stream. Then we can see that the token we are looking at
+ // is just something that should not be there and throw this exception.
+ if (tokenNames == NULL)
+ {
+ report << "Unwanted input";
+ }
+ else
+ {
+ if (ex->expecting == ANTLR3_TOKEN_EOF)
+ {
+ report << "Unwanted input: expected <EOF>";
+ }
+ else
+ {
+ report << "Unwanted input: expected " << (char*)(tokenNames[ex->expecting]);
+ }
+ }
+ break;
+
+ case ANTLR3_MISSING_TOKEN_EXCEPTION:
+
+ // Indicates that the recognizer detected that the token we just
+ // hit would be valid syntactically if preceeded by a particular
+ // token. Perhaps a missing ';' at line end or a missing ',' in an
+ // expression list, and such like.
+ if (tokenNames == NULL)
+ {
+ report << "Missing token (" << ex->expecting << ")";
+ }
+ else
+ {
+ if (ex->expecting == ANTLR3_TOKEN_EOF)
+ {
+ report << "Missing <EOF>";
+ }
+ else
+ {
+ report << "Missing " << (char*)(tokenNames[ex->expecting]);
+ }
+ }
+ break;
+
+ case ANTLR3_RECOGNITION_EXCEPTION:
+
+ // Indicates that the recognizer received a token
+ // in the input that was not predicted. This is the basic exception type
+ // from which all others are derived. So we assume it was a syntax error.
+ // You may get this if there are not more tokens and more are needed
+ // to complete a parse for instance.
+ report << "Syntax error";
+ break;
+
+ case ANTLR3_MISMATCHED_TOKEN_EXCEPTION:
+
+ // We were expecting to see one thing and got another. This is the
+ // most common error if we coudl not detect a missing or unwanted token.
+ // Here you can spend your efforts to
+ // derive more useful error messages based on the expected
+ // token set and the last token and so on. The error following
+ // bitmaps do a good job of reducing the set that we were looking
+ // for down to something small. Knowing what you are parsing may be
+ // able to allow you to be even more specific about an error.
+ if (tokenNames == NULL)
+ {
+ report << "Syntax error";
+ }
+ else
+ {
+ if (ex->expecting == ANTLR3_TOKEN_EOF)
+ {
+ report << "Expected <EOF>";
+ }
+ else
+ {
+ report << "Expected " << tokenNames[ex->expecting];
+ }
+ }
+ break;
+
+ case ANTLR3_NO_VIABLE_ALT_EXCEPTION:
+
+ // We could not pick any alt decision from the input given
+ // so god knows what happened - however when you examine your grammar,
+ // you should. It means that at the point where the current token occurred
+ // that the DFA indicates nowhere to go from here.
+ report << "Cannot match to any predicted input";
+ break;
+
+ case ANTLR3_MISMATCHED_SET_EXCEPTION:
+ {
+
+ // This means we were able to deal with one of a set of
+ // possible tokens at this point, but we did not see any
+ // member of that set.
+ report << "Unexpected input";
+
+ // What tokens could we have accepted at this point in the parse?
+ pANTLR3_BITSET errBits = antlr3BitsetLoad(ex->expectingSet);
+ ANTLR3_UINT32 numbits = errBits->numBits(errBits);
+ ANTLR3_UINT32 size = errBits->size(errBits);
+
+ if (size > 0)
+ {
+ ANTLR3_UINT32 count = 0;
+ report << ": expected one of";
+
+ // However many tokens we could have dealt with here, it is usually
+ // not useful to print ALL of the set here. I arbitrarily chose 8
+ // here, but you should do whatever makes sense for you of course.
+ // No token number 0, so look for bit 1 and on.
+ for(ANTLR3_UINT32 bit = 1; bit < numbits && count < 8 && count < size; bit++)
+ {
+ // TODO: This doesn;t look right - should be asking if the bit is set!!
+ if (tokenNames[bit])
+ {
+ report << (count > 0 ? ", " : " ") << "<" << tokenNames[bit] << ">";
+ count++;
+ }
+ }
+ }
+
+ break;
+ }
+
+ case ANTLR3_EARLY_EXIT_EXCEPTION:
+
+ // We entered a loop requiring a number of token sequences
+ // but found a token that ended that sequence earlier than
+ // we should have done.
+ report << "Missing elements";
+ break;
+
+ default:
+
+ // We don't handle any other exceptions here, but you can
+ // if you wish. If we get an exception that hits this point
+ // then we are just going to report what we know about the
+ // token.
+ report << "Syntax not recognized";
+ break;
+ }
+
+ report << ".";
+
+ context->mscgen->print_report(RS_ERROR, report);
+}
+
+void lexer_error(struct s_Mscgen* mscgen, pANTLR3_BASE_RECOGNIZER recognizer, pANTLR3_UINT8 *tokenNames)
+{
+ Mscgen* printer = static_cast<Mscgen*> (mscgen);
+ stringize report;
+
+ // Retrieve some info for easy reading.
+ pANTLR3_LEXER lexer = (pANTLR3_LEXER)(recognizer->super);
+ pANTLR3_EXCEPTION ex = lexer->rec->state->exception;
+
+ // See if there is a 'filename' we can use
+ if(ex->name == NULL)
+ report << "-unknown source-";
+ else
+ {
+ pANTLR3_STRING ftext = ex->streamName->to8(ex->streamName);
+
+ char* last_slash = (char *)ftext->chars;
+ bool slash_present = false;
+ // strip file path
+ for(char *ch = (char *)ftext->chars; *ch != 0; ch++)
+ {
+ if(*ch == '\\' || *ch == '/')
+ {
+ last_slash = ch;
+ slash_present = true;
+ }
+ }
+
+ if(slash_present)
+ report << last_slash+1;
+ else
+ report << last_slash;
+ }
+ report << "[" << recognizer->state->exception->line << "," << ex->charPositionInLine+1 << "] Lexer error.";
+
+ printer->print_report(RS_ERROR, report);
+}
+
+// $Id: display_error.cpp 1013 2010-12-13 16:34:52Z madzin $
Added: trunk/src/data/mscgen/display_error.h
===================================================================
--- trunk/src/data/mscgen/display_error.h (rev 0)
+++ trunk/src/data/mscgen/display_error.h 2012-07-26 06:21:21 UTC (rev 1445)
@@ -0,0 +1,22 @@
+#ifndef _MscgenDisplay_H
+#define _MscgenDisplay_H
+
+#include<antlr3.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void reportError (pANTLR3_BASE_RECOGNIZER recognizer);
+
+void display_error(struct MscgenContext* context, pANTLR3_BASE_RECOGNIZER recognizer, pANTLR3_UINT8 *tokenNames);
+
+void lexer_error(struct s_Mscgen* z, pANTLR3_BASE_RECOGNIZER recognizer, pANTLR3_UINT8 *tokenNames);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // _MscgenDisplay_H
+
+// $Id: display_error.h 1006 2010-12-08 20:34:49Z madzin $
Added: trunk/src/data/mscgen/export.h
===================================================================
--- trunk/src/data/mscgen/export.h (rev 0)
+++ trunk/src/data/mscgen/export.h 2012-07-26 06:21:21 UTC (rev 1445)
@@ -0,0 +1,37 @@
+/*
+ * scstudio - Sequence Chart Studio
+ * http://scstudio.sourceforge.net
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * Copyright (c) 2008 Petr Gotthard <pet...@ce...>
+ *
+ * $Id: export.h 146 2009-01-03 16:08:45Z gotthardp $
+ */
+
+#ifndef _SCMSCGEN_EXPORT_H
+#define _SCMSCGEN_EXPORT_H
+
+#if defined(_MSC_VER)
+#pragma warning(disable: 4251)
+
+#if defined(scMSCGEN_EXPORTS)
+#define SCMSCGEN_EXPORT __declspec(dllexport)
+#else
+#define SCMSCGEN_EXPORT __declspec(dllimport)
+#endif
+
+#else
+#define SCMSCGEN_EXPORT
+#endif
+
+#endif /* _SCMSCGEN_EXPORT_H */
+
+// $Id: export.h 146 2009-01-03 16:08:45Z gotthardp $
Added: trunk/src/data/mscgen/module.cpp
===================================================================
--- trunk/src/data/mscgen/module.cpp (rev 0)
+++ trunk/src/data/mscgen/module.cpp 2012-07-26 06:21:21 UTC (rev 1445)
@@ -0,0 +1,33 @@
+/*
+ * scstudio - Sequence Chart Studio
+ * http://scstudio.sourceforge.net
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * Copyright (c) 2009 Petr Gotthard <pet...@ce...>
+ *
+ * $Id: module.cpp 1377 2012-04-12 17:52:43Z lkorenciak $
+ */
+
+#include "data/mscgen/mscgen.h"
+
+// module initialization function
+// note: the Visio add-on searches for a function of this name
+extern "C" SCMSCGEN_EXPORT
+Formatter** init_formatters()
+{
+ For...
[truncated message content] |
|
From: <ma...@us...> - 2012-08-14 09:30:56
|
Revision: 1449
http://scstudio.svn.sourceforge.net/scstudio/?rev=1449&view=rev
Author: madzin
Date: 2012-08-14 09:30:48 +0000 (Tue, 14 Aug 2012)
Log Message:
-----------
Fix a HMSC Diff output message. Change the green color in the output.
Modified Paths:
--------------
trunk/src/data/searcher.h
trunk/src/membership/membership_alg.cpp
trunk/src/scstudio.cpp
trunk/src/view/visio/addon/document.cpp
trunk/src/view/visio/addon/enums.h
trunk/src/view/visio/addon/visualize.cpp
trunk/src/view/visio/addon/visualize.h
trunk/tests/diff/diff_test.cpp
trunk/tests/membership/membership_test.cpp
Modified: trunk/src/data/searcher.h
===================================================================
--- trunk/src/data/searcher.h 2012-08-14 07:48:28 UTC (rev 1448)
+++ trunk/src/data/searcher.h 2012-08-14 09:30:48 UTC (rev 1449)
@@ -38,7 +38,7 @@
{
enum TReportSeverity msg_type;
std::wstring msg;
- std::vector<MscPtr> counterexamples;
+ std::list<MscPtr> counterexamples;
private:
//! Number of references to this object.
@@ -50,7 +50,7 @@
public:
- SearcherResult(enum TReportSeverity type, std::wstring msg, std::vector<MscPtr> examples)
+ SearcherResult(enum TReportSeverity type, std::wstring msg, std::list<MscPtr> examples)
{
this->msg_type = type;
this->msg = msg;
@@ -68,7 +68,7 @@
return msg;
}
- std::vector<MscPtr> get_counterexamples()
+ std::list<MscPtr> get_counterexamples()
{
return counterexamples;
}
Modified: trunk/src/membership/membership_alg.cpp
===================================================================
--- trunk/src/membership/membership_alg.cpp 2012-08-14 07:48:28 UTC (rev 1448)
+++ trunk/src/membership/membership_alg.cpp 2012-08-14 09:30:48 UTC (rev 1449)
@@ -108,10 +108,10 @@
std::wstring msg = L"Flow \"" + bmsc->get_label() + L"\" not found. Unsatisfied time constraint(s) ";
msg += L"(red intervals are not satisfied, blue intervals are partially satisfied): ";
- std::vector<MscPtr> result_vec;
- result_vec.push_back(result);
+ std::list<MscPtr> result_list;
+ result_list.push_back(result);
- messages.push_back(new SearcherResult(RS_ERROR, msg, result_vec));
+ messages.push_back(new SearcherResult(RS_ERROR, msg, result_list));
c->clear_attributed_events();
delete c;
@@ -122,10 +122,10 @@
{
std::wstring msg = L"Flow \"" + bmsc->get_label() + L"\" not found. Unsatisfied time constraint(s). Some interval(s) are only partially satisfied: ";
- std::vector<MscPtr> result_vec;
- result_vec.push_back(result);
+ std::list<MscPtr> result_list;
+ result_list.push_back(result);
- messages.push_back(new SearcherResult(RS_ERROR, msg, result_vec));
+ messages.push_back(new SearcherResult(RS_ERROR, msg, result_list));
c->clear_attributed_events();
delete c;
@@ -133,14 +133,14 @@
}
std::wstring msg = L"Flow \"" + bmsc->get_label() + L"\" found";
- std::vector<MscPtr> result_vec;
+ std::list<MscPtr> result_list;
if(!instances.empty())
msg += L" on instances: " + focused_instance_names;
msg += L".";
- messages.push_back(new SearcherResult(RS_NOTICE, msg, result_vec));
+ messages.push_back(new SearcherResult(RS_NOTICE, msg, result_list));
c->clear_attributed_events();
delete c;
@@ -200,11 +200,10 @@
std::wstring msg;
msg = L"Flow \"" + bmsc_f->get_label() + L"\" not found. Diff: ";
- std::vector<MscPtr> diff_result;
+ std::list<MscPtr> diff_result;
diff_result.push_back(result);
- messages.push_back(new SearcherResult(RS_ERROR, msg, diff_result));
-
+ messages.push_back(new SearcherResult(RS_ERROR, msg, diff_result));
}
c->clear_attributed_events();
@@ -217,10 +216,10 @@
std::wstring msg = L"Flow \"" + bmsc_f->get_label() + L"\" not found. Unsatisfied time constraint(s) ";
msg += L"(red intervals are not satisfied, blue intervals are partially satisfied): ";
- std::vector<MscPtr> result_vec;
- result_vec.push_back(result);
+ std::list<MscPtr> result_list;
+ result_list.push_back(result);
- messages.push_back(new SearcherResult(RS_ERROR, msg, result_vec));
+ messages.push_back(new SearcherResult(RS_ERROR, msg, result_list));
c->clear_attributed_events();
delete c;
@@ -231,10 +230,10 @@
{
std::wstring msg = L"Flow \"" + bmsc_f->get_label() + L"\" not found. Unsatisfied time constraint(s). Some interval(s) are only partially satisfied: ";
- std::vector<MscPtr> result_vec;
- result_vec.push_back(result);
+ std::list<MscPtr> result_list;
+ result_list.push_back(result);
- messages.push_back(new SearcherResult(RS_ERROR, msg, result_vec));
+ messages.push_back(new SearcherResult(RS_ERROR, msg, result_list));
c->clear_attributed_events();
delete c;
@@ -312,7 +311,7 @@
find_flow(dup_msc, msc_for_cover[i], instances, msg);
}
- std::vector<MscPtr> msc_cover;
+ std::list<MscPtr> msc_cover;
msc_cover.push_back(dup_msc);
if(msc_for_cover.size() > 1)
@@ -1385,11 +1384,11 @@
std::wstring msg = L"Flow \"" + c->get_bmsc()->get_label() + L"\" not found.";
msg += L" Diff is not available (specification contains coregion).";
- std::vector<MscPtr> result_vec;
- return new SearcherResult(RS_ERROR, msg, result_vec);
+ std::list<MscPtr> result_list;
+ return new SearcherResult(RS_ERROR, msg, result_list);
}
- std::vector<MscPtr> result_vec;
+ std::list<MscPtr> result_list;
std::wstring msg = L"Flow \"" + c->get_bmsc()->get_label() + L"\" not found.";
msg += L" Diff is available (HMSC path + diff):";
@@ -1400,7 +1399,7 @@
throw std::runtime_error("Unexpected behaviour.");
MscPtr result = make_result(c, spec);
- result_vec.push_back(result);
+ result_list.push_back(result);
/* DIFF */
//transform path to the list
@@ -1426,10 +1425,10 @@
// make diff
result = diff(c_diff, path_bmsc, flows);
// store result
- result_vec.push_back(result);
+ result_list.push_back(result);
c_diff->clear_attributed_events();
delete c_diff;
- return new SearcherResult(RS_ERROR, msg, result_vec);
+ return new SearcherResult(RS_ERROR, msg, result_list);
}
Modified: trunk/src/scstudio.cpp
===================================================================
--- trunk/src/scstudio.cpp 2012-08-14 07:48:28 UTC (rev 1448)
+++ trunk/src/scstudio.cpp 2012-08-14 09:30:48 UTC (rev 1449)
@@ -585,10 +585,14 @@
{
try
{
+ std::list<MscPtr>::iterator list_it;
+
std::wcout << (*vec_it)->get_msg() << std::endl; //TODO change to cout
- for(unsigned int i = 0; i < (*vec_it)->get_counterexamples().size(); i++)
+ for(list_it = (*vec_it)->get_counterexamples().begin();
+ list_it != (*vec_it)->get_counterexamples().end();
+ list_it++)
{
- z120.save_msc(std::cout, L"msc_diff", (*vec_it)->get_counterexamples().at(i));
+ z120.save_msc(std::cout, L"msc_diff", *list_it);
}
}
catch(std::exception& exc)
@@ -747,10 +751,14 @@
{
try
{
+ std::list<MscPtr>::iterator list_it;
+
std::wcout << (*vec_it)->get_msg() << std::endl; //TODO change to cout
- for(unsigned int i = 0; i < (*vec_it)->get_counterexamples().size(); i++)
+ for(list_it = (*vec_it)->get_counterexamples().begin();
+ list_it != (*vec_it)->get_counterexamples().end();
+ list_it++)
{
- z120.save_msc(std::cout, TOWSTRING(specification), (*vec_it)->get_counterexamples().at(i));
+ z120.save_msc(std::cout, TOWSTRING(specification), *list_it);
}
}
catch(std::exception& exc)
Modified: trunk/src/view/visio/addon/document.cpp
===================================================================
--- trunk/src/view/visio/addon/document.cpp 2012-08-14 07:48:28 UTC (rev 1448)
+++ trunk/src/view/visio/addon/document.cpp 2012-08-14 09:30:48 UTC (rev 1449)
@@ -1085,7 +1085,7 @@
if((*result_it)->get_counterexamples().empty())
m_reportView->Print((*result_it)->get_msg_type(), (*result_it)->get_msg());
else
- m_reportView->Print((*result_it)->get_msg_type(), (*result_it)->get_msg(), (*result_it)->get_counterexamples().front());
+ m_reportView->Print((*result_it)->get_msg_type(), (*result_it)->get_msg(), (*result_it)->get_counterexamples());
}
return VAORC_SUCCESS;
Modified: trunk/src/view/visio/addon/enums.h
===================================================================
--- trunk/src/view/visio/addon/enums.h 2012-08-14 07:48:28 UTC (rev 1448)
+++ trunk/src/view/visio/addon/enums.h 2012-08-14 09:30:48 UTC (rev 1449)
@@ -82,6 +82,9 @@
SC_BLUE,
SC_YELLOW,
SC_PINK,
+ SC_CYAN,
+ SC_BROWN,
+ SC_DARK_GREEN,
};
enum ToolbarFlags
Modified: trunk/src/view/visio/addon/visualize.cpp
===================================================================
--- trunk/src/view/visio/addon/visualize.cpp 2012-08-14 07:48:28 UTC (rev 1448)
+++ trunk/src/view/visio/addon/visualize.cpp 2012-08-14 09:30:48 UTC (rev 1449)
@@ -282,7 +282,7 @@
{
case NONE: CShapeUtils::MarkShape(msg, SC_BLACK); break;
case MARKED: CShapeUtils::MarkShape(msg, SC_RED); break;
- case ADDED: CShapeUtils::MarkShape(msg, SC_GREEN); break;
+ case ADDED: CShapeUtils::MarkShape(msg, SC_DARK_GREEN); break;
case REMOVED: CShapeUtils::MarkShape(msg, SC_RED); break;
default: throw std::runtime_error("Error: unexpected behaviour");
}
@@ -429,7 +429,7 @@
{
case NONE: CShapeUtils::MarkShape(result, SC_BLACK); break;
case MARKED: CShapeUtils::MarkShape(result, SC_RED); break;
- case ADDED: CShapeUtils::MarkShape(result, SC_GREEN); break;
+ case ADDED: CShapeUtils::MarkShape(result, SC_DARK_GREEN); break;
case REMOVED: CShapeUtils::MarkShape(result, SC_RED); break;
case NOT_COVER: CShapeUtils::MarkShape(result, SC_RED); break;
case NOT_FULL_COVER: CShapeUtils::MarkShape(result, SC_BLUE); break;
@@ -490,7 +490,7 @@
{
case NONE: CShapeUtils::MarkShape(text, SC_BLACK); break;
case MARKED: CShapeUtils::MarkShape(text, SC_RED); break;
- case ADDED: CShapeUtils::MarkShape(text, SC_GREEN); break;
+ case ADDED: CShapeUtils::MarkShape(text, SC_DARK_GREEN); break;
case REMOVED: CShapeUtils::MarkShape(text, SC_RED); break;
default: throw std::runtime_error("Error: unexpected behaviour");
}
@@ -520,7 +520,7 @@
{
case NONE: CShapeUtils::MarkShape(inst, SC_BLACK); break;
case MARKED: CShapeUtils::MarkShape(inst, SC_RED); break;
- case ADDED: CShapeUtils::MarkShape(inst, SC_GREEN); break;
+ case ADDED: CShapeUtils::MarkShape(inst, SC_DARK_GREEN); break;
case REMOVED: CShapeUtils::MarkShape(inst, SC_RED); break;
default: throw std::runtime_error("Error: unexpected behaviour");
}
@@ -569,7 +569,7 @@
{
case NONE: CShapeUtils::MarkShape(coregion, SC_BLACK); break;
case MARKED: CShapeUtils::MarkShape(coregion, SC_RED); break;
- case ADDED: CShapeUtils::MarkShape(coregion, SC_GREEN); break;
+ case ADDED: CShapeUtils::MarkShape(coregion, SC_DARK_GREEN); break;
case REMOVED: CShapeUtils::MarkShape(coregion, SC_RED); break;
default: throw std::runtime_error("Error: unexpected behaviour");
}
@@ -607,7 +607,7 @@
{
case NONE: CShapeUtils::MarkShape(connector, SC_BLACK); break;
case MARKED: CShapeUtils::MarkShape(connector, SC_RED); break;
- case ADDED: CShapeUtils::MarkShape(connector, SC_GREEN); break;
+ case ADDED: CShapeUtils::MarkShape(connector, SC_DARK_GREEN); break;
case REMOVED: CShapeUtils::MarkShape(connector, SC_RED); break;
default: throw std::runtime_error("Error: unexpected behaviour");
}
@@ -672,9 +672,9 @@
{
case NONE: CShapeUtils::MarkShape(shape, SC_BLACK); break;
case MARKED: CShapeUtils::MarkShape(shape, SC_RED); break;
- case ADDED: CShapeUtils::MarkShape(shape, SC_GREEN); break;
+ case ADDED: CShapeUtils::MarkShape(shape, SC_DARK_GREEN); break;
case REMOVED: CShapeUtils::MarkShape(shape, SC_RED); break;
- case PATH: CShapeUtils::MarkShape(shape, SC_GREEN); break;
+ case PATH: CShapeUtils::MarkShape(shape, SC_DARK_GREEN); break;
default: throw std::runtime_error("Error: unexpected behaviour");
}
@@ -767,9 +767,9 @@
{
case NONE: CShapeUtils::MarkShape(connector, SC_BLACK); break;
case MARKED: CShapeUtils::MarkShape(connector, SC_RED); break;
- case ADDED: CShapeUtils::MarkShape(connector, SC_GREEN); break;
+ case ADDED: CShapeUtils::MarkShape(connector, SC_DARK_GREEN); break;
case REMOVED: CShapeUtils::MarkShape(connector, SC_RED); break;
- case PATH: CShapeUtils::MarkShape(connector, SC_GREEN); break;
+ case PATH: CShapeUtils::MarkShape(connector, SC_DARK_GREEN); break;
default: throw std::runtime_error("Error: unexpected behaviour");
}
@@ -814,9 +814,9 @@
{
case NONE: CShapeUtils::MarkShape(commentShape, SC_BLACK); break;
case MARKED: CShapeUtils::MarkShape(commentShape, SC_RED); break;
- case ADDED: CShapeUtils::MarkShape(commentShape, SC_GREEN); break;
+ case ADDED: CShapeUtils::MarkShape(commentShape, SC_DARK_GREEN); break;
case REMOVED: CShapeUtils::MarkShape(commentShape, SC_RED); break;
- case PATH: CShapeUtils::MarkShape(commentShape, SC_GREEN); break;
+ case PATH: CShapeUtils::MarkShape(commentShape, SC_DARK_GREEN); break;
default: throw std::runtime_error("Error: unexpected behaviour");
}
// CShapeUtils::MarkShape(commentShape);
Modified: trunk/src/view/visio/addon/visualize.h
===================================================================
--- trunk/src/view/visio/addon/visualize.h 2012-08-14 07:48:28 UTC (rev 1448)
+++ trunk/src/view/visio/addon/visualize.h 2012-08-14 09:30:48 UTC (rev 1449)
@@ -86,7 +86,7 @@
{
case NONE: CShapeUtils::MarkShape(result, SC_BLACK); break;
case MARKED: CShapeUtils::MarkShape(result, SC_RED); break;
- case ADDED: CShapeUtils::MarkShape(result, SC_GREEN); break;
+ case ADDED: CShapeUtils::MarkShape(result, SC_DARK_GREEN); break;
case REMOVED: CShapeUtils::MarkShape(result, SC_RED); break;
default: throw std::runtime_error("Error: unexpected behaviour");
}
@@ -104,7 +104,7 @@
{
case NONE: CShapeUtils::MarkShape(result, SC_BLACK); break;
case MARKED: CShapeUtils::MarkShape(result, SC_RED); break;
- case ADDED: CShapeUtils::MarkShape(result, SC_GREEN); break;
+ case ADDED: CShapeUtils::MarkShape(result, SC_DARK_GREEN); break;
case REMOVED: CShapeUtils::MarkShape(result, SC_RED); break;
case NOT_COVER: CShapeUtils::MarkShape(result, SC_RED); break;
case NOT_FULL_COVER: CShapeUtils::MarkShape(result, SC_BLUE); break;
Modified: trunk/tests/diff/diff_test.cpp
===================================================================
--- trunk/tests/diff/diff_test.cpp 2012-08-14 07:48:28 UTC (rev 1448)
+++ trunk/tests/diff/diff_test.cpp 2012-08-14 09:30:48 UTC (rev 1449)
@@ -118,11 +118,15 @@
try
{
- std::vector<SearcherResultPtr>::iterator result_it;
+ std::vector<SearcherResultPtr>::iterator result_it;
+ std::list<MscPtr>::iterator list_it;
+
for(result_it = result.begin(); result_it != result.end(); result_it++)
{
- for(unsigned int i = 0; i < (*result_it)->get_counterexamples().size(); i++)
- z120.save_msc(std::cout, L"msc_diff", (*result_it)->get_counterexamples().at(i));
+ for(list_it = (*result_it)->get_counterexamples().begin();
+ list_it != (*result_it)->get_counterexamples().end();
+ list_it++)
+ z120.save_msc(std::cout, L"msc_diff", *list_it);
}
}
catch(std::exception& exc)
Modified: trunk/tests/membership/membership_test.cpp
===================================================================
--- trunk/tests/membership/membership_test.cpp 2012-08-14 07:48:28 UTC (rev 1448)
+++ trunk/tests/membership/membership_test.cpp 2012-08-14 09:30:48 UTC (rev 1449)
@@ -112,13 +112,16 @@
if(!result.empty())
{
std::vector<SearcherResultPtr>::iterator vec_it;
+ std::list<MscPtr>::iterator list_it;
for(vec_it = result.begin(); vec_it != result.end(); vec_it++)
{
std::wcerr << (*vec_it)->get_msg() << std::endl;
- for(unsigned int i = 0; i < (*vec_it)->get_counterexamples().size(); i++)
+ for(list_it = (*vec_it)->get_counterexamples().begin();
+ list_it != (*vec_it)->get_counterexamples().end();
+ list_it++)
{
- z120.save_msc(std::cout, TOWSTRING(filename), (*vec_it)->get_counterexamples().at(i));
+ z120.save_msc(std::cout, TOWSTRING(filename), *list_it);
}
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ma...@us...> - 2012-08-14 13:07:37
|
Revision: 1450
http://scstudio.svn.sourceforge.net/scstudio/?rev=1450&view=rev
Author: madzin
Date: 2012-08-14 13:07:26 +0000 (Tue, 14 Aug 2012)
Log Message:
-----------
Some fixes connected with Find Flow
Modified Paths:
--------------
trunk/src/membership/diff_impl.cpp
trunk/src/membership/membership_alg.cpp
trunk/src/membership/membership_base.h
trunk/src/scstudio.cpp
trunk/tests/diff/diff_test.cpp
trunk/tests/membership/membership_test.cpp
trunk/tests/membership/test_bmsc04.mpr.result
trunk/tests/membership/test_bmsc06.mpr.result
trunk/tests/membership/test_bmsc07.mpr.result
Modified: trunk/src/membership/diff_impl.cpp
===================================================================
--- trunk/src/membership/diff_impl.cpp 2012-08-14 09:30:48 UTC (rev 1449)
+++ trunk/src/membership/diff_impl.cpp 2012-08-14 13:07:26 UTC (rev 1450)
@@ -356,12 +356,44 @@
}
else
{
+ bool change_allowed = true;
+
for (int i = rest; i < 0; i++)
{
- if (event_b != NULL)
- event_b = event_b->get_predecessor();
- else
- event_b = b_soa->get_last();
+ if(event_b == NULL && change_allowed)
+ {
+ EventAreaPtr last_area = start_b->get_instance()->get_last();
+ StrictOrderAreaPtr last_soa = boost::dynamic_pointer_cast<StrictOrderArea>(last_area);
+
+ if(last_soa == NULL)
+ throw std::runtime_error("Flow contains coregion");
+
+ event_b = last_soa->get_last();
+ }
+
+ //the previous bloc is allowed only at first run of cycle
+ change_allowed = false;
+
+ if(event_b->get_predecessor() == NULL)
+ {
+ EventAreaPtr previous_area = event_b->get_area()->get_previous();
+ CoregionAreaPtr previous_ca = boost::dynamic_pointer_cast<CoregionArea>(previous_area);
+
+ if(previous_ca != NULL)
+ throw std::runtime_error("Flow contains coregion");
+
+ StrictOrderAreaPtr previous_soa;
+ previous_soa = boost::dynamic_pointer_cast<StrictOrderArea>(previous_area);
+
+ if(previous_soa == NULL)
+ event_b = NULL;
+ else
+ event_b = previous_soa->get_last();
+
+ continue;
+ }
+
+ event_b = event_b->get_predecessor();
}
}
Modified: trunk/src/membership/membership_alg.cpp
===================================================================
--- trunk/src/membership/membership_alg.cpp 2012-08-14 09:30:48 UTC (rev 1449)
+++ trunk/src/membership/membership_alg.cpp 2012-08-14 13:07:26 UTC (rev 1450)
@@ -369,6 +369,7 @@
search_conf = diff_conf->get_flow_config();
c->set_path(diff_conf->get_path());
+ c->set_total_diff_amount(diff_conf->get_diff_amount());
}
else
throw std::runtime_error("Unexpected behaviour 11.");
@@ -377,7 +378,6 @@
if(c->get_hmsc_diff())
return NULL;
- // if HMSC diff it returns specification with colored path
if (c->get_result() != NULL)
return make_result(c, dup_hmsc);
else
@@ -477,14 +477,6 @@
return check_next(c, hmsc_node, b);
else
{
- //when deosn't exist empty path to EndNode
- if (b->is_null(c) && !is_node_null(c, node))
- {
- c->top_pop_path();
- c->pop_time_stacks();
- return false;
- }
-
ConfigurationPtr old_config_I, old_config_II;
old_config_I = new Configuration(b);
@@ -1233,12 +1225,16 @@
}
}
- //TODO ten konfigurak sa mi nepozdava, je potrebne aby to bol konfigurak, ktory odpoveda koncu aktualneho uzlu
- DiffConfigPtr diff_conf = new DiffConfig(c->get_path(), conf, diff_amount);
- c->get_heap()->insert(diff_conf);
-
if(diff_amount != 0)
+ {
+ c->set_total_diff_amount(c->get_total_diff_amount() + diff_amount);
+ //TODO ten konfigurak sa mi nepozdava, je potrebne aby to bol konfigurak,
+ //ktory odpoveda koncu aktualneho uzlu
+ DiffConfigPtr diff_conf = new DiffConfig(c->get_path(), conf, c->get_total_diff_amount());
+ c->get_heap()->insert(diff_conf);
+
return false;
+ }
return true;
}
Modified: trunk/src/membership/membership_base.h
===================================================================
--- trunk/src/membership/membership_base.h 2012-08-14 09:30:48 UTC (rev 1449)
+++ trunk/src/membership/membership_base.h 2012-08-14 13:07:26 UTC (rev 1450)
@@ -410,6 +410,7 @@
enum checkingTimeMode checking_time_mode;
MembershipHeapPtr diff_heap; //heap for diff computation in HMSC
+ unsigned int total_diff_amount;
enum DiffType diff_type;
bool hmsc_diff;
@@ -429,6 +430,7 @@
msc = NULL;
processed_ref_node = NULL;
diff_heap = new MembershipHeap();
+ total_diff_amount = 0;
hmsc_diff = false;
}
@@ -945,6 +947,16 @@
return diff_heap;
}
+ unsigned int get_total_diff_amount()
+ {
+ return total_diff_amount;
+ }
+
+ void set_total_diff_amount(unsigned int diff_amount)
+ {
+ total_diff_amount = diff_amount;
+ }
+
void set_hmsc_diff(bool v)
{
hmsc_diff = v;
Modified: trunk/src/scstudio.cpp
===================================================================
--- trunk/src/scstudio.cpp 2012-08-14 09:30:48 UTC (rev 1449)
+++ trunk/src/scstudio.cpp 2012-08-14 13:07:26 UTC (rev 1450)
@@ -585,15 +585,13 @@
{
try
{
+ std::list<MscPtr> counterexamples = (*vec_it)->get_counterexamples();
std::list<MscPtr>::iterator list_it;
std::wcout << (*vec_it)->get_msg() << std::endl; //TODO change to cout
- for(list_it = (*vec_it)->get_counterexamples().begin();
- list_it != (*vec_it)->get_counterexamples().end();
- list_it++)
- {
+
+ for(list_it = counterexamples.begin(); list_it != counterexamples.end(); list_it++)
z120.save_msc(std::cout, L"msc_diff", *list_it);
- }
}
catch(std::exception& exc)
{
@@ -751,15 +749,13 @@
{
try
{
+ std::list<MscPtr> counterexamples = (*vec_it)->get_counterexamples();
std::list<MscPtr>::iterator list_it;
std::wcout << (*vec_it)->get_msg() << std::endl; //TODO change to cout
- for(list_it = (*vec_it)->get_counterexamples().begin();
- list_it != (*vec_it)->get_counterexamples().end();
- list_it++)
- {
+
+ for(list_it = counterexamples.begin(); list_it != counterexamples.end(); list_it++)
z120.save_msc(std::cout, TOWSTRING(specification), *list_it);
- }
}
catch(std::exception& exc)
{
Modified: trunk/tests/diff/diff_test.cpp
===================================================================
--- trunk/tests/diff/diff_test.cpp 2012-08-14 09:30:48 UTC (rev 1449)
+++ trunk/tests/diff/diff_test.cpp 2012-08-14 13:07:26 UTC (rev 1450)
@@ -118,14 +118,16 @@
try
{
- std::vector<SearcherResultPtr>::iterator result_it;
- std::list<MscPtr>::iterator list_it;
+ std::vector<SearcherResultPtr>::iterator result_it;
+ std::list<MscPtr> counterexamples;
+ std::list<MscPtr>::iterator list_it;
+
for(result_it = result.begin(); result_it != result.end(); result_it++)
{
- for(list_it = (*result_it)->get_counterexamples().begin();
- list_it != (*result_it)->get_counterexamples().end();
- list_it++)
+ counterexamples = (*result_it)->get_counterexamples();
+
+ for(list_it = counterexamples.begin(); list_it != counterexamples.end(); list_it++)
z120.save_msc(std::cout, L"msc_diff", *list_it);
}
}
Modified: trunk/tests/membership/membership_test.cpp
===================================================================
--- trunk/tests/membership/membership_test.cpp 2012-08-14 09:30:48 UTC (rev 1449)
+++ trunk/tests/membership/membership_test.cpp 2012-08-14 13:07:26 UTC (rev 1450)
@@ -109,22 +109,22 @@
else
result = mem.find(msc[0], bmscs, focused_instances);
-if(!result.empty())
-{
- std::vector<SearcherResultPtr>::iterator vec_it;
- std::list<MscPtr>::iterator list_it;
+ if(!result.empty())
+ {
+ std::vector<SearcherResultPtr>::iterator vec_it;
- for(vec_it = result.begin(); vec_it != result.end(); vec_it++)
- {
- std::wcerr << (*vec_it)->get_msg() << std::endl;
- for(list_it = (*vec_it)->get_counterexamples().begin();
- list_it != (*vec_it)->get_counterexamples().end();
- list_it++)
+ std::list<MscPtr> counterexamples;
+ std::list<MscPtr>::iterator list_it;
+
+ for(vec_it = result.begin(); vec_it != result.end(); vec_it++)
{
- z120.save_msc(std::cout, TOWSTRING(filename), *list_it);
+ counterexamples = (*vec_it)->get_counterexamples();
+ std::wcerr << (*vec_it)->get_msg() << std::endl;
+
+ for(list_it = counterexamples.begin(); list_it != counterexamples.end(); list_it++)
+ z120.save_msc(std::cout, TOWSTRING(filename), (*list_it));
}
}
-}
return errors;
}
Modified: trunk/tests/membership/test_bmsc04.mpr.result
===================================================================
--- trunk/tests/membership/test_bmsc04.mpr.result 2012-08-14 09:30:48 UTC (rev 1449)
+++ trunk/tests/membership/test_bmsc04.mpr.result 2012-08-14 13:07:26 UTC (rev 1450)
@@ -1 +1,46 @@
-Flow "mystery" not found.
+Flow "mystery" not found. Diff is available (HMSC path + diff):
+mscdocument test_hmsc04;
+msc Stranka_1;
+/* PATH */
+initial connect/* PATH */
+ L0;
+/* PATH */
+/* ATTRIBUTES: [membership_counter 1] */
+L0: reference super/* PATH */
+ connect/* PATH */
+ L1;
+/* PATH */
+L1: final/* PATH */
+;
+endmsc;
+msc super;
+inst A;
+inst B;
+A: instance;
+out aaa,0 to B;
+endinstance;
+B: instance;
+in aaa,0 from A;
+endinstance;
+endmsc;
+mscdocument test_hmsc04;
+msc mystery;
+inst A;
+inst B;
+A: instance;
+/* REMOVED */
+/* REMOVED */
+out bbb,0 to B;
+/* ADDED */
+/* ADDED */
+out aaa,1 to B;
+endinstance;
+B: instance;
+/* REMOVED */
+/* REMOVED */
+in bbb,0 from A;
+/* ADDED */
+/* ADDED */
+in aaa,1 from A;
+endinstance;
+endmsc;
Modified: trunk/tests/membership/test_bmsc06.mpr.result
===================================================================
--- trunk/tests/membership/test_bmsc06.mpr.result 2012-08-14 09:30:48 UTC (rev 1449)
+++ trunk/tests/membership/test_bmsc06.mpr.result 2012-08-14 13:07:26 UTC (rev 1450)
@@ -1 +1,57 @@
-Flow "mystery" not found.
+Flow "mystery" not found. Diff is available (HMSC path + diff):
+mscdocument test_hmsc06;
+msc Stranka_1;
+/* PATH */
+initial connect/* PATH */
+ L0;
+/* PATH */
+/* ATTRIBUTES: [membership_counter 1] */
+L0: reference Secret/* PATH */
+ connect/* PATH */
+ L1;
+/* PATH */
+/* ATTRIBUTES: [membership_counter 1] */
+L1: reference super/* PATH */
+ connect/* PATH */
+ L2;
+/* PATH */
+L2: final/* PATH */
+;
+endmsc;
+msc Secret;
+inst A;
+inst B;
+A: instance;
+out bbb,0 to B;
+endinstance;
+B: instance;
+in bbb,0 from A;
+endinstance;
+endmsc;
+msc super;
+inst A;
+inst B;
+A: instance;
+in aaa,0 from B;
+endinstance;
+B: instance;
+out aaa,0 to A;
+endinstance;
+endmsc;
+mscdocument test_hmsc06;
+msc mystery;
+inst A;
+inst B;
+A: instance;
+out bbb,0 to B;
+/* ADDED */
+/* ADDED */
+in aaa,1 from B;
+endinstance;
+B: instance;
+in bbb,0 from A;
+/* ADDED */
+/* ADDED */
+out aaa,1 to A;
+endinstance;
+endmsc;
Modified: trunk/tests/membership/test_bmsc07.mpr.result
===================================================================
--- trunk/tests/membership/test_bmsc07.mpr.result 2012-08-14 09:30:48 UTC (rev 1449)
+++ trunk/tests/membership/test_bmsc07.mpr.result 2012-08-14 13:07:26 UTC (rev 1450)
@@ -1 +1,63 @@
-Flow "mystery" not found.
+Flow "mystery" not found. Diff is available (HMSC path + diff):
+mscdocument test_hmsc06;
+msc Stranka_1;
+/* PATH */
+initial connect/* PATH */
+ L0;
+/* PATH */
+/* ATTRIBUTES: [membership_counter 1] */
+L0: reference Secret/* PATH */
+ connect/* PATH */
+ L1;
+/* PATH */
+/* ATTRIBUTES: [membership_counter 1] */
+L1: reference super/* PATH */
+ connect/* PATH */
+ L2;
+/* PATH */
+L2: final/* PATH */
+;
+endmsc;
+msc Secret;
+inst A;
+inst B;
+A: instance;
+out bbb,0 to B;
+endinstance;
+B: instance;
+in bbb,0 from A;
+endinstance;
+endmsc;
+msc super;
+inst A;
+inst B;
+A: instance;
+in aaa,0 from B;
+endinstance;
+B: instance;
+out aaa,0 to A;
+endinstance;
+endmsc;
+mscdocument test_hmsc06;
+msc mystery;
+inst A;
+inst B;
+A: instance;
+out bbb,0 to B;
+/* REMOVED */
+/* REMOVED */
+in a,1 from B;
+/* ADDED */
+/* ADDED */
+in aaa,2 from B;
+endinstance;
+B: instance;
+in bbb,0 from A;
+/* REMOVED */
+/* REMOVED */
+out a,1 to A;
+/* ADDED */
+/* ADDED */
+out aaa,2 to A;
+endinstance;
+endmsc;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <tm...@us...> - 2012-09-04 09:31:35
|
Revision: 1454
http://scstudio.svn.sourceforge.net/scstudio/?rev=1454&view=rev
Author: tmarton
Date: 2012-09-04 09:31:24 +0000 (Tue, 04 Sep 2012)
Log Message:
-----------
FindANTLR for linux searching in defaults directories too.
Modified Paths:
--------------
trunk/CMakeLists.txt
Added Paths:
-----------
trunk/FindANTLR_default.cmake
Modified: trunk/CMakeLists.txt
===================================================================
--- trunk/CMakeLists.txt 2012-09-04 08:31:14 UTC (rev 1453)
+++ trunk/CMakeLists.txt 2012-09-04 09:31:24 UTC (rev 1454)
@@ -68,17 +68,20 @@
FIND_PACKAGE(Boost COMPONENTS date_time thread serialization REQUIRED)
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
+FIND_PACKAGE(Java COMPONENTS Runtime)
+# keep antlr an optional prerequisite
+
# antlr setup
IF(WIN32)
IF(NOT ANTLR_ROOT)
#set implicit ANTLR_ROOT
SET(ANTLR_ROOT "${CMAKE_SOURCE_DIR}/third-party-sw/antlr/" CACHE PATH "The Antlr directory root.")
ENDIF(NOT ANTLR_ROOT)
+ FIND_PACKAGE(ANTLR)
+ELSE(WIN32)
+ FIND_PACKAGE(ANTLR_default)
ENDIF(WIN32)
-FIND_PACKAGE(Java COMPONENTS Runtime)
-# keep antlr an optional prerequisite
-FIND_PACKAGE(ANTLR)
INCLUDE_DIRECTORIES(src)
INCLUDE_DIRECTORIES(${CMAKE_INSTALL_PREFIX}/include)
Added: trunk/FindANTLR_default.cmake
===================================================================
--- trunk/FindANTLR_default.cmake (rev 0)
+++ trunk/FindANTLR_default.cmake 2012-09-04 09:31:24 UTC (rev 1454)
@@ -0,0 +1,51 @@
+# set the default ANTLR_ROOT value
+
+IF(NOT ANTLR_ROOT)
+ SET(ANTLR_ROOT $ENV{ANTLR_ROOT} CACHE PATH "The ANTLR directory root.")
+ENDIF(NOT ANTLR_ROOT)
+
+FIND_FILE(ANTLR_CLASSPATH
+ NAMES
+ antlr-3.4-complete.jar
+ antlr-3.1.3.jar
+ antlr-3.1.2.jar
+ antlr-3.1.1.jar
+ PATHS
+ ${ANTLR_ROOT}/lib
+ DOC "The ANTLR class file")
+
+FIND_LIBRARY(ANTLR_LIBRARY
+ NAMES antlr3c
+ PATHS
+ ${ANTLR_ROOT}/runtime/C
+ ${ANTLR_ROOT}/runtime/C/Release
+ ${ANTLR_ROOT}/runtime/C/lib${ARCHITECTURE_PTR_SIZE}
+ DOC "The ANTLR library")
+
+FIND_LIBRARY(ANTLR_LIBRARY_DEBUG
+ NAMES antlr3cd
+ PATHS
+ ${ANTLR_ROOT}/runtime/C
+ ${ANTLR_ROOT}/runtime/C/Debug
+ ${ANTLR_ROOT}/runtime/C/lib${ARCHITECTURE_PTR_SIZE}
+ DOC "The ANTLR debug library")
+
+IF(NOT ANTLR_LIBRARY_DEBUG)
+ SET(ANTLR_LIBRARY_DEBUG ${ANTLR_LIBRARY})
+ SET(ANTLR_LIBRARIES ${ANTLR_LIBRARY})
+ELSE()
+ SET(ANTLR_LIBRARIES
+ optimized ${ANTLR_LIBRARY}
+ debug ${ANTLR_LIBRARY_DEBUG}
+ )
+ENDIF()
+
+FIND_PATH(ANTLR_INCLUDE_DIR
+ NAMES antlr3.h
+ PATHS
+ ${ANTLR_ROOT}/runtime/C/include
+ DOC "The ANTLR include files")
+
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(ANTLR DEFAULT_MSG
+ ANTLR_CLASSPATH ANTLR_LIBRARY ANTLR_INCLUDE_DIR)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ma...@us...> - 2012-09-06 08:47:12
|
Revision: 1463
http://scstudio.svn.sourceforge.net/scstudio/?rev=1463&view=rev
Author: madzin
Date: 2012-09-06 08:47:06 +0000 (Thu, 06 Sep 2012)
Log Message:
-----------
Add module and test environment for time relevant environment
Modified Paths:
--------------
trunk/src/data/CMakeLists.txt
trunk/tests/CMakeLists.txt
Added Paths:
-----------
trunk/src/data/time_relevant_ordering/
trunk/src/data/time_relevant_ordering/CMakeLists.txt
trunk/src/data/time_relevant_ordering/export.h
trunk/src/data/time_relevant_ordering/module.cpp
trunk/src/data/time_relevant_ordering/time_relevant_ordering.cpp
trunk/src/data/time_relevant_ordering/time_relevant_ordering.h
trunk/tests/time_relevant_ordering/
trunk/tests/time_relevant_ordering/CMakeLists.txt
trunk/tests/time_relevant_ordering/time_relevant_ordering_test.cpp
Modified: trunk/src/data/CMakeLists.txt
===================================================================
--- trunk/src/data/CMakeLists.txt 2012-09-06 08:46:40 UTC (rev 1462)
+++ trunk/src/data/CMakeLists.txt 2012-09-06 08:47:06 UTC (rev 1463)
@@ -50,6 +50,7 @@
ADD_SUBDIRECTORY(exporttex)
# build transformers
ADD_SUBDIRECTORY(beautify)
+ADD_SUBDIRECTORY(time_relevant_ordering)
OPTION(BUILD_PCAP "Enable to build the PCAP import module" OFF)
IF(BUILD_PCAP)
Added: trunk/src/data/time_relevant_ordering/CMakeLists.txt
===================================================================
--- trunk/src/data/time_relevant_ordering/CMakeLists.txt (rev 0)
+++ trunk/src/data/time_relevant_ordering/CMakeLists.txt 2012-09-06 08:47:06 UTC (rev 1463)
@@ -0,0 +1,12 @@
+ADD_LIBRARY(sctimerelevantordering SHARED
+ export.h
+ module.cpp
+ time_relevant_ordering.h
+ time_relevant_ordering.cpp
+)
+
+TARGET_LINK_LIBRARIES(sctimerelevantordering
+ scmsc
+)
+
+# $Id: CMakeLists.txt 1351 2012-03-21 13:54:31Z lkorenciak $
Added: trunk/src/data/time_relevant_ordering/export.h
===================================================================
--- trunk/src/data/time_relevant_ordering/export.h (rev 0)
+++ trunk/src/data/time_relevant_ordering/export.h 2012-09-06 08:47:06 UTC (rev 1463)
@@ -0,0 +1,37 @@
+/*
+ * scstudio - Sequence Chart Studio
+ * http://scstudio.sourceforge.net
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * Copyright (c) 2008 Petr Gotthard <pet...@ce...>
+ *
+ * $Id$
+ */
+
+#ifndef _TIMERELEVANTORDERING_EXPORT_H
+#define _TIMERELEVANTORDERING_EXPORT_H
+
+#if defined(_MSC_VER)
+#pragma warning(disable: 4251)
+
+#if defined(scbeautify_EXPORTS)
+#define SCTIMERELEVANTORDERING_EXPORT __declspec(dllexport)
+#else
+#define SCTIMERELEVANTORDERING_EXPORT __declspec(dllimport)
+#endif
+
+#else
+#define SCTIMERELEVANTORDERING_EXPORT
+#endif
+
+#endif /* _TIMERELEVANTORDERING_EXPORT_H */
+
+// $Id$
Property changes on: trunk/src/data/time_relevant_ordering/export.h
___________________________________________________________________
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Added: trunk/src/data/time_relevant_ordering/module.cpp
===================================================================
--- trunk/src/data/time_relevant_ordering/module.cpp (rev 0)
+++ trunk/src/data/time_relevant_ordering/module.cpp 2012-09-06 08:47:06 UTC (rev 1463)
@@ -0,0 +1,32 @@
+/*
+ * scstudio - Sequence Chart Studio
+ * http://scstudio.sourceforge.net
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * Copyright (c) 2009 Petr Gotthard <pet...@ce...>
+ *
+ * $Id: module.cpp 438 2009-10-25 15:32:55Z gotthardp $
+ */
+
+#include "time_relevant_ordering.h"
+
+// module initialization function
+// note: the Visio add-on searches for a function of this name
+extern "C" SCTIMERELEVANTORDERING_EXPORT
+Transformer** init_transformers()
+{
+ Transformer **result = new Transformer* [2];
+ result[0] = new TimeRelevantOrdering();
+ result[1] = NULL;
+
+ return result;
+}
+
Property changes on: trunk/src/data/time_relevant_ordering/module.cpp
___________________________________________________________________
Added: svn:keywords
+ Id,svn:eol-style=native
Added: trunk/src/data/time_relevant_ordering/time_relevant_ordering.cpp
===================================================================
--- trunk/src/data/time_relevant_ordering/time_relevant_ordering.cpp (rev 0)
+++ trunk/src/data/time_relevant_ordering/time_relevant_ordering.cpp 2012-09-06 08:47:06 UTC (rev 1463)
@@ -0,0 +1,37 @@
+/*
+ * scstudio - Sequence Chart Studio
+ * http://scstudio.sourceforge.net
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * Copyright (c) 2009 Petr Gotthard <pet...@ce...>
+ *
+ * $Id: beautify.cpp 1399 2012-06-01 08:33:10Z xmalota $
+ */
+
+#include "data/time_relevant_ordering/time_relevant_ordering.h"
+
+TimeRelevantOrdering::TimeRelevantOrdering()
+{
+}
+
+Transformer::PreconditionList TimeRelevantOrdering::get_preconditions(MscPtr msc) const
+{
+ Transformer::PreconditionList result;
+ // no preconditions
+ return result;
+}
+
+//! Transform a MSC drawing.
+MscPtr TimeRelevantOrdering::transform(MscPtr msc)
+{
+std::cerr << "Success: The Time Relevant Ordering's method \"transform\" invoked this message." << std::endl;
+ return msc; // success
+}
Property changes on: trunk/src/data/time_relevant_ordering/time_relevant_ordering.cpp
___________________________________________________________________
Added: svn:keywords
+ Id,svn:eol-style=native
Added: trunk/src/data/time_relevant_ordering/time_relevant_ordering.h
===================================================================
--- trunk/src/data/time_relevant_ordering/time_relevant_ordering.h (rev 0)
+++ trunk/src/data/time_relevant_ordering/time_relevant_ordering.h 2012-09-06 08:47:06 UTC (rev 1463)
@@ -0,0 +1,46 @@
+/*
+ * scstudio - Sequence Chart Studio
+ * http://scstudio.sourceforge.net
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * Copyright (c) 2009 Petr Gotthard <pet...@ce...>
+ *
+ * $Id$
+ */
+
+#ifndef _TIME_RELEVANT_ORDERING_H
+#define _TIME_RELEVANT_ORDERING_H
+
+
+#include "data/msc.h"
+#include "data/transformer.h"
+#include "export.h"
+
+
+class SCTIMERELEVANTORDERING_EXPORT TimeRelevantOrdering : public Transformer
+{
+public:
+ TimeRelevantOrdering();
+ virtual ~TimeRelevantOrdering(){}
+
+ //! Human readable name of the transformation.
+ virtual std::wstring get_name() const
+ { return L"Time Relevant Ordering"; }
+
+ //! Returns a list of preconditions for this transformation.
+ virtual PreconditionList get_preconditions(MscPtr msc) const;
+
+ //! Transform a MSC drawing.
+ virtual MscPtr transform(MscPtr msc);
+};
+
+#endif
+
Property changes on: trunk/src/data/time_relevant_ordering/time_relevant_ordering.h
___________________________________________________________________
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Modified: trunk/tests/CMakeLists.txt
===================================================================
--- trunk/tests/CMakeLists.txt 2012-09-06 08:46:40 UTC (rev 1462)
+++ trunk/tests/CMakeLists.txt 2012-09-06 08:47:06 UTC (rev 1463)
@@ -111,6 +111,7 @@
ENDMACRO(ADD_Z120_TEST)
ADD_SUBDIRECTORY(z120_test)
+ADD_SUBDIRECTORY(time_relevant_ordering)
SET(MSCGEN_SEQUENCE 0)
MACRO(ADD_MSCGEN_TEST FILE SATISFIED)
Added: trunk/tests/time_relevant_ordering/CMakeLists.txt
===================================================================
--- trunk/tests/time_relevant_ordering/CMakeLists.txt (rev 0)
+++ trunk/tests/time_relevant_ordering/CMakeLists.txt 2012-09-06 08:47:06 UTC (rev 1463)
@@ -0,0 +1,11 @@
+FIND_PACKAGE(PythonInterp REQUIRED)
+
+ADD_EXECUTABLE(time_relevant_ordering_test
+ time_relevant_ordering_test.cpp
+)
+TARGET_LINK_LIBRARIES(time_relevant_ordering_test
+ sctimerelevantordering
+ scZ120
+)
+
+# $Id: CMakeLists.txt 1439 2012-07-08 21:36:59Z madzin $
Added: trunk/tests/time_relevant_ordering/time_relevant_ordering_test.cpp
===================================================================
--- trunk/tests/time_relevant_ordering/time_relevant_ordering_test.cpp (rev 0)
+++ trunk/tests/time_relevant_ordering/time_relevant_ordering_test.cpp 2012-09-06 08:47:06 UTC (rev 1463)
@@ -0,0 +1,85 @@
+/*
+ * scstudio - Sequence Chart Studio
+ * http://scstudio.sourceforge.net
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * Copyright (c) 2009 Petr Gotthard <pet...@ce...>
+ *
+ * $Id: z120_test.cpp 1274 2012-01-10 15:49:30Z lkorenciak $
+ */
+
+#include <string.h>
+#include <iostream>
+
+#include "data/Z120/z120.h"
+#include "data/time_relevant_ordering/time_relevant_ordering.h"
+
+char* extract_filename(char* filename)
+{
+ char *last_name = filename;
+ char *last_dot = NULL;
+
+ for(char *pos = filename; *pos != '\0'; pos++)
+ {
+ if(*pos == '.')
+ last_dot = pos;
+ else if(*pos == '\\' || *pos == '/')
+ last_name = pos+1;
+ }
+
+ if(last_dot != NULL)
+ *last_dot = '\0'; // strip the extension
+
+ return last_name;
+}
+
+int main(int argc, char** argv)
+{
+ if(argc < 2)
+ {
+ std::wcerr << "Usage: " << argv[0] << " <filename>" << std::endl;
+ return 1;
+ }
+
+ Z120 z120;
+
+ StreamReportPrinter printer(std::wcerr);
+ z120.set_printer(&printer);
+
+ char *path = strdup(argv[1]);
+ char *filename = extract_filename(path);
+
+ std::vector<MscPtr> msc = z120.load_msc(argv[1]);
+
+ if(msc.empty())
+ {
+ std::wcerr << "Parser ERROR: \"" << filename << "\" was not corectly recognized" << std::endl;
+ return 1;
+ }
+
+ TimeRelevantOrdering tr_ordering;
+ msc[0] = tr_ordering.transform(msc[0]);
+
+ try
+ {
+ z120.save_msc(std::cout, TOWSTRING(filename), msc[0], msc);
+ }
+ catch(std::exception& exc)
+ {
+ std::wcerr << "EXCEPTION: Cannot save the document: " << exc.what() << std::endl;
+ return 1;
+ }
+
+ free(path);
+ return 0;
+}
+
+// $Id: z120_test.cpp 1274 2012-01-10 15:49:30Z lkorenciak $
Property changes on: trunk/tests/time_relevant_ordering/time_relevant_ordering_test.cpp
___________________________________________________________________
Added: svn:keywords
+ Id,svn:eol-style=native
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ma...@us...> - 2012-09-11 16:54:29
|
Revision: 1478
http://scstudio.svn.sourceforge.net/scstudio/?rev=1478&view=rev
Author: madzin
Date: 2012-09-11 16:54:19 +0000 (Tue, 11 Sep 2012)
Log Message:
-----------
Fix a bug in Find Flow on HMSC and modify the tests results due to new output messages
Modified Paths:
--------------
trunk/src/membership/diff_impl.cpp
trunk/src/membership/membership_alg.cpp
trunk/tests/membership/test_bmsc11_2.mpr.result
trunk/tests/membership/test_bmsc11_3.mpr.result
trunk/tests/membership/test_bmsc11_4.mpr.result
trunk/tests/membership/test_bmsc12_3.mpr.result
trunk/tests/membership/test_bmsc12_4.mpr.result
trunk/tests/membership/test_bmsc12_5.mpr.result
trunk/tests/membership/test_bmsc13_3.mpr.result
trunk/tests/membership/test_bmsc14_2.mpr.result
trunk/tests/membership/test_bmsc14_3.mpr.result
trunk/tests/membership/test_bmsc14_4.mpr.result
trunk/tests/membership/test_bmsc15_2.mpr.result
trunk/tests/membership/test_bmsc16_3.mpr.result
trunk/tests/membership/test_bmsc18_2.mpr.result
trunk/tests/membership/test_bmsc18_3.mpr.result
trunk/tests/membership/test_bmsc20_2.mpr.result
trunk/tests/membership/test_bmsc21_3.mpr.result
trunk/tests/membership/test_bmsc21_4.mpr.result
Modified: trunk/src/membership/diff_impl.cpp
===================================================================
--- trunk/src/membership/diff_impl.cpp 2012-09-11 12:34:08 UTC (rev 1477)
+++ trunk/src/membership/diff_impl.cpp 2012-09-11 16:54:19 UTC (rev 1478)
@@ -34,6 +34,9 @@
bool event_comparison(MembershipContext* c, StrictEventPtr& a, StrictEventPtr b);
+StrictEventPtr get_successor(MembershipContext* c, StrictEventPtr e);
+StrictEventPtr get_predecessor(MembershipContext* c, StrictEventPtr e);
+
BMscPtr bmsc_bmsc_diff(MembershipContext* c, BMscPtr specification, BMscPtr flow);
BMscPtr hmsc_bmsc_diff(MembershipContext* c, HMscPtr specification, BMscPtr flow);
@@ -98,6 +101,7 @@
CoregionAreaPtr a_ca = boost::dynamic_pointer_cast<CoregionArea > (a_area);
CoregionAreaPtr b_ca = boost::dynamic_pointer_cast<CoregionArea > (b_area);
+ //TODO if a_ca is NULL the error message could be wrong
if(a_ca != NULL || b_ca != NULL)
{
c->spec_contain_coregion();
@@ -144,29 +148,11 @@
row++;
- event_a = event_a->get_successor();
+ event_a = get_successor(c, event_a);
+ event_b = get_successor(c, event_b);
- //TODO refactor several times copied
- /* event_b = successor */
- if(event_b->get_successor() == NULL)
- {
- //looking for successor, necessary to look to next area
- EventAreaPtr next_area = event_b->get_area()->get_next();
-
- if(next_area == NULL)
- event_b = NULL;
- else
- {
- StrictOrderAreaPtr next_soa = boost::dynamic_pointer_cast<StrictOrderArea>(next_area);
-
- if(next_soa == NULL)
- throw std::runtime_error("Unexpected bahaviour.");
-
- event_b = next_soa->get_first();
- }
- }
- else
- event_b = event_b->get_successor();
+ if(c->get_spec_contain_coregion())
+ return NULL;
}
int lower, upper;
@@ -215,7 +201,7 @@
if (up != last_d.end())
{
old_a = up->second->getEvent();
- event_a = up->second->getEvent()->get_successor();
+ event_a = get_successor(c, up->second->getEvent());
row = up->second->getLine() + 1;
}
else
@@ -223,7 +209,7 @@
row = 1;
if (start_a != NULL)
- event_a = start_a->get_successor();
+ event_a = get_successor(c, start_a);
else
{
//TODO cover the error message
@@ -253,7 +239,7 @@
row = 1;
if (start_a != NULL)
- event_a = start_a->get_successor();
+ event_a = get_successor(c, start_a);
else
{
//TODO cover the error message
@@ -271,25 +257,7 @@
StrictEventPtr missing = start_b;
for (int i = 0; i < row+k-1; i++)
{
- if(missing->get_successor() == NULL)
- {
- EventAreaPtr next_area = missing->get_area()->get_next();
-
- if(next_area == NULL)
- {
- missing = NULL;
- continue;
- }
-
- StrictOrderAreaPtr next_soa = boost::dynamic_pointer_cast<StrictOrderArea>(next_area);
-
- if(next_soa == NULL)
- throw std::runtime_error("Unexpected behaviour.");
-
- missing = next_soa->get_first();
- }
- else
- missing = missing->get_successor();
+ missing = get_successor(c, missing);
}
//TODO not efficient event traversing from the beginning
@@ -297,11 +265,14 @@
StrictEventPtr location = start_a;
for (int i = 0; i < row-1; i++)
{
- location = location->get_successor();
+ location = get_successor(c, location);
}
if(row <= 0)
location = NULL;
+ if(missing == NULL)
+ throw std::runtime_error("Unexpected behaviour");
+
diff->setLocation(location);
diff->setMessage(missing->get_message(), missing->is_send());
@@ -329,29 +300,7 @@
for (int i = 0; i < rest; i++)
{
if (event_b != NULL)
- {
- //TODO refactoring copied from code block with missing variable
- if(event_b->get_successor() == NULL)
- {
- //looking for successor, necessary to look to next area
- EventAreaPtr next_area = event_b->get_area()->get_next();
-
- if(next_area == NULL)
- {
- event_b = NULL;
- continue;
- }
-
- StrictOrderAreaPtr next_soa = boost::dynamic_pointer_cast<StrictOrderArea>(next_area);
-
- if(next_soa == NULL)
- throw std::runtime_error("Unexpected bahaviour.");
-
- event_b = next_soa->get_first();
- }
- else
- event_b = event_b->get_successor();
- }
+ event_b = get_successor(c, event_b);
}
}
else
@@ -370,30 +319,12 @@
event_b = last_soa->get_last();
}
-
- //the previous bloc is allowed only at first run of cycle
- change_allowed = false;
-
- if(event_b->get_predecessor() == NULL)
- {
- EventAreaPtr previous_area = event_b->get_area()->get_previous();
- CoregionAreaPtr previous_ca = boost::dynamic_pointer_cast<CoregionArea>(previous_area);
-
- if(previous_ca != NULL)
- throw std::runtime_error("Flow contains coregion");
-
- StrictOrderAreaPtr previous_soa;
- previous_soa = boost::dynamic_pointer_cast<StrictOrderArea>(previous_area);
-
- if(previous_soa == NULL)
- event_b = NULL;
- else
- event_b = previous_soa->get_last();
-
- continue;
- }
-
- event_b = event_b->get_predecessor();
+ else
+ {
+ //the previous bloc is allowed only at first run of cycle
+ change_allowed = false;
+ event_b = get_predecessor(c, event_b);
+ }
}
}
@@ -401,61 +332,10 @@
diff->setLine2(col);
script[k] = diff;
-
- bool event_b_was_set;
-
while (event_a != NULL && event_b != NULL && event_comparison(c, event_a, event_b))
{
- event_b_was_set = false;
-
- //check the coregion area in flow
- if(event_a->get_successor() == NULL)
- {
- EventAreaPtr next_area = event_a->get_area()->get_next();
- CoregionAreaPtr next_ca = boost::dynamic_pointer_cast<CoregionArea>(next_area);
-
- if(next_ca != NULL)
- throw std::runtime_error("Flow contains coregion");
-
- StrictOrderAreaPtr next_soa = boost::dynamic_pointer_cast<StrictOrderArea>(next_area);
-
- //this would never happen due to there is no reason to have string order
- //area after another string order area.
- if(next_soa != NULL)
- throw std::runtime_error("Unexpected behaviour");
- }
-
- //check the coregion area in specification
- if(event_b->get_successor() == NULL)
- {
- EventAreaPtr next_area = event_b->get_area()->get_next();
- CoregionAreaPtr next_ca = boost::dynamic_pointer_cast<CoregionArea>(next_area);
-
- if(next_ca != NULL)
- {
- c->spec_contain_coregion();
- return NULL;
- }
-
- StrictOrderAreaPtr next_soa = boost::dynamic_pointer_cast<StrictOrderArea>(next_area);
-
- //this would never happen due to there is no reason to have strict order
- //area after another strict order area.
- //
- //OF COURSE it could happen when a path duplicator is used (HMSC DIFF)
- if(next_soa != NULL)
- {
- event_b = next_soa->get_first();
- event_b_was_set = true;
- }
-
- }
-
- event_a = event_a->get_successor();
-
- if(!event_b_was_set)
- event_b = event_b->get_successor();
-
+ event_a = get_successor(c, event_a);
+ event_b = get_successor(c, event_b);
row++;
col++;
}
@@ -1096,7 +976,7 @@
if(!spec_found || !flow_found)
continue;
- //when the instance of proper name was found in both MSCs (specification, flow)
+ //when the instance of proper name was found in both MSCs (flow, specification)
DifferencePtr diff = instance_diff(c, *flow_it, *spec_it);
if(c->get_spec_contain_coregion())
@@ -2099,3 +1979,67 @@
return NULL;
}
+
+//get successor of the event e, in case the area finished it goes to the next one
+//in case a coregion was found it sets a flag in MembershipContext
+StrictEventPtr get_successor(MembershipContext* c, StrictEventPtr e)
+{
+ if(e == NULL)
+ return NULL;
+
+ if(e->get_successor() == NULL)
+ {
+ EventAreaPtr next_area = e->get_area()->get_next();
+
+ if(next_area == NULL)
+ e = NULL;
+ else
+ {
+ CoregionAreaPtr next_ca = boost::dynamic_pointer_cast<CoregionArea>(next_area);
+
+ if(next_ca != NULL)
+ {
+ //TODO refactoring: throw an exception
+// throw std::runtime_error("Contain coregion");
+ c->spec_contain_coregion();
+ return NULL;
+ }
+
+ StrictOrderAreaPtr next_soa = boost::dynamic_pointer_cast<StrictOrderArea>(next_area);
+
+ if(next_soa == NULL)
+ e = NULL;
+
+ e = next_soa->get_first();
+ }
+ }
+ else
+ e = e->get_successor();
+
+ return e;
+}
+
+StrictEventPtr get_predecessor(MembershipContext* c, StrictEventPtr e)
+{
+ if(e == NULL)
+ return NULL;
+
+ if(e->get_predecessor() == NULL)
+ {
+ EventAreaPtr previous_area = e->get_area()->get_previous();
+ CoregionAreaPtr previous_ca = boost::dynamic_pointer_cast<CoregionArea>(previous_area);
+
+ if(previous_ca != NULL)
+ throw std::runtime_error("Flow contains coregion");
+
+ StrictOrderAreaPtr previous_soa;
+ previous_soa = boost::dynamic_pointer_cast<StrictOrderArea>(previous_area);
+
+ if(previous_soa == NULL)
+ return NULL;
+ else
+ return previous_soa->get_last();
+ }
+
+ return e->get_predecessor();
+}
Modified: trunk/src/membership/membership_alg.cpp
===================================================================
--- trunk/src/membership/membership_alg.cpp 2012-09-11 12:34:08 UTC (rev 1477)
+++ trunk/src/membership/membership_alg.cpp 2012-09-11 16:54:19 UTC (rev 1478)
@@ -371,8 +371,13 @@
c->set_path(diff_conf->get_path());
c->set_total_diff_amount(diff_conf->get_diff_amount());
}
- else
- throw std::runtime_error("Unexpected behaviour 11.");
+ else
+ {
+ if(!c->get_spec_contain_coregion())
+ throw std::runtime_error("Unexpected behaviour 11.");
+ else
+ break;
+ }
}
if(c->get_hmsc_diff())
Modified: trunk/tests/membership/test_bmsc11_2.mpr.result
===================================================================
--- trunk/tests/membership/test_bmsc11_2.mpr.result 2012-09-11 12:34:08 UTC (rev 1477)
+++ trunk/tests/membership/test_bmsc11_2.mpr.result 2012-09-11 16:54:19 UTC (rev 1478)
@@ -1 +1 @@
-Flow "Page_1" not found.
+Flow "Page_1" not found. Diff is not available (specification contains coregion).
Modified: trunk/tests/membership/test_bmsc11_3.mpr.result
===================================================================
--- trunk/tests/membership/test_bmsc11_3.mpr.result 2012-09-11 12:34:08 UTC (rev 1477)
+++ trunk/tests/membership/test_bmsc11_3.mpr.result 2012-09-11 16:54:19 UTC (rev 1478)
@@ -1 +1 @@
-Flow "Page_1" not found.
+Flow "Page_1" not found. Diff is not available (specification contains coregion).
Modified: trunk/tests/membership/test_bmsc11_4.mpr.result
===================================================================
--- trunk/tests/membership/test_bmsc11_4.mpr.result 2012-09-11 12:34:08 UTC (rev 1477)
+++ trunk/tests/membership/test_bmsc11_4.mpr.result 2012-09-11 16:54:19 UTC (rev 1478)
@@ -1 +1 @@
-Flow "Page_1" not found.
+Flow "Page_1" not found. Diff is not available (specification contains coregion).
Modified: trunk/tests/membership/test_bmsc12_3.mpr.result
===================================================================
--- trunk/tests/membership/test_bmsc12_3.mpr.result 2012-09-11 12:34:08 UTC (rev 1477)
+++ trunk/tests/membership/test_bmsc12_3.mpr.result 2012-09-11 16:54:19 UTC (rev 1478)
@@ -1 +1 @@
-Flow "Page_1" not found.
+Flow "Page_1" not found. Diff is not available (specification contains coregion).
Modified: trunk/tests/membership/test_bmsc12_4.mpr.result
===================================================================
--- trunk/tests/membership/test_bmsc12_4.mpr.result 2012-09-11 12:34:08 UTC (rev 1477)
+++ trunk/tests/membership/test_bmsc12_4.mpr.result 2012-09-11 16:54:19 UTC (rev 1478)
@@ -1 +1 @@
-Flow "Page_1" not found.
+Flow "Page_1" not found. Diff is not available (specification contains coregion).
Modified: trunk/tests/membership/test_bmsc12_5.mpr.result
===================================================================
--- trunk/tests/membership/test_bmsc12_5.mpr.result 2012-09-11 12:34:08 UTC (rev 1477)
+++ trunk/tests/membership/test_bmsc12_5.mpr.result 2012-09-11 16:54:19 UTC (rev 1478)
@@ -1 +1 @@
-Flow "Page_1" not found.
+Flow "Page_1" not found. Diff is not available (specification contains coregion).
Modified: trunk/tests/membership/test_bmsc13_3.mpr.result
===================================================================
--- trunk/tests/membership/test_bmsc13_3.mpr.result 2012-09-11 12:34:08 UTC (rev 1477)
+++ trunk/tests/membership/test_bmsc13_3.mpr.result 2012-09-11 16:54:19 UTC (rev 1478)
@@ -1 +1 @@
-Flow "Page_1" not found.
+Flow "Page_1" not found. Diff is not available (specification contains coregion).
Modified: trunk/tests/membership/test_bmsc14_2.mpr.result
===================================================================
--- trunk/tests/membership/test_bmsc14_2.mpr.result 2012-09-11 12:34:08 UTC (rev 1477)
+++ trunk/tests/membership/test_bmsc14_2.mpr.result 2012-09-11 16:54:19 UTC (rev 1478)
@@ -1 +1 @@
-Flow "Page_1" not found.
+Flow "Page_1" not found. Diff is not available (specification contains coregion).
Modified: trunk/tests/membership/test_bmsc14_3.mpr.result
===================================================================
--- trunk/tests/membership/test_bmsc14_3.mpr.result 2012-09-11 12:34:08 UTC (rev 1477)
+++ trunk/tests/membership/test_bmsc14_3.mpr.result 2012-09-11 16:54:19 UTC (rev 1478)
@@ -1 +1 @@
-Flow "Page_1" not found.
+Flow "Page_1" not found. Diff is not available (specification contains coregion).
Modified: trunk/tests/membership/test_bmsc14_4.mpr.result
===================================================================
--- trunk/tests/membership/test_bmsc14_4.mpr.result 2012-09-11 12:34:08 UTC (rev 1477)
+++ trunk/tests/membership/test_bmsc14_4.mpr.result 2012-09-11 16:54:19 UTC (rev 1478)
@@ -1 +1 @@
-Flow "Page_1" not found.
+Flow "Page_1" not found. Diff is not available (specification contains coregion).
Modified: trunk/tests/membership/test_bmsc15_2.mpr.result
===================================================================
--- trunk/tests/membership/test_bmsc15_2.mpr.result 2012-09-11 12:34:08 UTC (rev 1477)
+++ trunk/tests/membership/test_bmsc15_2.mpr.result 2012-09-11 16:54:19 UTC (rev 1478)
@@ -1 +1 @@
-Flow "Page_1" not found.
+Flow "Page_1" not found. Diff is not available (specification contains coregion).
Modified: trunk/tests/membership/test_bmsc16_3.mpr.result
===================================================================
--- trunk/tests/membership/test_bmsc16_3.mpr.result 2012-09-11 12:34:08 UTC (rev 1477)
+++ trunk/tests/membership/test_bmsc16_3.mpr.result 2012-09-11 16:54:19 UTC (rev 1478)
@@ -1 +1 @@
-Flow "Page_1" not found.
+Flow "Page_1" not found. Diff is not available (specification contains coregion).
Modified: trunk/tests/membership/test_bmsc18_2.mpr.result
===================================================================
--- trunk/tests/membership/test_bmsc18_2.mpr.result 2012-09-11 12:34:08 UTC (rev 1477)
+++ trunk/tests/membership/test_bmsc18_2.mpr.result 2012-09-11 16:54:19 UTC (rev 1478)
@@ -1 +1 @@
-Flow "print" not found.
+Flow "print" not found. Diff is not available (specification contains coregion).
Modified: trunk/tests/membership/test_bmsc18_3.mpr.result
===================================================================
--- trunk/tests/membership/test_bmsc18_3.mpr.result 2012-09-11 12:34:08 UTC (rev 1477)
+++ trunk/tests/membership/test_bmsc18_3.mpr.result 2012-09-11 16:54:19 UTC (rev 1478)
@@ -1 +1 @@
-Flow "print" not found.
+Flow "print" not found. Diff is not available (specification contains coregion).
Modified: trunk/tests/membership/test_bmsc20_2.mpr.result
===================================================================
--- trunk/tests/membership/test_bmsc20_2.mpr.result 2012-09-11 12:34:08 UTC (rev 1477)
+++ trunk/tests/membership/test_bmsc20_2.mpr.result 2012-09-11 16:54:19 UTC (rev 1478)
@@ -1 +1 @@
-Flow "Test" not found.
+Flow "Test" not found. Diff is not available (specification contains coregion).
Modified: trunk/tests/membership/test_bmsc21_3.mpr.result
===================================================================
--- trunk/tests/membership/test_bmsc21_3.mpr.result 2012-09-11 12:34:08 UTC (rev 1477)
+++ trunk/tests/membership/test_bmsc21_3.mpr.result 2012-09-11 16:54:19 UTC (rev 1478)
@@ -1 +1 @@
-Flow "Test" not found.
+Flow "Test" not found. Diff is not available (specification contains coregion).
Modified: trunk/tests/membership/test_bmsc21_4.mpr.result
===================================================================
--- trunk/tests/membership/test_bmsc21_4.mpr.result 2012-09-11 12:34:08 UTC (rev 1477)
+++ trunk/tests/membership/test_bmsc21_4.mpr.result 2012-09-11 16:54:19 UTC (rev 1478)
@@ -1 +1 @@
-Flow "Test" not found.
+Flow "Test" not found. Diff is not available (specification contains coregion).
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <xb...@us...> - 2012-09-21 09:47:45
|
Revision: 1479
http://scstudio.svn.sourceforge.net/scstudio/?rev=1479&view=rev
Author: xborza
Date: 2012-09-21 09:47:29 +0000 (Fri, 21 Sep 2012)
Log Message:
-----------
pcap comit > libraries
Modified Paths:
--------------
trunk/CMakeLists.txt
trunk/FindPCAP.cmake
trunk/src/data/CMakeLists.txt
trunk/src/data/pcap/CMakeLists.txt
trunk/src/data/pcap/flow_stats.h
trunk/src/data/pcap/pcap_load.cpp
trunk/src/data/pcap/pcap_load.h
trunk/tests/pcap/CMakeLists.txt
Added Paths:
-----------
trunk/third-party-sw/http_parser/
trunk/third-party-sw/http_parser/AUTHORS
trunk/third-party-sw/http_parser/CMakeLists.txt
trunk/third-party-sw/http_parser/LICENSE-MIT
trunk/third-party-sw/http_parser/Makefile
trunk/third-party-sw/http_parser/README.md
trunk/third-party-sw/http_parser/http_parser.c
trunk/third-party-sw/http_parser/http_parser.h
trunk/third-party-sw/http_parser/test.c
trunk/third-party-sw/http_parser/url_parser.c
trunk/third-party-sw/libosip2-3.6.0/
trunk/third-party-sw/libosip2-3.6.0/AUTHORS
trunk/third-party-sw/libosip2-3.6.0/BUGS
trunk/third-party-sw/libosip2-3.6.0/CMakeLists.txt
trunk/third-party-sw/libosip2-3.6.0/COPYING
trunk/third-party-sw/libosip2-3.6.0/ChangeLog
trunk/third-party-sw/libosip2-3.6.0/FEATURES
trunk/third-party-sw/libosip2-3.6.0/HISTORY
trunk/third-party-sw/libosip2-3.6.0/Makefile.am
trunk/third-party-sw/libosip2-3.6.0/Makefile.in
trunk/third-party-sw/libosip2-3.6.0/NEWS
trunk/third-party-sw/libosip2-3.6.0/README
trunk/third-party-sw/libosip2-3.6.0/TODO
trunk/third-party-sw/libosip2-3.6.0/aclocal.m4
trunk/third-party-sw/libosip2-3.6.0/autogen.sh
trunk/third-party-sw/libosip2-3.6.0/config.h.in
trunk/third-party-sw/libosip2-3.6.0/configure
trunk/third-party-sw/libosip2-3.6.0/configure.in
trunk/third-party-sw/libosip2-3.6.0/help/
trunk/third-party-sw/libosip2-3.6.0/help/INSTALL.bsd
trunk/third-party-sw/libosip2-3.6.0/help/INSTALL.linux
trunk/third-party-sw/libosip2-3.6.0/help/INSTALL.linuxe
trunk/third-party-sw/libosip2-3.6.0/help/INSTALL.unix
trunk/third-party-sw/libosip2-3.6.0/help/INSTALL.vxworks
trunk/third-party-sw/libosip2-3.6.0/help/INSTALL.win32
trunk/third-party-sw/libosip2-3.6.0/help/INSTALL.wince
trunk/third-party-sw/libosip2-3.6.0/help/Makefile.am
trunk/third-party-sw/libosip2-3.6.0/help/Makefile.in
trunk/third-party-sw/libosip2-3.6.0/help/doxygen/
trunk/third-party-sw/libosip2-3.6.0/help/doxygen/DoxyFile
trunk/third-party-sw/libosip2-3.6.0/help/doxygen/Makefile.am
trunk/third-party-sw/libosip2-3.6.0/help/doxygen/Makefile.in
trunk/third-party-sw/libosip2-3.6.0/help/doxygen/ht0-initialize.dox
trunk/third-party-sw/libosip2-3.6.0/help/doxygen/ht1-uri.dox
trunk/third-party-sw/libosip2-3.6.0/help/doxygen/ht2-parser.dox
trunk/third-party-sw/libosip2-3.6.0/help/doxygen/ht3-fsm.dox
trunk/third-party-sw/libosip2-3.6.0/help/doxygen/ht4-dialog.dox
trunk/third-party-sw/libosip2-3.6.0/help/doxygen/ht5-sdp.dox
trunk/third-party-sw/libosip2-3.6.0/help/man/
trunk/third-party-sw/libosip2-3.6.0/help/man/Makefile.am
trunk/third-party-sw/libosip2-3.6.0/help/man/Makefile.in
trunk/third-party-sw/libosip2-3.6.0/help/man/osip.1
trunk/third-party-sw/libosip2-3.6.0/help/man/osip.sgml
trunk/third-party-sw/libosip2-3.6.0/include/
trunk/third-party-sw/libosip2-3.6.0/include/Makefile.am
trunk/third-party-sw/libosip2-3.6.0/include/Makefile.in
trunk/third-party-sw/libosip2-3.6.0/include/osip2/
trunk/third-party-sw/libosip2-3.6.0/include/osip2/Makefile.am
trunk/third-party-sw/libosip2-3.6.0/include/osip2/Makefile.in
trunk/third-party-sw/libosip2-3.6.0/include/osip2/doxygen.dox.in
trunk/third-party-sw/libosip2-3.6.0/include/osip2/internal.h
trunk/third-party-sw/libosip2-3.6.0/include/osip2/osip.h
trunk/third-party-sw/libosip2-3.6.0/include/osip2/osip_condv.h
trunk/third-party-sw/libosip2-3.6.0/include/osip2/osip_dialog.h
trunk/third-party-sw/libosip2-3.6.0/include/osip2/osip_fifo.h
trunk/third-party-sw/libosip2-3.6.0/include/osip2/osip_mt.h
trunk/third-party-sw/libosip2-3.6.0/include/osip2/osip_time.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/Makefile.am
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/Makefile.in
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/Makefile.am
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/Makefile.in
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_accept.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_accept_encoding.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_accept_language.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_alert_info.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_allow.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_authentication_info.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_authorization.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_call_id.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_call_info.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_contact.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_content_disposition.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_content_encoding.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_content_length.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_content_type.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_cseq.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_error_info.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_from.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_header.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_mime_version.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_proxy_authenticate.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_proxy_authentication_info.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_proxy_authorization.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_record_route.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_route.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_to.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_via.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/headers/osip_www_authenticate.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/osip_body.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/osip_const.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/osip_headers.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/osip_list.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/osip_md5.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/osip_message.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/osip_parser.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/osip_port.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/osip_uri.h
trunk/third-party-sw/libosip2-3.6.0/include/osipparser2/sdp_message.h
trunk/third-party-sw/libosip2-3.6.0/libosip2.pc.in
trunk/third-party-sw/libosip2-3.6.0/platform/
trunk/third-party-sw/libosip2-3.6.0/platform/Makefile.am
trunk/third-party-sw/libosip2-3.6.0/platform/Makefile.in
trunk/third-party-sw/libosip2-3.6.0/platform/rpm/
trunk/third-party-sw/libosip2-3.6.0/platform/rpm/Makefile.am
trunk/third-party-sw/libosip2-3.6.0/platform/rpm/Makefile.in
trunk/third-party-sw/libosip2-3.6.0/platform/rpm/libosip.spec
trunk/third-party-sw/libosip2-3.6.0/platform/vsnet/
trunk/third-party-sw/libosip2-3.6.0/platform/vsnet/Makefile.am
trunk/third-party-sw/libosip2-3.6.0/platform/vsnet/Makefile.in
trunk/third-party-sw/libosip2-3.6.0/platform/vsnet/osip.sln
trunk/third-party-sw/libosip2-3.6.0/platform/vsnet/osip2.def
trunk/third-party-sw/libosip2-3.6.0/platform/vsnet/osip2.vcproj
trunk/third-party-sw/libosip2-3.6.0/platform/vsnet/osipparser2.def
trunk/third-party-sw/libosip2-3.6.0/platform/vsnet/osipparser2.vcproj
trunk/third-party-sw/libosip2-3.6.0/platform/wince/
trunk/third-party-sw/libosip2-3.6.0/platform/wince/Makefile.am
trunk/third-party-sw/libosip2-3.6.0/platform/wince/Makefile.in
trunk/third-party-sw/libosip2-3.6.0/platform/wince/osip2.vcproj
trunk/third-party-sw/libosip2-3.6.0/platform/wince/osipparser2.vcproj
trunk/third-party-sw/libosip2-3.6.0/scripts/
trunk/third-party-sw/libosip2-3.6.0/scripts/Makefile.am
trunk/third-party-sw/libosip2-3.6.0/scripts/Makefile.in
trunk/third-party-sw/libosip2-3.6.0/scripts/aclocal-include.m4
trunk/third-party-sw/libosip2-3.6.0/scripts/acx_pthread.m4
trunk/third-party-sw/libosip2-3.6.0/scripts/config.guess
trunk/third-party-sw/libosip2-3.6.0/scripts/config.sub
trunk/third-party-sw/libosip2-3.6.0/scripts/depcomp
trunk/third-party-sw/libosip2-3.6.0/scripts/install-sh
trunk/third-party-sw/libosip2-3.6.0/scripts/ltmain.sh
trunk/third-party-sw/libosip2-3.6.0/scripts/missing
trunk/third-party-sw/libosip2-3.6.0/scripts/mkinstalldirs
trunk/third-party-sw/libosip2-3.6.0/src/
trunk/third-party-sw/libosip2-3.6.0/src/Makefile.am
trunk/third-party-sw/libosip2-3.6.0/src/Makefile.in
trunk/third-party-sw/libosip2-3.6.0/src/osip2/
trunk/third-party-sw/libosip2-3.6.0/src/osip2/Makefile.am
trunk/third-party-sw/libosip2-3.6.0/src/osip2/Makefile.in
trunk/third-party-sw/libosip2-3.6.0/src/osip2/fsm.h
trunk/third-party-sw/libosip2-3.6.0/src/osip2/fsm_misc.c
trunk/third-party-sw/libosip2-3.6.0/src/osip2/ict.c
trunk/third-party-sw/libosip2-3.6.0/src/osip2/ict_fsm.c
trunk/third-party-sw/libosip2-3.6.0/src/osip2/ist.c
trunk/third-party-sw/libosip2-3.6.0/src/osip2/ist_fsm.c
trunk/third-party-sw/libosip2-3.6.0/src/osip2/nict.c
trunk/third-party-sw/libosip2-3.6.0/src/osip2/nict_fsm.c
trunk/third-party-sw/libosip2-3.6.0/src/osip2/nist.c
trunk/third-party-sw/libosip2-3.6.0/src/osip2/nist_fsm.c
trunk/third-party-sw/libosip2-3.6.0/src/osip2/osip.c
trunk/third-party-sw/libosip2-3.6.0/src/osip2/osip_dialog.c
trunk/third-party-sw/libosip2-3.6.0/src/osip2/osip_event.c
trunk/third-party-sw/libosip2-3.6.0/src/osip2/osip_time.c
trunk/third-party-sw/libosip2-3.6.0/src/osip2/osip_transaction.c
trunk/third-party-sw/libosip2-3.6.0/src/osip2/port_condv.c
trunk/third-party-sw/libosip2-3.6.0/src/osip2/port_fifo.c
trunk/third-party-sw/libosip2-3.6.0/src/osip2/port_sema.c
trunk/third-party-sw/libosip2-3.6.0/src/osip2/port_thread.c
trunk/third-party-sw/libosip2-3.6.0/src/osip2/xixt.h
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/Makefile.am
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/Makefile.in
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_accept.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_accept_encoding.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_accept_language.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_alert_info.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_allow.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_authentication_info.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_authorization.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_body.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_call_id.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_call_info.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_contact.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_content_disposition.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_content_encoding.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_content_length.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_content_type.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_cseq.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_error_info.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_from.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_header.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_list.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_md5c.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_message.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_message_parse.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_message_to_str.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_mime_version.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_parser_cfg.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_port.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_proxy_authenticate.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_proxy_authentication_info.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_proxy_authorization.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_record_route.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_route.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_to.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_uri.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_via.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_www_authenticate.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/parser.h
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/sdp_accessor.c
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/sdp_message.c
trunk/third-party-sw/libosip2-3.6.0/src/test/
trunk/third-party-sw/libosip2-3.6.0/src/test/CHECK
trunk/third-party-sw/libosip2-3.6.0/src/test/Makefile.am
trunk/third-party-sw/libosip2-3.6.0/src/test/Makefile.in
trunk/third-party-sw/libosip2-3.6.0/src/test/res/
trunk/third-party-sw/libosip2-3.6.0/src/test/res/Makefile.am
trunk/third-party-sw/libosip2-3.6.0/src/test/res/Makefile.in
trunk/third-party-sw/libosip2-3.6.0/src/test/res/auths.txt
trunk/third-party-sw/libosip2-3.6.0/src/test/res/callids.txt
trunk/third-party-sw/libosip2-3.6.0/src/test/res/contacts.txt
trunk/third-party-sw/libosip2-3.6.0/src/test/res/contenttypes.txt
trunk/third-party-sw/libosip2-3.6.0/src/test/res/froms.txt
trunk/third-party-sw/libosip2-3.6.0/src/test/res/recordroutes.txt
trunk/third-party-sw/libosip2-3.6.0/src/test/res/routes.txt
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sdp0
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sdp1
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sdp10
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sdp11
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sdp12
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sdp13
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sdp14
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sdp15
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sdp2
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sdp3
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sdp4
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sdp5
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sdp6
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sdp7
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sdp8
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sdp9
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip-malformed0
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip-malformed1
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip-malformed2
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip-malformed3
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip-malformed4
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip-malformed5
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip-malformed6
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip-malformed8
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip0
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip1
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip10
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip11
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip12
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip13
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip14
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip15
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip16
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip17
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip18
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip19
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip2
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip20
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip21
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip22
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip23
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip24
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip25
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip26
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip27
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip28
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip29
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip3
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip30
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip31
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip32
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip33
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip34
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip35
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip36
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip37
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip38
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip39
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip4
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip40
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip41
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip42
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip43
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip44
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip45
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip46
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip47
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip48
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip49
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip5
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip50
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip51
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip52
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip53
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip54
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip55
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip56
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip57
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip58
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip59
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip6
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip60
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip61
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip62
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip63
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip64
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip65
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip66
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip67
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip68
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip69
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip7
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip70
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip71
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip72
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip73
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip74
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip75
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip76
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip77
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip78
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip79
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip8
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip80
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip81
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip82
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip83
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip84
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip85
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip86
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip87
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip88
trunk/third-party-sw/libosip2-3.6.0/src/test/res/sip9
trunk/third-party-sw/libosip2-3.6.0/src/test/res/torture_hgs
trunk/third-party-sw/libosip2-3.6.0/src/test/res/torture_msgs2
trunk/third-party-sw/libosip2-3.6.0/src/test/res/torture_sdps
trunk/third-party-sw/libosip2-3.6.0/src/test/res/tos.txt
trunk/third-party-sw/libosip2-3.6.0/src/test/res/urls.txt
trunk/third-party-sw/libosip2-3.6.0/src/test/res/vias.txt
trunk/third-party-sw/libosip2-3.6.0/src/test/res/wwwas.txt
trunk/third-party-sw/libosip2-3.6.0/src/test/tcallid.c
trunk/third-party-sw/libosip2-3.6.0/src/test/tcontact.c
trunk/third-party-sw/libosip2-3.6.0/src/test/tcontentt.c
trunk/third-party-sw/libosip2-3.6.0/src/test/tfrom.c
trunk/third-party-sw/libosip2-3.6.0/src/test/torture.c
trunk/third-party-sw/libosip2-3.6.0/src/test/trecordr.c
trunk/third-party-sw/libosip2-3.6.0/src/test/troute.c
trunk/third-party-sw/libosip2-3.6.0/src/test/tst
trunk/third-party-sw/libosip2-3.6.0/src/test/tto.c
trunk/third-party-sw/libosip2-3.6.0/src/test/turls.c
trunk/third-party-sw/libosip2-3.6.0/src/test/tvia.c
trunk/third-party-sw/libosip2-3.6.0/src/test/twwwa.c
trunk/third-party-sw/win_pcap/
trunk/third-party-sw/win_pcap/Examples-pcap/
trunk/third-party-sw/win_pcap/Examples-pcap/GNUmakefile
trunk/third-party-sw/win_pcap/Examples-pcap/MakeaAll.dsw
trunk/third-party-sw/win_pcap/Examples-pcap/MakeaAll.sln
trunk/third-party-sw/win_pcap/Examples-pcap/UDPdump/
trunk/third-party-sw/win_pcap/Examples-pcap/UDPdump/GNUmakefile
trunk/third-party-sw/win_pcap/Examples-pcap/UDPdump/UDPdump.dsp
trunk/third-party-sw/win_pcap/Examples-pcap/UDPdump/UDPdump.dsw
trunk/third-party-sw/win_pcap/Examples-pcap/UDPdump/UDPdump.vcproj
trunk/third-party-sw/win_pcap/Examples-pcap/UDPdump/udpdump.c
trunk/third-party-sw/win_pcap/Examples-pcap/basic_dump/
trunk/third-party-sw/win_pcap/Examples-pcap/basic_dump/GNUmakefile
trunk/third-party-sw/win_pcap/Examples-pcap/basic_dump/basic_dump.c
trunk/third-party-sw/win_pcap/Examples-pcap/basic_dump/basic_dump.dsp
trunk/third-party-sw/win_pcap/Examples-pcap/basic_dump/basic_dump.dsw
trunk/third-party-sw/win_pcap/Examples-pcap/basic_dump/basic_dump.vcproj
trunk/third-party-sw/win_pcap/Examples-pcap/basic_dump_ex/
trunk/third-party-sw/win_pcap/Examples-pcap/basic_dump_ex/GNUmakefile
trunk/third-party-sw/win_pcap/Examples-pcap/basic_dump_ex/basic_dump_ex.c
trunk/third-party-sw/win_pcap/Examples-pcap/basic_dump_ex/basic_dump_ex.dsp
trunk/third-party-sw/win_pcap/Examples-pcap/basic_dump_ex/basic_dump_ex.dsw
trunk/third-party-sw/win_pcap/Examples-pcap/basic_dump_ex/basic_dump_ex.vcproj
trunk/third-party-sw/win_pcap/Examples-pcap/iflist/
trunk/third-party-sw/win_pcap/Examples-pcap/iflist/GNUmakefile
trunk/third-party-sw/win_pcap/Examples-pcap/iflist/iflist.c
trunk/third-party-sw/win_pcap/Examples-pcap/iflist/iflist.dsp
trunk/third-party-sw/win_pcap/Examples-pcap/iflist/iflist.dsw
trunk/third-party-sw/win_pcap/Examples-pcap/iflist/iflist.vcproj
trunk/third-party-sw/win_pcap/Examples-pcap/pcap_filter/
trunk/third-party-sw/win_pcap/Examples-pcap/pcap_filter/GNUmakefile
trunk/third-party-sw/win_pcap/Examples-pcap/pcap_filter/Makefile.unix
trunk/third-party-sw/win_pcap/Examples-pcap/pcap_filter/pcap_filter.c
trunk/third-party-sw/win_pcap/Examples-pcap/pcap_filter/pcap_filter.dsp
trunk/third-party-sw/win_pcap/Examples-pcap/pcap_filter/pcap_filter.dsw
trunk/third-party-sw/win_pcap/Examples-pcap/pcap_filter/pcap_filter.vcproj
trunk/third-party-sw/win_pcap/Examples-pcap/pktdump_ex/
trunk/third-party-sw/win_pcap/Examples-pcap/pktdump_ex/GNUmakefile
trunk/third-party-sw/win_pcap/Examples-pcap/pktdump_ex/pktdump_ex.c
trunk/third-party-sw/win_pcap/Examples-pcap/pktdump_ex/pktdump_ex.dsp
trunk/third-party-sw/win_pcap/Examples-pcap/pktdump_ex/pktdump_ex.dsw
trunk/third-party-sw/win_pcap/Examples-pcap/pktdump_ex/pktdump_ex.vcproj
trunk/third-party-sw/win_pcap/Examples-pcap/readfile/
trunk/third-party-sw/win_pcap/Examples-pcap/readfile/GNUmakefile
trunk/third-party-sw/win_pcap/Examples-pcap/readfile/readfile.c
trunk/third-party-sw/win_pcap/Examples-pcap/readfile/readfile.dsp
trunk/third-party-sw/win_pcap/Examples-pcap/readfile/readfile.dsw
trunk/third-party-sw/win_pcap/Examples-pcap/readfile/readfile.vcproj
trunk/third-party-sw/win_pcap/Examples-pcap/readfile_ex/
trunk/third-party-sw/win_pcap/Examples-pcap/readfile_ex/GNUmakefile
trunk/third-party-sw/win_pcap/Examples-pcap/readfile_ex/readfile_ex.c
trunk/third-party-sw/win_pcap/Examples-pcap/readfile_ex/readfile_ex.dsp
trunk/third-party-sw/win_pcap/Examples-pcap/readfile_ex/readfile_ex.dsw
trunk/third-party-sw/win_pcap/Examples-pcap/readfile_ex/readfile_ex.vcproj
trunk/third-party-sw/win_pcap/Examples-pcap/savedump/
trunk/third-party-sw/win_pcap/Examples-pcap/savedump/GNUmakefile
trunk/third-party-sw/win_pcap/Examples-pcap/savedump/savedump.c
trunk/third-party-sw/win_pcap/Examples-pcap/savedump/savedump.dsp
trunk/third-party-sw/win_pcap/Examples-pcap/savedump/savedump.dsw
trunk/third-party-sw/win_pcap/Examples-pcap/savedump/savedump.vcproj
trunk/third-party-sw/win_pcap/Examples-pcap/sendpack/
trunk/third-party-sw/win_pcap/Examples-pcap/sendpack/GNUmakefile
trunk/third-party-sw/win_pcap/Examples-pcap/sendpack/sendpack.c
trunk/third-party-sw/win_pcap/Examples-pcap/sendpack/sendpack.dsp
trunk/third-party-sw/win_pcap/Examples-pcap/sendpack/sendpack.dsw
trunk/third-party-sw/win_pcap/Examples-pcap/sendpack/sendpack.vcproj
trunk/third-party-sw/win_pcap/Examples-remote/
trunk/third-party-sw/win_pcap/Examples-remote/MakeAll.sln
trunk/third-party-sw/win_pcap/Examples-remote/MakeaAll.dsw
trunk/third-party-sw/win_pcap/Examples-remote/PacketDriver/
trunk/third-party-sw/win_pcap/Examples-remote/PacketDriver/GetMacAddress/
trunk/third-party-sw/win_pcap/Examples-remote/PacketDriver/GetMacAddress/GetMacAddress.c
trunk/third-party-sw/win_pcap/Examples-remote/PacketDriver/GetMacAddress/GetMacAddress.dsp
trunk/third-party-sw/win_pcap/Examples-remote/PacketDriver/GetMacAddress/GetMacAddress.vcproj
trunk/third-party-sw/win_pcap/Examples-remote/PacketDriver/TestPacketCapture/
trunk/third-party-sw/win_pcap/Examples-remote/PacketDriver/TestPacketCapture/TestPacketCapture.c
trunk/third-party-sw/win_pcap/Examples-remote/PacketDriver/TestPacketCapture/TestPacketCapture.dsp
trunk/third-party-sw/win_pcap/Examples-remote/PacketDriver/TestPacketCapture/TestPacketCapture.vcproj
trunk/third-party-sw/win_pcap/Examples-remote/PacketDriver/TestPacketSend/
trunk/third-party-sw/win_pcap/Examples-remote/PacketDriver/TestPacketSend/TestPacketSend.c
trunk/third-party-sw/win_pcap/Examples-remote/PacketDriver/TestPacketSend/TestPacketSend.dsp
trunk/third-party-sw/win_pcap/Examples-remote/PacketDriver/TestPacketSend/TestPacketSend.vcproj
trunk/third-party-sw/win_pcap/Examples-remote/PacketDriver/readme.txt
trunk/third-party-sw/win_pcap/Examples-remote/UDPdump/
trunk/third-party-sw/win_pcap/Examples-remote/UDPdump/UDPdump.dsp
trunk/third-party-sw/win_pcap/Examples-remote/UDPdump/UDPdump.dsw
trunk/third-party-sw/win_pcap/Examples-remote/UDPdump/UDPdump.vcproj
trunk/third-party-sw/win_pcap/Examples-remote/UDPdump/udpdump.c
trunk/third-party-sw/win_pcap/Examples-remote/UserLevelBridge/
trunk/third-party-sw/win_pcap/Examples-remote/UserLevelBridge/UserBridge.c
trunk/third-party-sw/win_pcap/Examples-remote/UserLevelBridge/UserBridge.dsp
trunk/third-party-sw/win_pcap/Examples-remote/UserLevelBridge/UserBridge.dsw
trunk/third-party-sw/win_pcap/Examples-remote/UserLevelBridge/UserBridge.vcproj
trunk/third-party-sw/win_pcap/Examples-remote/iflist/
trunk/third-party-sw/win_pcap/Examples-remote/iflist/iflist.c
trunk/third-party-sw/win_pcap/Examples-remote/iflist/iflist.dsp
trunk/third-party-sw/win_pcap/Examples-remote/iflist/iflist.dsw
trunk/third-party-sw/win_pcap/Examples-remote/iflist/iflist.vcproj
trunk/third-party-sw/win_pcap/Examples-remote/misc/
trunk/third-party-sw/win_pcap/Examples-remote/misc/MakeAll.sln
...
[truncated message content] |
|
From: <xb...@us...> - 2012-10-31 11:11:36
|
Revision: 1497
http://scstudio.svn.sourceforge.net/scstudio/?rev=1497&view=rev
Author: xborza
Date: 2012-10-31 11:11:24 +0000 (Wed, 31 Oct 2012)
Log Message:
-----------
updated pcap --> not check if works on both platforms
Modified Paths:
--------------
trunk/CMakeLists.txt
trunk/src/data/pcap/CMakeLists.txt
trunk/src/data/pcap/application_layer.h
trunk/src/data/pcap/flow_stats.h
trunk/src/data/pcap/pcap_load.cpp
trunk/src/data/pcap/pcap_load.h
trunk/src/data/pcap/pcap_struct.cpp
trunk/src/data/pcap/pcap_struct.h
trunk/src/data/pcap/transport_layer.h
trunk/tests/pcap/pcap_test.cpp
trunk/third-party-sw/http_parser/CMakeLists.txt
trunk/third-party-sw/http_parser/Makefile
trunk/third-party-sw/libosip2-3.6.0/CMakeLists.txt
trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_port.c
Modified: trunk/CMakeLists.txt
===================================================================
--- trunk/CMakeLists.txt 2012-10-30 11:11:11 UTC (rev 1496)
+++ trunk/CMakeLists.txt 2012-10-31 11:11:24 UTC (rev 1497)
@@ -84,11 +84,11 @@
#pcap setup
OPTION(BUILD_PCAP "Enable to build the PCAP import module" OFF)
+#SET(BUILD_PCAP ON)
IF(BUILD_PCAP)
- SET(OSIP_ROOT "${CMAKE_SOURCE_DIR}/third-party-sw/libosip2-3.6.0" CACHE PATH
- "The SIP parser root." )
+ MESSAGE("BUILD PCAP")
+ SET(OSIP_ROOT "${CMAKE_SOURCE_DIR}/third-party-sw/libosip2-3.6.0" CACHE PATH "The SIP parser root." )
ADD_SUBDIRECTORY(${OSIP_ROOT})
-
SET(HTTP_ROOT "${CMAKE_SOURCE_DIR}/third-party-sw/http_parser" CACHE PATH
"The HTTP parser root.")
ADD_SUBDIRECTORY(${HTTP_ROOT})
Modified: trunk/src/data/pcap/CMakeLists.txt
===================================================================
--- trunk/src/data/pcap/CMakeLists.txt 2012-10-30 11:11:11 UTC (rev 1496)
+++ trunk/src/data/pcap/CMakeLists.txt 2012-10-31 11:11:24 UTC (rev 1497)
@@ -23,18 +23,14 @@
pcap_struct.cpp
pcap_load.h
pcap_load.cpp
-# arp.cpp
-# ethernet.cpp
-# icmp.cpp
-# ip.cpp
-# tcp.cpp
-# udp.cpp
)
+SET(LINKED_LIBRARIES scmsc ${PCAP_LIBRARY} http_parser osipparser2)
+
+IF(WIN32)
+ LIST(APPEND LINKED_LIBRARIES ws2_32)
+ENDIF(WIN32)
+
TARGET_LINK_LIBRARIES(scpcap
- scmsc
- ws2_32
- ${PCAP_LIBRARY}
- http_parser
- osipparser2
+ ${LINKED_LIBRARIES}
)
Modified: trunk/src/data/pcap/application_layer.h
===================================================================
--- trunk/src/data/pcap/application_layer.h 2012-10-30 11:11:11 UTC (rev 1496)
+++ trunk/src/data/pcap/application_layer.h 2012-10-31 11:11:24 UTC (rev 1497)
@@ -135,7 +135,7 @@
stringify( HEADERS_COMPLETE ),
stringify( DATA_PART ),
stringify( DATA_COMPLETE ),
- stringify( ALL_DATA )
+ stringify( ALL_DATA )
};
struct HttpHeader {
@@ -167,16 +167,16 @@
bool message_complete;
inline bool operator<(const HttpMessage &other) const
- {
- return (abs(tcp_id) < abs(other.tcp_id));
- }
+ {
+ return tcp_id < other.tcp_id;
+ }
inline bool operator==(const HttpMessage &other) const
{
- return (abs(tcp_id) == abs(other.tcp_id));
+ return tcp_id == other.tcp_id;
}
inline bool operator!=(const HttpMessage &other) const
{
- return (abs(tcp_id) != abs(other.tcp_id));
+ return tcp_id != other.tcp_id;
}
};
Modified: trunk/src/data/pcap/flow_stats.h
===================================================================
--- trunk/src/data/pcap/flow_stats.h 2012-10-30 11:11:11 UTC (rev 1496)
+++ trunk/src/data/pcap/flow_stats.h 2012-10-31 11:11:24 UTC (rev 1497)
@@ -16,7 +16,7 @@
#undef max
#endif
-typedef std::pair<u_short,InstancePtr> num_inst_pair;
+typedef std::pair<short,InstancePtr> num_inst_pair;
typedef std::pair<u_long,u_long> time_pair;
typedef enum {
@@ -256,4 +256,4 @@
std::string get_smart_label();
};
-#endif
\ No newline at end of file
+#endif
Modified: trunk/src/data/pcap/pcap_load.cpp
===================================================================
--- trunk/src/data/pcap/pcap_load.cpp 2012-10-30 11:11:11 UTC (rev 1496)
+++ trunk/src/data/pcap/pcap_load.cpp 2012-10-31 11:11:24 UTC (rev 1497)
@@ -49,126 +49,28 @@
struct bpf_program fcode;
- /* Retrieve the device list */
- if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL, &alldevs, errbuf) == -1)
- {
- fprintf(stderr,"Error in pcap_findalldevs: %s\n", errbuf);
- exit(1);
- }
-
- /* Print the list */
- for(d=alldevs; d; d=d->next)
- {
- printf("%d. %s", ++i, d->name);
- if (d->description)
- printf(" (%s)\n", d->description);
- else
- printf(" (No description available)\n");
- }
- if(i==0)
+ // OPEN OFFLINE MODE
+ if((adhandle = pcap_open_offline(filename.c_str(),errbuf)) == NULL)
{
- printf("\nNo interfaces found! Make sure WinPcap is installed.\n");
+ std::cout << "ERROR: Cannot open pcap file >" << filename << " < , wrong name!\n";
return result;
}
- printf("Enter the interface number (1-%d) or press 0 choose offline mode:",i);
- scanf_s("%d", &inum);
-
- if(inum < 0 || inum > i)
+ /* Check the link layer. We support only Ethernet for simplicity. */
+ if(pcap_datalink(adhandle) != DLT_EN10MB)
{
- printf("\nInterface number out of range.\n");
- /* Free the device list */
- pcap_freealldevs(alldevs);
- return result;
+ printf("This program works only on Ethernet networks.\n");
+ return result;
}
-
- if(inum != 0){ // online mode
- //show info about device :
- //--------------------------------------------------------------------------------------------
- pcap_addr_t *a;
- char ip6str[128];
-
- for(a=d->addresses;a;a=a->next) {
- printf("\tAddress Family: #%d\n",a->addr->sa_family);
-
- switch(a->addr->sa_family)
- {
- case AF_INET:
- printf("\tAddress Family Name: AF_INET\n");
- if (a->addr)
- printf("\tAddress: %s\n",iptos(((struct sockaddr_in *)a->addr)->sin_addr.s_addr));
- if (a->netmask)
- printf("\tNetmask: %s\n",iptos(((struct sockaddr_in *)a->netmask)->sin_addr.s_addr));
- if (a->broadaddr)
- printf("\tBroadcast Address: %s\n",iptos(((struct sockaddr_in *)a->broadaddr)->sin_addr.s_addr));
- if (a->dstaddr)
- printf("\tDestination Address: %s\n",iptos(((struct sockaddr_in *)a->dstaddr)->sin_addr.s_addr));
- break;
-
- case AF_INET6:
- printf("\tAddress Family Name: AF_INET6\n");
- if (a->addr)
- printf("\tAddress: %s\n", ip6tos(a->addr, ip6str, sizeof(ip6str)));
- break;
-
- default:
- printf("\tAddress Family Name: Unknown\n");
- break;
- }
- }
- //--------------------------------------------------------------------------------------------
+ /* If the interface is without addresses we suppose to be in a C class network */
+ netmask=0xffffff;
- /* Jump to the selected adapter */
- for(d=alldevs, i=0; i< inum-1 ;d=d->next, i++);
-
- /* Open the adapter */
- if ( (adhandle= pcap_open(d->name, // name of the device
- 65536, // portion of the packet to capture.
- // 65536 grants that the whole packet will be captured on all the MACs.
- PCAP_OPENFLAG_PROMISCUOUS, // promiscuous mode
- 1000, // read timeout
- NULL, // remote authentication
- errbuf // error buffer
- ) ) == NULL)
- {
- fprintf(stderr,"\nUnable to open the adapter. %s is not supported by WinPcap\n");
- /* Free the device list */
- pcap_freealldevs(alldevs);
- return result;
- }
- }
- else{ // OPEN OFFLINE MODE
- if((adhandle = pcap_open_offline(filename.c_str(),errbuf)) == NULL){
- std::cout << "ERROR: Cannot open pcap file >" << filename << " < , wrong name!\n";
- return result;
- }
- }
-
- /* Check the link layer. We support only Ethernet for simplicity. */
- if(pcap_datalink(adhandle) != DLT_EN10MB)
- {
- fprintf(stderr,"\nThis program works only on Ethernet networks.\n");
- /* Free the device list */
- pcap_freealldevs(alldevs);
- return result;
- }
-
-
- if(inum != 0 && d->addresses != NULL)
- /* Retrieve the mask of the first address of the interface */
- netmask=((struct sockaddr_in *)(d->addresses->netmask))->sin_addr.S_un.S_addr;
- else
- /* If the interface is without addresses we suppose to be in a C class network */
- netmask=0xffffff;
-
//compile the filter
if (pcap_compile(adhandle, &fcode, packet_filter, 1, netmask) <0 )
{
fprintf(stderr,"\nUnable to compile the packet filter. Check the syntax.\n");
- /* Free the device list */
- pcap_freealldevs(alldevs);
return result;
}
@@ -176,20 +78,14 @@
if (pcap_setfilter(adhandle, &fcode)<0)
{
fprintf(stderr,"\nError setting the filter.\n");
- /* Free the device list */
- pcap_freealldevs(alldevs);
return result;
}
- printf("\nlistening on %s...\n", (inum == 0) ? "OFFLINE" : d->description);
- /* At this point, we don't need any more the device list. Free it */
- pcap_freealldevs(alldevs);
-
/* start the capture */
//-------------------------------------------------------------------------------------
ParseSettings* settings = new ParseSettings();
- settings->parse_layer = APP_LAYER;
+ settings->parse_layer = IP_LAYER;
settings->show_timestamps = false;
FlowSettings* f_settings = new FlowSettings();
@@ -199,7 +95,7 @@
f_settings->show_packet_count = true;
//---------------------------------------------------------------------------------------------
- PcapContext* pcapCon = new PcapContext(settings,new FlowControl(f_settings));
+ PcapContext* pcapCon = new PcapContext(settings/*,new FlowControl(f_settings)*/);
//---------------------------------------------------------------------------------------------
handStruct hands;
hands.pcap = pcapCon;
@@ -221,41 +117,4 @@
return result;
}
-char *iptos(u_long in)
-{
- static char output[IPTOSBUFFERS][3*4+3+1];
- static short which;
- u_char *p;
-
- p = (u_char *)∈
- which = (which + 1 == IPTOSBUFFERS ? 0 : which + 1);
- _snprintf_s(output[which], sizeof(output[which]), sizeof(output[which]),"%d.%d.%d.%d", p[0], p[1], p[2], p[3]);
- return output[which];
-}
-
-char* ip6tos(struct sockaddr *sockaddr, char *address, int addrlen)
-{
- socklen_t sockaddrlen;
-
- #ifdef WIN32
- sockaddrlen = sizeof(struct sockaddr_in6);
- #else
- sockaddrlen = sizeof(struct sockaddr_storage);
- #endif
-
- if(getnameinfo(sockaddr,
- sockaddrlen,
- address,
- addrlen,
- NULL,
- 0,
- NI_NUMERICHOST) != 0) address = NULL;
-
- return address;
-}
-
-
-
-
-
// $Id$
Modified: trunk/src/data/pcap/pcap_load.h
===================================================================
--- trunk/src/data/pcap/pcap_load.h 2012-10-30 11:11:11 UTC (rev 1496)
+++ trunk/src/data/pcap/pcap_load.h 2012-10-31 11:11:24 UTC (rev 1497)
@@ -23,9 +23,13 @@
#define uint16_t UINT16
#define uint32_t UINT32
-//#include <WinSock2.h>
-//#define NOMINMAX // for using MIN and MAX from algorithm
-//#include <Windows.h>
+#include <WinSock2.h> // edited in Linux
+#define NOMINMAX // for using MIN and MAX from algorithm
+#include <Windows.h> // edited in Linux
+
+#else
+#include <arpa/inet.h>
+
#endif
//#include "pcap_struct.h"
@@ -72,9 +76,6 @@
int inspect_udp(const PacketDataUnit& packet);
};
+#endif
-char *iptos(u_long in);
-char* ip6tos(struct sockaddr *sockaddr, char *address, int addrlen);
-#endif _SCPCAP_PCAP_IMPORT_H_
-
// $Id$
Modified: trunk/src/data/pcap/pcap_struct.cpp
===================================================================
--- trunk/src/data/pcap/pcap_struct.cpp 2012-10-30 11:11:11 UTC (rev 1496)
+++ trunk/src/data/pcap/pcap_struct.cpp 2012-10-31 11:11:24 UTC (rev 1497)
@@ -30,26 +30,28 @@
void PcapContext::diagram_update(int pckt_id,std::string src,std::string dst,std::string label,u_long timestamp,spec_data f_data){
- num_inst_pair* src_pair;
- num_inst_pair* dst_pair;
+ num_inst_pair src_pair;
+ num_inst_pair dst_pair;
+ src_pair = get_num_inst(src);
+ dst_pair = get_num_inst(dst);
- if((src_pair = get_num_inst(src)) == NULL)
- src_pair = &create_instance(src);
+ if(src_pair.first == -1)
+ src_pair = create_instance(src);
- if((dst_pair = get_num_inst(dst)) == NULL)
- dst_pair = &create_instance(dst);
+ if(dst_pair.first == -1)
+ dst_pair = create_instance(dst);
if(flow_control == NULL) // classic_diagram_update
{
- EventPtr e1 = src_pair->second->get_last()->add_event();
- EventPtr e2 = dst_pair->second->get_last()->add_event();
+ EventPtr e1 = src_pair.second->get_last()->add_event();
+ EventPtr e2 = dst_pair.second->get_last()->add_event();
add_new_message(e1,e2,label,timestamp,true);
}
else // flow diagram update
{
std::vector<flow_output> messages;
- messages = flow_control->update_flow(pckt_id,*src_pair,*dst_pair,f_data,timestamp,label);
+ messages = flow_control->update_flow(pckt_id,src_pair,dst_pair,f_data,timestamp,label);
// add messages to diagram --> TODO map and function
for(u_short i=0; i < messages.size();i++)
@@ -177,22 +179,26 @@
instance->add_area(new StrictOrderArea());
msc->add_instance(instance);
- add_pair = std::make_pair(inst_count,instance);
+ add_pair.first = inst_count;
+ add_pair.second = instance;
- instance_map.insert(std::pair<std::string,num_inst_pair>(address, add_pair));
+ instance_map.insert(std::pair<std::string,num_inst_pair>(address, add_pair));
inst_count++;
return add_pair;
}
-num_inst_pair* PcapContext::get_num_inst(std::string address){
+num_inst_pair PcapContext::get_num_inst(std::string address){
std::map<std::string,num_inst_pair>::iterator instance_iter;
instance_iter = instance_map.find(address);
if(instance_iter == instance_map.end())
- return NULL;
+ {
+ InstancePtr inst = NULL;
+ return std::make_pair(-1,inst);
+ }
else
- return &instance_iter->second;
+ return instance_iter->second;
}
void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data){
@@ -232,7 +238,7 @@
/* convert the timestamp to readable format */
local_tv_sec = header->ts.tv_sec;
- localtime_s(<ime, &local_tv_sec);
+ localtime_r(&local_tv_sec, <ime);
strftime( timestr, sizeof timestr, "%H:%M:%S", <ime);
Modified: trunk/src/data/pcap/pcap_struct.h
===================================================================
--- trunk/src/data/pcap/pcap_struct.h 2012-10-30 11:11:11 UTC (rev 1496)
+++ trunk/src/data/pcap/pcap_struct.h 2012-10-31 11:11:24 UTC (rev 1497)
@@ -85,9 +85,9 @@
void add_new_message(EventPtr src_e,EventPtr dst_e,std::string label,u_long timestamp = 0,bool set_all_times = true);
- num_inst_pair create_instance(std::string address);
+ num_inst_pair create_instance(std::string address);
- num_inst_pair* get_num_inst(std::string address);
+ num_inst_pair get_num_inst(std::string address);
};
typedef struct handStruct{
Modified: trunk/src/data/pcap/transport_layer.h
===================================================================
--- trunk/src/data/pcap/transport_layer.h 2012-10-30 11:11:11 UTC (rev 1496)
+++ trunk/src/data/pcap/transport_layer.h 2012-10-31 11:11:24 UTC (rev 1497)
@@ -101,7 +101,7 @@
#define stringify( name ) # name
-char* const flagsNames[] =
+static const char* flagsNames[] =
{
stringify( FIN ),
stringify( FIN_ACK ),
@@ -314,4 +314,4 @@
std::string message();
};
-#endif
\ No newline at end of file
+#endif
Modified: trunk/tests/pcap/pcap_test.cpp
===================================================================
--- trunk/tests/pcap/pcap_test.cpp 2012-10-30 11:11:11 UTC (rev 1496)
+++ trunk/tests/pcap/pcap_test.cpp 2012-10-31 11:11:24 UTC (rev 1497)
@@ -70,14 +70,14 @@
std::vector<MscPtr> msc = pcap.load_msc(argv[1]);
- char *path = _strdup(argv[1]);
+ char *path = strdup(argv[1]);
char *filename = extract_filename(path);
- char *path2 = _strdup(argv[2]);
+ char *path2 = strdup(argv[2]);
std::string outmsc;
outmsc.append(argv[2]);
outmsc.append(".mpr");
- outFile.open(outmsc);
+ outFile.open(outmsc.c_str());
if(!msc.empty())
Modified: trunk/third-party-sw/http_parser/CMakeLists.txt
===================================================================
--- trunk/third-party-sw/http_parser/CMakeLists.txt 2012-10-30 11:11:11 UTC (rev 1496)
+++ trunk/third-party-sw/http_parser/CMakeLists.txt 2012-10-31 11:11:24 UTC (rev 1497)
@@ -1,10 +1,10 @@
-ADD_LIBRARY(http_parser STATIC
+ADD_LIBRARY(http_parser SHARED
http_parser.h
http_parser.c
)
-set_target_properties(http_parser PROPERTIES
- LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib)
+#set_target_properties(http_parser PROPERTIES
+ #LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib)
Modified: trunk/third-party-sw/http_parser/Makefile
===================================================================
--- trunk/third-party-sw/http_parser/Makefile 2012-10-30 11:11:11 UTC (rev 1496)
+++ trunk/third-party-sw/http_parser/Makefile 2012-10-31 11:11:24 UTC (rev 1497)
@@ -1,64 +1,217 @@
-CC?=gcc
-AR?=ar
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 2.8
-CPPFLAGS += -I.
-CPPFLAGS_DEBUG = $(CPPFLAGS) -DHTTP_PARSER_STRICT=1 -DHTTP_PARSER_DEBUG=1
-CPPFLAGS_DEBUG += $(CPPFLAGS_DEBUG_EXTRA)
-CPPFLAGS_FAST = $(CPPFLAGS) -DHTTP_PARSER_STRICT=0 -DHTTP_PARSER_DEBUG=0
-CPPFLAGS_FAST += $(CPPFLAGS_FAST_EXTRA)
+# Default target executed when no arguments are given to make.
+default_target: all
+.PHONY : default_target
-CFLAGS += -Wall -Wextra -Werror
-CFLAGS_DEBUG = $(CFLAGS) -O0 -g $(CFLAGS_DEBUG_EXTRA)
-CFLAGS_FAST = $(CFLAGS) -O3 $(CFLAGS_FAST_EXTRA)
-CFLAGS_LIB = $(CFLAGS_FAST) -fPIC
+#=============================================================================
+# Special targets provided by cmake.
-test: test_g test_fast
- ./test_g
- ./test_fast
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
-test_g: http_parser_g.o test_g.o
- $(CC) $(CFLAGS_DEBUG) $(LDFLAGS) http_parser_g.o test_g.o -o $@
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
-test_g.o: test.c http_parser.h Makefile
- $(CC) $(CPPFLAGS_DEBUG) $(CFLAGS_DEBUG) -c test.c -o $@
+.SUFFIXES: .hpux_make_needs_suffix_list
-http_parser_g.o: http_parser.c http_parser.h Makefile
- $(CC) $(CPPFLAGS_DEBUG) $(CFLAGS_DEBUG) -c http_parser.c -o $@
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
-test_fast: http_parser.o test.o http_parser.h
- $(CC) $(CFLAGS_FAST) $(LDFLAGS) http_parser.o test.o -o $@
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
-test.o: test.c http_parser.h Makefile
- $(CC) $(CPPFLAGS_FAST) $(CFLAGS_FAST) -c test.c -o $@
+#=============================================================================
+# Set environment variables for the build.
-url_parser: http_parser_g.o url_parser.o
- $(CC) $(CFLAGS_DEBUG) $(LDFLAGS) http_parser_g.o url_parser.o -o $@
+# The shell in which to execute make rules.
+SHELL = /bin/sh
-url_parser.o: url_parser.c http_parser.h Makefile
- $(CC) $(CPPFLAGS_DEBUG) $(CFLAGS_DEBUG) -c url_parser.c -o $@
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
-http_parser.o: http_parser.c http_parser.h Makefile
- $(CC) $(CPPFLAGS_FAST) $(CFLAGS_FAST) -c http_parser.c
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
-test-run-timed: test_fast
- while(true) do time ./test_fast > /dev/null; done
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/viktor/scstudio/trunk
-test-valgrind: test_g
- valgrind ./test_g
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/viktor/scstudio/trunk
-libhttp_parser.o: http_parser.c http_parser.h Makefile
- $(CC) $(CPPFLAGS_FAST) $(CFLAGS_LIB) -c http_parser.c -o libhttp_parser.o
+#=============================================================================
+# Targets provided globally by CMake.
-library: libhttp_parser.o
- $(CC) -shared -o libhttp_parser.so libhttp_parser.o
+# Special rule for the target edit_cache
+edit_cache:
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..."
+ /usr/bin/cmake -i .
+.PHONY : edit_cache
-package: http_parser.o
- $(AR) rcs libhttp_parser.a http_parser.o
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+.PHONY : edit_cache/fast
-tags: http_parser.c http_parser.h test.c
- ctags $^
+# Special rule for the target install
+install: preinstall
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
+ /usr/bin/cmake -P cmake_install.cmake
+.PHONY : install
+# Special rule for the target install
+install/fast: preinstall/fast
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
+ /usr/bin/cmake -P cmake_install.cmake
+.PHONY : install/fast
+
+# Special rule for the target install/local
+install/local: preinstall
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
+ /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local
+
+# Special rule for the target install/local
+install/local/fast: install/local
+.PHONY : install/local/fast
+
+# Special rule for the target install/strip
+install/strip: preinstall
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
+ /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip
+
+# Special rule for the target install/strip
+install/strip/fast: install/strip
+.PHONY : install/strip/fast
+
+# Special rule for the target list_install_components
+list_install_components:
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
+.PHONY : list_install_components
+
+# Special rule for the target list_install_components
+list_install_components/fast: list_install_components
+.PHONY : list_install_components/fast
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
+ /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+.PHONY : rebuild_cache/fast
+
+# Special rule for the target test
+test:
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..."
+ /usr/bin/ctest --force-new-ctest-process $(ARGS)
+.PHONY : test
+
+# Special rule for the target test
+test/fast: test
+.PHONY : test/fast
+
+# The main all target
+all: cmake_check_build_system
+ cd /home/viktor/scstudio/trunk && $(CMAKE_COMMAND) -E cmake_progress_start /home/viktor/scstudio/trunk/CMakeFiles /home/viktor/scstudio/trunk/third-party-sw/http_parser/CMakeFiles/progress.marks
+ cd /home/viktor/scstudio/trunk && $(MAKE) -f CMakeFiles/Makefile2 third-party-sw/http_parser/all
+ $(CMAKE_COMMAND) -E cmake_progress_start /home/viktor/scstudio/trunk/CMakeFiles 0
+.PHONY : all
+
+# The main clean target
clean:
- rm -f *.o *.a test test_fast test_g url_parser http_parser.tar tags libhttp_parser.so libhttp_parser.o
+ cd /home/viktor/scstudio/trunk && $(MAKE) -f CMakeFiles/Makefile2 third-party-sw/http_parser/clean
+.PHONY : clean
-.PHONY: clean package test-run test-run-timed test-valgrind
+# The main clean target
+clean/fast: clean
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: all
+ cd /home/viktor/scstudio/trunk && $(MAKE) -f CMakeFiles/Makefile2 third-party-sw/http_parser/preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+ cd /home/viktor/scstudio/trunk && $(MAKE) -f CMakeFiles/Makefile2 third-party-sw/http_parser/preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+ cd /home/viktor/scstudio/trunk && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+.PHONY : depend
+
+# Convenience name for target.
+third-party-sw/http_parser/CMakeFiles/http_parser.dir/rule:
+ cd /home/viktor/scstudio/trunk && $(MAKE) -f CMakeFiles/Makefile2 third-party-sw/http_parser/CMakeFiles/http_parser.dir/rule
+.PHONY : third-party-sw/http_parser/CMakeFiles/http_parser.dir/rule
+
+# Convenience name for target.
+http_parser: third-party-sw/http_parser/CMakeFiles/http_parser.dir/rule
+.PHONY : http_parser
+
+# fast build rule for target.
+http_parser/fast:
+ cd /home/viktor/scstudio/trunk && $(MAKE) -f third-party-sw/http_parser/CMakeFiles/http_parser.dir/build.make third-party-sw/http_parser/CMakeFiles/http_parser.dir/build
+.PHONY : http_parser/fast
+
+http_parser.o: http_parser.c.o
+.PHONY : http_parser.o
+
+# target to build an object file
+http_parser.c.o:
+ cd /home/viktor/scstudio/trunk && $(MAKE) -f third-party-sw/http_parser/CMakeFiles/http_parser.dir/build.make third-party-sw/http_parser/CMakeFiles/http_parser.dir/http_parser.c.o
+.PHONY : http_parser.c.o
+
+http_parser.i: http_parser.c.i
+.PHONY : http_parser.i
+
+# target to preprocess a source file
+http_parser.c.i:
+ cd /home/viktor/scstudio/trunk && $(MAKE) -f third-party-sw/http_parser/CMakeFiles/http_parser.dir/build.make third-party-sw/http_parser/CMakeFiles/http_parser.dir/http_parser.c.i
+.PHONY : http_parser.c.i
+
+http_parser.s: http_parser.c.s
+.PHONY : http_parser.s
+
+# target to generate assembly for a file
+http_parser.c.s:
+ cd /home/viktor/scstudio/trunk && $(MAKE) -f third-party-sw/http_parser/CMakeFiles/http_parser.dir/build.make third-party-sw/http_parser/CMakeFiles/http_parser.dir/http_parser.c.s
+.PHONY : http_parser.c.s
+
+# Help Target
+help:
+ @echo "The following are some of the valid targets for this Makefile:"
+ @echo "... all (the default if no target is provided)"
+ @echo "... clean"
+ @echo "... depend"
+ @echo "... edit_cache"
+ @echo "... http_parser"
+ @echo "... install"
+ @echo "... install/local"
+ @echo "... install/strip"
+ @echo "... list_install_components"
+ @echo "... rebuild_cache"
+ @echo "... test"
+ @echo "... http_parser.o"
+ @echo "... http_parser.i"
+ @echo "... http_parser.s"
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+ cd /home/viktor/scstudio/trunk && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+
Modified: trunk/third-party-sw/libosip2-3.6.0/CMakeLists.txt
===================================================================
--- trunk/third-party-sw/libosip2-3.6.0/CMakeLists.txt 2012-10-30 11:11:11 UTC (rev 1496)
+++ trunk/third-party-sw/libosip2-3.6.0/CMakeLists.txt 2012-10-31 11:11:24 UTC (rev 1497)
@@ -2,8 +2,7 @@
INCLUDE_DIRECTORIES(include)
-ADD_LIBRARY(osipparser2 STATIC
- ${HEADERS}
+ADD_LIBRARY(osipparser2 SHARED
${SOURCES}
)
Modified: trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_port.c
===================================================================
--- trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_port.c 2012-10-30 11:11:11 UTC (rev 1496)
+++ trunk/third-party-sw/libosip2-3.6.0/src/osipparser2/osip_port.c 2012-10-31 11:11:24 UTC (rev 1497)
@@ -35,9 +35,9 @@
#ifdef HAVE_SYS_STAT_H
#include <sys/stat.h>
#endif
-#ifdef HAVE_FCNTL_H
+//#ifdef HAVE_FCNTL_H // MY chabnge - O_RDNOLY
#include <fcntl.h>
-#endif
+//#endif
#ifdef HAVE_CTYPE_H
#include <ctype.h>
@@ -230,6 +230,7 @@
gettimeofday(&tv, NULL);
ticks = tv.tv_sec + tv.tv_usec;
+
fd = open("/dev/urandom", O_RDONLY);
if (fd > 0) {
unsigned int r;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <xb...@us...> - 2012-12-06 12:18:34
|
Revision: 1509
http://scstudio.svn.sourceforge.net/scstudio/?rev=1509&view=rev
Author: xborza
Date: 2012-12-06 12:18:25 +0000 (Thu, 06 Dec 2012)
Log Message:
-----------
Modified Paths:
--------------
trunk/src/data/pcap/CMakeLists.txt
trunk/src/data/pcap/application_layer.cpp
trunk/src/data/pcap/application_layer.h
trunk/src/data/pcap/ethernet_layer.cpp
trunk/src/data/pcap/flow.cpp
trunk/src/data/pcap/flow.h
trunk/src/data/pcap/flow_stats.cpp
trunk/src/data/pcap/flow_stats.h
trunk/src/data/pcap/pcap_handler.cpp
trunk/src/data/pcap/pcap_handler.h
trunk/src/data/pcap/pcap_load.cpp
trunk/src/data/pcap/pcap_settings.cpp
trunk/src/data/pcap/pcap_settings.h
trunk/src/data/pcap/protocols.h
trunk/src/data/pcap/transport_layer.cpp
trunk/src/data/pcap/transport_layer.h
trunk/src/view/visio/addon/dllmodule.rc
trunk/src/view/visio/addon/registryManager.cpp
trunk/src/view/visio/addon/resource.h
trunk/src/view/visio/addon/settingsDlg.cpp
trunk/src/view/visio/scstudio.nsi
trunk/tests/pcap/pcap_test.cpp
Modified: trunk/src/data/pcap/CMakeLists.txt
===================================================================
--- trunk/src/data/pcap/CMakeLists.txt 2012-12-05 10:49:01 UTC (rev 1508)
+++ trunk/src/data/pcap/CMakeLists.txt 2012-12-06 12:18:25 UTC (rev 1509)
@@ -6,11 +6,13 @@
export.h
bytes.h
protocols.h
+ packet.h
+ packet.cpp
+ pcap_settings.h
+ pcap_settings.cpp
module.cpp
flow_stats.h
flow_stats.cpp
- application_layer.h
- application_layer.cpp
flow.h
flow.cpp
ethernet_layer.h
@@ -19,6 +21,8 @@
internet_layer.cpp
transport_layer.h
transport_layer.cpp
+ application_layer.h
+ application_layer.cpp
pcap_handler.h
pcap_handler.cpp
pcap_load.h
Modified: trunk/src/data/pcap/application_layer.cpp
===================================================================
--- trunk/src/data/pcap/application_layer.cpp 2012-12-05 10:49:01 UTC (rev 1508)
+++ trunk/src/data/pcap/application_layer.cpp 2012-12-06 12:18:25 UTC (rev 1509)
@@ -57,6 +57,7 @@
{
std::stringstream ss;
int count = 0,iterator = 0;
+ u_char a,c;
ss << "DNS ";
// get first query
@@ -64,10 +65,14 @@
// name begins with number of characters after numb
// example: sip.arpa.net == 3sip4arpa3net
count = (int)dns_data[iterator++];
- while(count > 0){
- ss << (char)dns_data[iterator++];
+ while(count > 0 && iterator < 30) // I don't want more then 30 chars --> ERROR CLEAR
+ {
+ c = (char)dns_data[iterator++];
+ a = ( c >=32 && c <=128) ? (unsigned char) c : '.'; // spam
+ ss << a;
count--;
- if(count == 0){
+ if(count == 0)
+ {
count = (int)dns_data[iterator++];
if(count)
ss << ".";
@@ -280,16 +285,24 @@
HttpMessage* msg = new HttpMessage();
http_message_init(msg);
// init pack for parser and message
+<<<<<<< .mine
+ http_parsers.insert(std::make_pair(ports,HttpParsePack(parser,msg)));
+=======
std::cout << ports.src <<" " <<ports.dst << " ";
http_parsers.insert(std::pair<Ports,HttpParsePack>(ports,HttpParsePack(parser,msg)));
std::cout << "HTTP ok\n";
//parser = http_parsers[ports].parser;
std::cout << "HTTP ok continue 1\n";
+>>>>>>> .r1508
}
else
{ // check, if need reset parser and message
+<<<<<<< .mine
+ if(http_parsers[ports].message->message_complete)
+=======
std::cout << "EE\n";
if(http_parsers[ports].message->message_complete)
+>>>>>>> .r1508
{
std::cout << "EEEE\n";
is_new_packet = true;
@@ -298,8 +311,12 @@
}
parser = http_parsers[ports].parser;
}
+<<<<<<< .mine
+=======
+
std::cout << "here\n";
+>>>>>>> .r1508
// execute parser
parser->data = (char*)data;
nparsed = http_parser_execute(parser, settings, buffer, data_size);
@@ -490,6 +507,7 @@
if(settings->show_version)
ss << "\\" << osip_message_get_version(sip) << " ";
+
if(MSG_IS_REQUEST(sip))
{
ss << sip->sip_method << " ";
@@ -515,31 +533,40 @@
}
if(settings->show_from_to)
{
- if(settings->show_only_nick_names)
- {
- if((sip->from)->displayname != NULL)
- ss << "FROM:" << (sip->from)->displayname << " ";
+ char* rquri = new char[50];
+ if(settings->show_only_nick_names && (sip->from)->displayname != NULL)
+ {
+ rquri = osip_from_get_displayname(sip->from);
+ }
else
+<<<<<<< .mine
+ {
+ osip_from_to_str(sip->from,&rquri);
+ }
+ ss << "FROM:" << rquri << " ";
+
+ if(settings->show_only_nick_names && (sip->to)->displayname != NULL)
+ {
+ rquri = osip_from_get_displayname(sip->to);
+ }
+=======
ss << "FROM:" << osip_uri_get_username((sip->from)->url) << " ";
if((sip->to)->displayname != NULL)
ss << "TO: " << (sip->to)->displayname << " ";
+>>>>>>> .r1508
else
- ss << "TO:" << osip_uri_get_username((sip->to)->url) << " ";
- }
- else
- {
- char* rquri = NULL;
- if(osip_uri_to_str((sip->from)->url,&rquri) == 0)
- ss << "FROM:" << rquri << " ";
-
- if(osip_uri_to_str((sip->to)->url,&rquri) == 0)
- ss << "TO:" << rquri << " ";
+ {
+ osip_from_to_str(sip->to,&rquri);
+ }
+ ss << "TO:" << rquri << " ";
osip_free(rquri);
- }
}
+<<<<<<< .mine
+=======
+>>>>>>> .r1508
return ss.str();
}
Modified: trunk/src/data/pcap/application_layer.h
===================================================================
--- trunk/src/data/pcap/application_layer.h 2012-12-05 10:49:01 UTC (rev 1508)
+++ trunk/src/data/pcap/application_layer.h 2012-12-06 12:18:25 UTC (rev 1509)
@@ -143,7 +143,20 @@
parser = p;
message = m;
}
+<<<<<<< .mine
+ // WHY IT DONT WORK ????!!!!!
+ /*~HttpParsePack()
+ {
+ free(parser);
+ delete message;
+ }*/
+}HttpParsePack;
+=======
+>>>>>>> .r1508
+<<<<<<< .mine
+class HttpPacket : public Packet
+=======
~HttpParsePack()
{
free(parser);
@@ -152,6 +165,7 @@
};
class HttpPacket : public Packet
+>>>>>>> .r1508
{
private:
u_char* data;
Modified: trunk/src/data/pcap/ethernet_layer.cpp
===================================================================
--- trunk/src/data/pcap/ethernet_layer.cpp 2012-12-05 10:49:01 UTC (rev 1508)
+++ trunk/src/data/pcap/ethernet_layer.cpp 2012-12-06 12:18:25 UTC (rev 1509)
@@ -31,8 +31,9 @@
eth_hdr = (EthernetHeader*)data;
type = TO_NTOHS(eth_hdr->ether_type);
this->data_size = data_size;
- if(type <= 1500) // it length field
+ if(type <= 1500) // it is length field
type = 1499;
+
}
EthernetPacket::~EthernetPacket()
Modified: trunk/src/data/pcap/flow.cpp
===================================================================
--- trunk/src/data/pcap/flow.cpp 2012-12-05 10:49:01 UTC (rev 1508)
+++ trunk/src/data/pcap/flow.cpp 2012-12-06 12:18:25 UTC (rev 1509)
@@ -38,7 +38,7 @@
if(!pcap_settings->is_aggregation_active() || it->second.get_smart_label() == "")
ss << id.data.get_label() << " ";
else
- ss << it->second.get_smart_label(); // USE ONLY FOR SMART AGGREGATION MOSTLY
+ ss << it->second.get_smart_label(); // USE ONLY FOR REASSEMBLING MOSLTY
if(settings->show_packet_count)
{
@@ -93,22 +93,22 @@
// check if packet with the ID interrupt some of active communications
-std::vector<std::map<msg_id,FlowStats>::iterator> FlowControl::active_com_interrupt(msg_id packet,bool inherit,FlowLevel level)
+std::vector<std::map<msg_id,FlowStats>::iterator> FlowControl::active_com_interrupt(msg_id packet,bool inherit)
{
std::vector<std::map<msg_id,FlowStats>::iterator> result;
- bool compare[15] = {false}; // instances count
- compare[packet.source_pair.first] = true;
- compare[packet.destin_pair.first] = true;
+
+ int first = packet.source_pair.first;
+ int second = packet.destin_pair.first;
int count = 0;
for(std::map<msg_id,FlowStats>::iterator it = flow_map.begin(); it != flow_map.end(); it++)
- {
- if(level != NET_PROTO_FLOW && packet.data != it->first.data)
+ { // dont't interrupt on data level
+ if(packet.data != it->first.data)
continue;
-
- if(compare[it->first.source_pair.first])
+
+ if(it->first.source_pair.first == first || it->first.source_pair.first == second)
count++;
- if(compare[it->first.destin_pair.first])
+ if(it->first.destin_pair.first == first || it->first.destin_pair.first == second)
count++;
if(count == 1 || (inherit && count == 2))
result.push_back(it);
@@ -117,6 +117,18 @@
return result;
}
+std::vector<std::map<msg_id,FlowStats>::iterator> FlowControl::interrupt_with_proto(u_short proto)
+{
+ std::vector<std::map<msg_id,FlowStats>::iterator> result;
+
+ for(std::map<msg_id,FlowStats>::iterator it = flow_map.begin(); it != flow_map.end(); it++)
+ {
+ if(it->first.data.proto == proto)
+ result.push_back(it);
+ }
+ return result;
+}
+
std::vector<flow_output> FlowControl::flush_all(){
if(settings->type == LST_FLOW)
@@ -130,36 +142,12 @@
flush_flowstats(it);
}
-
flow_map.clear();
// sort by order of incoming packets
std::sort(defer_msg.begin(),defer_msg.end());
return defer_msg;
}
-void FlowControl::flush_interrupted(num_inst_pair src_pair,num_inst_pair dst_pair,SpecData flow_data)
-{
- std::vector<flow_output> result;
- std::map<msg_id,FlowStats>::iterator it;
- msg_id def_id = msg_id(src_pair,dst_pair,flow_data);
- msg_id opposite_id = msg_id(dst_pair,src_pair);
-
- if(flow_data.level == SIP_RTP_STREAM)
- {
- std::vector<std::map<msg_id,FlowStats>::iterator> interrupted;
- interrupted = active_com_interrupt(def_id,true,NET_PROTO_FLOW);
-
- for(u_int i=0; i < interrupted.size();i++)
- {
- it = interrupted[i];
- defer_msg.push_back(get_flowout_flowstats(MESSAGE_END,it));
- }
- for(u_int i=0; i < interrupted.size();i++)
- flow_map.erase(interrupted[i]);
-
- }
-}
-
std::vector<flow_output> FlowControl::update_flow(int pkt_id,num_inst_pair src_pair,num_inst_pair dst_pair,SpecData flow_data,double time,std::string smart_label)
{
@@ -224,7 +212,7 @@
return result;
case FDX_CON_FLOW : // full duplex -> bind the CONTINOUS communication between two nodes together
- interrupted = active_com_interrupt(default_id,false,flow_data.level);
+ interrupted = active_com_interrupt(default_id,false);
if(!interrupted.empty()) // interrupt active communications
{
@@ -250,24 +238,28 @@
case TIME_FLOW:
if(!time_flow->in_interval(time)) // packet time in interval
{
- time_flow->interval_plus(); //interval += interval --> for next packets
+
+ while(!time_flow->in_interval(time))
+ {
+ time_flow->bound_plus();
+ }
+
for(std::map<msg_id,FlowStats>::iterator it = flow_map.begin(); it != flow_map.end(); it++) // Flush all
{
flush_flowstats(it);
}
flow_map.clear();
}
- else
+ if((it = flow_map.find(default_id)) != flow_map.end())
{
- if((it = flow_map.find(default_id)) != flow_map.end())
- {
- it->second.update_id_time_data(pkt_id,time,flow_data.data_size);
- }
- else //no communication yet
- {
- flow_map[default_id] = FlowStats(pkt_id,time,flow_data.data_size);
- }
+ it->second.update_id_time_data(pkt_id,time,flow_data.data_size);
}
+ else //no communication yet
+ {
+
+ flow_map[default_id] = FlowStats(pkt_id,time,flow_data.data_size);
+ }
+
return result;
case AGGREG_FLOW:
@@ -281,7 +273,7 @@
if(flow_data.http_msg->is_segment) // if its segment, update last values
it->second.update_id_time_data(pkt_id,time,flow_data.data_size);
- defer_msg.push_back(get_flowout_flowstats(MESSAGE_END,it));
+ flush_flowstats(it);
flow_map.erase(it);
if(!flow_data.http_msg->is_segment)
@@ -301,7 +293,6 @@
else
{
flow_map[default_id] = FlowStats(pkt_id,time,flow_data.data_size,smart_label);
- result.push_back(get_begin_flowout(default_id,pkt_id,time));
}
}
return result;
@@ -322,26 +313,27 @@
{
if((it = flow_map.find(default_id)) != flow_map.end()) // communication allready
{
- if(it->second.get_count() > 1)
- {
- defer_msg.push_back(get_flowout_flowstats(MESSAGE_BEGIN,it));
- defer_msg.push_back(get_flowout_flowstats(MESSAGE_END,it));
- }
- else
- {
- defer_msg.push_back(get_flowout_flowstats(WHOLE_MESSAGE,it)); // it was not segment
- }
+ flush_flowstats(it);
flow_map.erase(it);
}
- flow_map[default_id] = FlowStats(pkt_id,time,flow_data.data_size,smart_label);
+ flow_map[default_id] = FlowStats(pkt_id,time,flow_data.data_size,smart_label); // maybe segment in future
}
return result;
case SIP_RTP_STREAM:
- if(flow_data.explicit_flush) // is sip packet, flush out
+ if(flow_data.explicit_flush) // is SIP packet, flush out
{
- flush_interrupted(src_pair,dst_pair,flow_data);
- defer_msg.push_back(get_whole_flowout(default_id,pkt_id,time,smart_label));
+ interrupted = interrupt_with_proto(RTP);
+ for(u_int i=0; i < interrupted.size();i++)
+ {
+ it = interrupted[i];
+ flush_flowstats(it);
+ }
+ for(u_int i=0; i < interrupted.size();i++)
+ flow_map.erase(interrupted[i]);
+
+ defer_msg.push_back(get_whole_flowout(default_id,pkt_id,time,smart_label)); // add sip packet to defer msg
+
}
else // RTP packet
{
@@ -352,7 +344,6 @@
else
{
flow_map[default_id] = FlowStats(pkt_id,time,flow_data.data_size,smart_label);
- defer_msg.push_back(get_begin_flowout(default_id,pkt_id,time));
}
}
return result;
Modified: trunk/src/data/pcap/flow.h
===================================================================
--- trunk/src/data/pcap/flow.h 2012-12-05 10:49:01 UTC (rev 1508)
+++ trunk/src/data/pcap/flow.h 2012-12-06 12:18:25 UTC (rev 1509)
@@ -25,7 +25,12 @@
flow_output get_flowout_flowstats(MessagePart part,std::map<msg_id,FlowStats>::iterator it);
flow_output get_begin_flowout(msg_id m_id,int pckt_id,double time);
flow_output get_whole_flowout(msg_id id,int pckt_id,double time,std::string label);
- std::vector<std::map<msg_id,FlowStats>::iterator> active_com_interrupt(msg_id packet,bool inherit,FlowLevel level);
+ /*
+ * return vector of active communications, which the packet interrupt.
+ * @param inherit = is comunication interrputed, if packet is in the same communication canal as communication?
+ */
+ std::vector<std::map<msg_id,FlowStats>::iterator> active_com_interrupt(msg_id packet,bool inherit);
+ std::vector<std::map<msg_id,FlowStats>::iterator> interrupt_with_proto(u_short proto);
std::string get_label(std::map<msg_id,FlowStats>::iterator it);
void flush_flowstats(std::map<msg_id,FlowStats>::iterator it);
@@ -35,7 +40,6 @@
// Destructor
~FlowControl();
- void flush_interrupted(num_inst_pair src,num_inst_pair dst,SpecData flow_data);
std::vector<flow_output> update_flow(int pckt_id,num_inst_pair src_pair,num_inst_pair dst_pair,SpecData flow_data,double time = 0,std::string label="");
std::vector<flow_output> flush_all();
};
Modified: trunk/src/data/pcap/flow_stats.cpp
===================================================================
--- trunk/src/data/pcap/flow_stats.cpp 2012-12-05 10:49:01 UTC (rev 1508)
+++ trunk/src/data/pcap/flow_stats.cpp 2012-12-06 12:18:25 UTC (rev 1509)
@@ -115,15 +115,16 @@
/////////////////////////////////////////////// TIME_FLOW DATA //////////////////////////////////////////////////////////
TimeFlow::TimeFlow(double inter){
interval = inter;
+ bound = inter;
}
-void TimeFlow::interval_plus(){
- interval += interval;
+void TimeFlow::bound_plus(){
+ bound += interval;
}
bool TimeFlow::in_interval(double time){
- return (time <= interval);
+ return (time <= bound);
}
////////////////////////////////////////////FLOW STATS /////////////////////////////////////////////////////////
Modified: trunk/src/data/pcap/flow_stats.h
===================================================================
--- trunk/src/data/pcap/flow_stats.h 2012-12-05 10:49:01 UTC (rev 1508)
+++ trunk/src/data/pcap/flow_stats.h 2012-12-06 12:18:25 UTC (rev 1509)
@@ -31,11 +31,10 @@
struct SpecData
{
FlowLevel level;
- union
- {
- u_short proto;
- Ports ports;
- };
+ // for packet identification
+ u_short proto;
+ Ports ports;
+
// for some additional informations in SMART FLOW
union
{
@@ -182,10 +181,11 @@
{
private:
double interval;
+ double bound;
public:
TimeFlow(double interval);
- void interval_plus();
+ void bound_plus();
bool in_interval(double time); // return if time is in interval
};
Modified: trunk/src/data/pcap/pcap_handler.cpp
===================================================================
--- trunk/src/data/pcap/pcap_handler.cpp 2012-12-05 10:49:01 UTC (rev 1508)
+++ trunk/src/data/pcap/pcap_handler.cpp 2012-12-06 12:18:25 UTC (rev 1509)
@@ -2,12 +2,35 @@
#include <stdlib.h>
#include <iomanip>
+bool create_relative_interval(EventPtr prev_e,EventPtr new_e,double time)
+{
+ if(prev_e == NULL || new_e == NULL)
+ {
+ return false;
+ }
+
+ // get value from absolute time and remove it
+ MscTimeIntervalSet<double> time_set = prev_e->get_absolut_times().front()->get_interval_set();
+ double abs_last_time = time_set.get_set().front().get_begin().get_value();
+
+ // set interval
+ MscTimeIntervalSet<double> new_rel_interval;
+ new_rel_interval.insert(MscTimeInterval<double>(time - abs_last_time));
+
+ TimeRelationEventPtr rel = new TimeRelationEvent(new_rel_interval);
+ rel->glue_events(prev_e.get(),new_e.get());
+ return true;
+}
+
+
PcapSettings* PcapHandler::settings;
timeval PcapHandler::zero_time;
+int PcapHandler::packet_id;
PcapHandler::PcapHandler(PcapSettings* parse_set){
msc = new BMsc(L"Pcap");
inst_count = 0;
+ packet_id = 0;
settings = parse_set;
@@ -24,6 +47,11 @@
zero_time.tv_usec = 0;
}
+PcapHandler::~PcapHandler()
+{
+
+}
+
MscPtr PcapHandler::getMsc(){
return msc;
}
@@ -34,11 +62,12 @@
num_inst_pair dst_pair;
src_pair = get_num_inst(src);
- dst_pair = get_num_inst(dst);
if(src_pair.first == -1)
src_pair = create_instance(src);
+ dst_pair = get_num_inst(dst);
+
if(dst_pair.first == -1)
dst_pair = create_instance(dst);
@@ -71,28 +100,35 @@
}
}
-bool PcapHandler::create_flow_event(flow_output msg_start)
+/*
+* This function is used only for aggreagation and reassembling packets
+*/
+bool PcapHandler::create_flow_event(flow_output msg_start) // create the event, message get from
{
int id = msg_start.ids.first;
msg_id mes_id = msg_start.m_id;
if(events_map.find(id) != events_map.end())
{
- std::cout << "Key in events map allready\n";
+ std::cerr << "Key in events map allready\n";
return false;
}
- EventPtr e = mes_id.source_pair.second->get_last()->add_event();
+ //add event
+ EventPtr new_e = mes_id.source_pair.second->get_last()->add_event();
+
if(settings->show_timestamps)
{
double time = msg_start.time;
MscTimeIntervalSet<double> i;
+
+ // Add absolute time
i.insert(MscTimeInterval<double>(time));
-
- e->add_absolut_time(i);
+ new_e->add_absolut_time(i); // if there are relative times, it's only help time and should be removed [ its in abs_time_events]
+ abs_time_events.push_back(new_e);
}
- events_map.insert(std::pair<int,EventPtr>(id,e));
+ events_map.insert(std::pair<int,EventPtr>(id,new_e));
return true;
}
@@ -106,7 +142,7 @@
if(event_iter == events_map.end())
{
std::cout << "Key " << id << " not in events map\n";
- return false;
+ return 1;
}
// remove from map
events_map.erase(id);
@@ -115,7 +151,7 @@
EventPtr e2 = mes_id.destin_pair.second->get_last()->add_event();
add_new_message(e1,e2,msg_end.label,msg_end.time,false);
- return true;
+ return 0;
}
void PcapHandler::last_diagram_update()
@@ -138,26 +174,55 @@
add_new_message(e1,e2,msg.label,msg.time,true);
break;
}
-
}
}
+
+ // remove informational absolute times from set
+ if(settings->time_format == REL_TIME)
+ {
+ for(std::list<EventPtr>::iterator it = abs_time_events.begin(); it != abs_time_events.end(); it++)
+ {
+ it->get()->clear_absolut_times();
+ }
+ abs_time_events.clear();
+ }
}
-void PcapHandler::add_new_message(EventPtr src_e,EventPtr dst_e,std::string msg_label,double timestamp,bool set_all_times){
+void PcapHandler::add_new_message(EventPtr src_e,EventPtr dst_e,std::string msg_label,double time,bool set_all_times){
// create message between instances
- double time;
if(settings->show_timestamps)
{
+ // add absolute times, they are needed for relative intervals too, as addititonal information
MscTimeIntervalSet<double> i;
- time = timestamp;
i.insert(MscTimeInterval<double>(time));
dst_e->add_absolut_time(i);
- if(set_all_times)
+ abs_time_events.push_back(dst_e);
+
+ if(set_all_times /*|| settings->time_format == REL_TIME*/) // else it was set in flow_event allready
{
src_e->add_absolut_time(i);
+ abs_time_events.push_back(src_e);
}
+ // set Relative intervals?
+ if(settings->time_format == REL_TIME)
+ {
+ // chcek, if the event's are first on the src and dst instances
+ StrictEventPtr strict_src_e = boost::dynamic_pointer_cast<StrictEvent>(src_e);
+ StrictEventPtr strict_dst_e = boost::dynamic_pointer_cast<StrictEvent>(dst_e);
+
+ StrictEventPtr src_prev_e = strict_src_e->get_predecessor();
+ StrictEventPtr dst_prev_e = strict_dst_e->get_predecessor();
+
+ if(!set_all_times) // it's message with different times on src_e and dst_e, create interval between them
+ {
+ create_relative_interval(src_e,dst_e,time);
+ }
+ // it's enaugh to create interval on one instance?
+ create_relative_interval(src_prev_e,src_e,time);
+ create_relative_interval(dst_prev_e,dst_e,time);
+ }
}
/** message **/
@@ -198,9 +263,10 @@
handStruct* hands = (handStruct*)param;
PcapHandler* pcap = hands->pcap;
- static int packet_id; // packet number
packet_id++; // increase with every packet
+ //std::cout << "Packet " << packet_id << "\n";
+
timeval pom_timestamp; // in user set data units
double timestamp;
//initialise ZERO TIMESTAMP
@@ -227,15 +293,16 @@
proto = eth_p->get_upper_proto();
source = eth_p->get_src_address();
destination = eth_p->get_dst_address();
+
if(settings->parse_layer == LINK_LAYER) // CAN GET UPPER DATA ALWAYS
{
+ label = settings->get_message_label(packet_id,eth_p,all_info.str(),true);
sp_data = fill_specdata(settings,eth_p,LINK_FLOW,NO_AGGR);
- label = settings->get_message_label(packet_id,eth_p,all_info.str());
delete eth_p;
hands->pcap->diagram_update(packet_id,source,destination,label,timestamp,sp_data);
return;
}
- all_info << label;
+ all_info << settings->get_message_label(packet_id,eth_p,all_info.str(),false);
// ------------- NETWORK LAYER ---------------------------------------------------------------
Packet* net_p = NULL;
@@ -243,7 +310,16 @@
Ipv6* ipv6_p = NULL;
ArpPacket* arp_p = NULL;
int ip_ver;
- switch(eth_p->get_upper_proto())
+ int type = 0;
+ // convert to hexadecimal value (suprisingly, without it you can get negative integer from ethernet | -X != Y && Hex(X) == Hex(Y))
+ std::stringstream ss;
+ ss << std::hex << eth_p->get_upper_proto();
+ std::string pom = ss.str();
+ ss.str("");
+ ss << "0x" << pom;
+ ss >> type;
+ //
+ switch(type)
{
case IPV4:
/* GET IP VERSION encapuslation*/
@@ -272,10 +348,11 @@
net_p = new NetPacket(eth_p->get_upper_data(),eth_p->get_upper_data_size(),eth_p->get_upper_proto());
break;
}
+
if(settings->parse_layer == NET_LAYER || (net_p->get_upper_proto() == -1 && !settings->ignore_packets)) //can't parse more
{
+ label = settings->get_message_label(packet_id,net_p,all_info.str(),true);
sp_data = fill_specdata(settings,net_p,NET_PROTO_FLOW,NO_AGGR);
- label = settings->get_message_label(packet_id,net_p,all_info.str());
delete eth_p;
delete net_p;
hands->pcap->diagram_update(packet_id,source,destination,label,timestamp,sp_data);
@@ -288,8 +365,7 @@
delete net_p;
return;
}
-
- all_info << " " << label;
+ all_info <<"I"<< settings->get_message_label(packet_id,net_p,all_info.str(),false) << "I";
// ------------------- TRANSPORT LAYER ----------------------------------------------------
Ports ports;
@@ -317,14 +393,14 @@
sp_data = fill_specdata(settings,trans_p,TRANS_PROTO_FLOW,NO_AGGR);
break;
}
+
if(settings->parse_layer == TRANSPORT_LAYER || (trans_p->get_upper_data_size() == 0 && !settings->ignore_packets)) //can't parse more
{
- label = settings->get_message_label(packet_id,trans_p,all_info.str());
+ label = settings->get_message_label(packet_id,trans_p,all_info.str(),true);
delete eth_p;
delete net_p;
delete trans_p;
hands->pcap->diagram_update(packet_id,source,destination,label,timestamp,sp_data);
- std::cout << "ok\n";
return;
}
if((trans_p->get_upper_proto() == -1 || trans_p->get_upper_data_size() == 0) && settings->ignore_packets)
@@ -334,16 +410,14 @@
delete trans_p;
return;
}
+ all_info <<"I"<< settings->get_message_label(packet_id,trans_p,all_info.str(),false);
- all_info << " " << label;
-
// -------------- APPLICATION LAYER -----------------------------------------------------------
Packet* app_p = NULL;
ports = trans_p->get_ports();
switch(trans_p->get_upper_proto())
{
case(HTTP):
- std::cout << "HTTP\n";
app_p = new HttpPacket(trans_p->get_upper_data(),trans_p->get_upper_data_size(),ports,settings->adv_settings->http_settings);
sp_data = fill_specdata(settings,app_p,NO_FLOW,HTTP_AGGR);
break;
@@ -372,14 +446,12 @@
}
if(settings->parse_layer == APP_LAYER) // parsed all !!!
{
- label = settings->get_message_label(packet_id,app_p,all_info.str());
- std::cout << source << "-->" << destination << " LOOP " << packet_id << " " << label << "\n";
+ label = settings->get_message_label(packet_id,app_p,all_info.str(),true);
delete eth_p;
delete net_p;
delete trans_p;
delete app_p;
hands->pcap->diagram_update(packet_id,source,destination,label,timestamp,sp_data);
- std::cout << "OK\n";
return;
}
//pcap_breakloop(hands->handle);
Modified: trunk/src/data/pcap/pcap_handler.h
===================================================================
--- trunk/src/data/pcap/pcap_handler.h 2012-12-05 10:49:01 UTC (rev 1508)
+++ trunk/src/data/pcap/pcap_handler.h 2012-12-06 12:18:25 UTC (rev 1509)
@@ -12,8 +12,11 @@
#include "data/formatter.h"
+bool create_relative_interval(EventPtr prev_e,EventPtr new_e,double time);
+
class PcapHandler{
+ static int packet_id;
static PcapSettings* settings;
static timeval zero_time;
@@ -27,6 +30,9 @@
// for flow and specific protocol aggregation
std::map<int,EventPtr> events_map;
+ // for absolute times clearing
+ std::list<EventPtr> abs_time_events;
+
bool create_flow_event(flow_output msg_start);
bool create_flow_message(flow_output msg_end);
Modified: trunk/src/data/pcap/pcap_load.cpp
===================================================================
--- trunk/src/data/pcap/pcap_load.cpp 2012-12-05 10:49:01 UTC (rev 1508)
+++ trunk/src/data/pcap/pcap_load.cpp 2012-12-06 12:18:25 UTC (rev 1509)
@@ -27,7 +27,10 @@
std::vector<MscPtr> Pcap::load_msc(const std::string &filename)
{
std::vector<MscPtr> result;
- return result;
+ PcapSettings* settings = new PcapSettings();
+ settings->load_registry();
+
+ return load_msc(filename,settings);
}
std::vector<MscPtr> Pcap::load_msc(const std::string &filename,PcapSettings* settings)
@@ -43,7 +46,7 @@
u_int netmask;
///////////////////////////// SET THE FILTER ////////////////////////////////
-const char* packet_filter = settings->pcap_filter;
+const char* packet_filter = settings->pcap_filter.c_str();
/////////////////////////////////////////////////////////////////////////////
struct bpf_program fcode;
@@ -87,13 +90,12 @@
hands.pcap = pcapCon;
hands.handle = adhandle;
- std::cout << "\nloop begin\n";
pcap_loop(adhandle, 0, PcapHandler::packet_handler, (u_char*)&hands);
- std::cout << "loop ok\n";
// for aggregation buffer flush
hands.pcap->last_diagram_update();
- std::cout << "update ok\n";
result.push_back(hands.pcap->getMsc());
+ delete settings;
+ delete pcapCon;
return result;
}
Modified: trunk/src/data/pcap/pcap_settings.cpp
===================================================================
--- trunk/src/data/pcap/pcap_settings.cpp 2012-12-05 10:49:01 UTC (rev 1508)
+++ trunk/src/data/pcap/pcap_settings.cpp 2012-12-06 12:18:25 UTC (rev 1509)
@@ -68,22 +68,24 @@
}
}
-std::string PcapSettings::get_message_label(int packet_id,Packet* packet,std::string all_info)
+// append all info is used only if show_all_layers option is active --> If append == false, then it's used for previous parsed information
+std::string PcapSettings::get_message_label(int packet_id,Packet* packet,std::string all_info,bool append_all_info)
{
std::stringstream ss;
- if(view_settings->show_all_layers_info)
+ if(view_settings->show_all_layers_info && all_info.length() != 0 && append_all_info)
{
ss << all_info << " ";
}
if(view_settings->show_packets_numbers)
{
- ss << packet_id << " ";
+ if(!view_settings->show_all_layers_info || all_info.length() == 0) // packet ID only on begin the label
+ ss << packet_id << " ";
}
if(view_settings->show_ports)
{
Ports ports = packet->get_ports();
- if(ports != make_ports(0,0))
+ if(ports != make_ports(0,0) && (!view_settings->show_all_layers_info || all_info.find("SRC") == std::string::npos))
{
ss << "SRC:" << ports.src << " DST:" << ports.dst << " ";
}
@@ -114,14 +116,18 @@
case MICROSECONDS: result = ts.tv_sec*1000000 + (double)ts.tv_usec; break;
default : break;
}
- result = round(result,2);
+ result = round(result,3);
return result;
}
double PcapSettings::bytes_to_user_unit(u_short bytes)
{
double result;
- result = bytes/data_unit;
+ if(data_unit == BITS)
+ result = bytes*8;
+ else
+ result = bytes/data_unit;
+
result = round(result,2);
return result;
}
@@ -144,3 +150,119 @@
return false;
}
+void PcapSettings::load_registry()
+{
+ //advanced settings
+ HttpSettings* http_set = new HttpSettings();
+ http_set->show_packet_part = get_config_long(L"Pcap", L"HttpUseSplitted", 1) != 0;
+ htt...
[truncated message content] |
|
From: <xb...@us...> - 2012-12-08 20:38:42
|
Revision: 1511
http://scstudio.svn.sourceforge.net/scstudio/?rev=1511&view=rev
Author: xborza
Date: 2012-12-08 20:38:34 +0000 (Sat, 08 Dec 2012)
Log Message:
-----------
corrected memory leaks (one is in pcap library)
chcek "tests/pcap" for pcap files
works on my Ubuntu...
Modified Paths:
--------------
trunk/src/data/pcap/application_layer.cpp
trunk/src/data/pcap/application_layer.h
trunk/src/data/pcap/ethernet_layer.cpp
trunk/src/data/pcap/flow.cpp
trunk/src/data/pcap/flow_stats.cpp
trunk/src/data/pcap/flow_stats.h
trunk/src/data/pcap/packet.h
trunk/src/data/pcap/pcap_handler.cpp
trunk/src/data/pcap/pcap_handler.h
trunk/src/data/pcap/pcap_load.cpp
trunk/src/data/pcap/pcap_settings.cpp
trunk/src/data/pcap/pcap_settings.h
trunk/src/data/pcap/protocols.h
trunk/src/data/pcap/transport_layer.cpp
trunk/src/data/pcap/transport_layer.h
trunk/tests/pcap/CMakeLists.txt
trunk/tests/pcap/pcap_test.cpp
Added Paths:
-----------
trunk/third-party-sw/pcap/pcap/
Modified: trunk/src/data/pcap/application_layer.cpp
===================================================================
--- trunk/src/data/pcap/application_layer.cpp 2012-12-06 19:40:09 UTC (rev 1510)
+++ trunk/src/data/pcap/application_layer.cpp 2012-12-08 20:38:34 UTC (rev 1511)
@@ -118,15 +118,22 @@
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-void http_message_init(HttpMessage* message)
+void http_message_init(HttpMessagePtr message)
{
- memset(message,0,sizeof(*message));
+ //memset(message,0,sizeof(*message));
+ message->num_headers = 0;
+ message->body_called = false;
+ message->message_begin = false;
+ message->message_complete = false;
+ message->headers_complete = false;
+ message->status_code = 0;
+ message->data_size = 0;
message->type = UNKNOWN;
message->last_header_element = NOTHING;
}
// intilialise callback in settings
-void HttpPacket::set_http_settings(http_parser_settings* settings)
+void HttpPacket::set_http_settings(http_parser_settings_ptr settings)
{
settings->on_url = request_uri_cb;
settings->on_header_field = header_field_cb;
@@ -142,11 +149,12 @@
int HttpPacket::header_field_cb(http_parser *parser, const char *field, size_t len)
{
- HttpMessage* m = http_parsers[ports].message;
+ HttpMessagePtr m = http_parsers[ports].message;
if(m->last_header_element != FIELD){
// //New header started.Copy current name,value buffers to header list and allocate new buffer for new name
HttpHeader new_header;
new_header.value_len = 0;
+ new_header.value = "";
new_header.field_len = len;
new_header.field.assign(field,len);
m->headers.push_back(new_header);
@@ -164,7 +172,7 @@
int HttpPacket::header_value_cb(http_parser *parser, const char *value, size_t len)
{
- HttpMessage* m = http_parsers[ports].message;
+ HttpMessagePtr m = http_parsers[ports].message;
if(m->last_header_element != VALUE){
// Value for current header started. Allocate new buffer and copy callback data to it
@@ -232,7 +240,7 @@
int HttpPacket::message_begin_cb (http_parser *parser)
{
- http_parsers[ports].message->message_begin = true;
+ http_parsers[ports].message->message_begin = true;
return 0;
}
@@ -246,7 +254,7 @@
/////////////////////////////////////////////// HTTP CLASS //////////////////////////////////////////////////////////////
bool HttpPacket::set_settings;
-http_parser_settings* HttpPacket::settings;
+http_parser_settings_ptr HttpPacket::settings;
HttpSettings* HttpPacket::http_settings;
Ports HttpPacket::ports;
@@ -258,31 +266,35 @@
// set HTTP_PARSER_SETTINGS
if(!set_settings)
{
- settings = new http_parser_settings();
+ settings = http_parser_settings_ptr(new http_parser_settings());
set_http_settings(settings);
set_settings = true;
}
-
+ // set user defined settings
if(http_settings == NULL)
http_settings = http_set;
ports = p;
this->data_size = data_size;
- char buffer[80*1024];
+ char buffer[80*1024] = {0};
size_t nparsed;
bool is_new_packet = false;
bool erno = false;
// put data in buffer
- strncpy(buffer, (char*)data,80*1024);
+ if(data_size < 80*1024)
+ strncpy(buffer, (char*)data,data_size);
+ else
+ strncpy(buffer,(char*)data,80*1024-1);
if(http_parsers.find(ports) == http_parsers.end())
{
is_new_packet = true;
- parser = (http_parser*)malloc(sizeof(http_parser));
- http_parser_init(parser,HTTP_BOTH);
+ parser = http_parser_ptr(new http_parser());
+
+ http_parser_init(boost::get_pointer<http_parser>(parser),HTTP_BOTH);
// init message for parser
- HttpMessage* msg = new HttpMessage();
+ HttpMessagePtr msg(new HttpMessage());
http_message_init(msg);
// init pack for parser and message
http_parsers.insert(std::make_pair(ports,HttpParsePack(parser,msg)));
@@ -291,7 +303,6 @@
{ // check, if need reset parser and message
if(http_parsers[ports].message->message_complete)
{
- std::cout << "EEEE\n";
is_new_packet = true;
http_message_init(http_parsers[ports].message);
//http_parser_init(http_parsers[ports].parser,HTTP_BOTH);
@@ -299,20 +310,20 @@
parser = http_parsers[ports].parser;
}
// execute parser
- parser->data = (char*)data;
- nparsed = http_parser_execute(parser, settings, buffer, data_size);
- if (parser->upgrade){
- /* handle new protocol */
- std::cout << ">> NEW PROTO? <<\n";
+ parser->data = (char*)data;
+
+ nparsed = http_parser_execute(boost::get_pointer<http_parser>(parser), boost::get_pointer<http_parser_settings>(settings), buffer, data_size);
+ if (parser->upgrade){
+ erno = false;
}
- else if(nparsed != data_size){ // parser neprebehol do konca, neviem ci to je cely paket
+ else if(nparsed != data_size){ // parser neprebehol do konca, neviem ci to je cely paket
erno = true;
}
// set version, type and method or status code here
- HttpMessage* m = http_parsers[ports].message;
+ HttpMessagePtr m = http_parsers[ports].message;
m->data_size = data_size;
- if(m->type == UNKNOWN)
+ if(m->type == UNKNOWN)
{
// set version,method, status code, it
std::stringstream ver_string;
@@ -343,10 +354,10 @@
{
}
-void HttpPacket::set_http_part(HttpMessage* m,bool is_segment)
+void HttpPacket::set_http_part(HttpMessagePtr m,bool is_segment)
{
if(!is_segment){
- m->part = ONE_PACK_MSG;
+ m->part = ONE_PACK_MSG;
}
else
{
@@ -378,7 +389,7 @@
return label;
}
-void HttpPacket::set_label(HttpMessage* m)
+void HttpPacket::set_label(HttpMessagePtr m)
{
std::stringstream ss;
@@ -408,7 +419,7 @@
label = ss.str();
}
-HttpMessage* HttpPacket::get_http_message()
+HttpMessagePtr HttpPacket::get_http_message()
{
return http_parsers[ports].message;
}
@@ -483,7 +494,9 @@
ss << "SIP ";
if(!ok_parsed)
+ { ss << "not correct parsed";
return ss.str();
+ }
if(settings->show_version)
ss << "\\" << osip_message_get_version(sip) << " ";
Modified: trunk/src/data/pcap/application_layer.h
===================================================================
--- trunk/src/data/pcap/application_layer.h 2012-12-06 19:40:09 UTC (rev 1510)
+++ trunk/src/data/pcap/application_layer.h 2012-12-08 20:38:34 UTC (rev 1511)
@@ -69,6 +69,8 @@
Ports get_ports();
};
+typedef boost::shared_ptr<DnsPacket> DnsPacketPtr;
+
/////////////////////////////////////////////// FOR HTTP_PARSING /////////////////////////////////////////////////
typedef enum {
@@ -130,22 +132,26 @@
bool message_complete;
};
+typedef boost::shared_ptr<HttpMessage> HttpMessagePtr;
+typedef boost::shared_ptr<http_parser> http_parser_ptr;
+typedef boost::shared_ptr<http_parser_settings>http_parser_settings_ptr;
+
// initialise HttpMessage for parser
-void http_message_init(HttpMessage* message);
+void http_message_init(HttpMessagePtr message);
struct HttpParsePack{ // parser had message, where it stores data
- http_parser* parser;
- HttpMessage* message;
+ http_parser_ptr parser;
+ HttpMessagePtr message;
HttpParsePack(){}
- HttpParsePack(http_parser* p,HttpMessage* m)
+ HttpParsePack(http_parser_ptr p,HttpMessagePtr m)
{
parser = p;
message = m;
}
-
};
+
class HttpPacket : public Packet
{
private:
@@ -153,20 +159,22 @@
u_short data_size;
static Ports ports;
+ // user defined settings
static HttpSettings* http_settings;
- http_parser* parser;
+ http_parser_ptr parser;
std::string label;
bool is_segment;
+ // http_parser settings from http_parser.h
static bool set_settings;
- static http_parser_settings* settings;
+ static http_parser_settings_ptr settings;
HttpPart part;
- void set_label(HttpMessage* msg);
- void set_http_part(HttpMessage* msg,bool is_segment);
+ void set_label(HttpMessagePtr msg);
+ void set_http_part(HttpMessagePtr msg,bool is_segment);
// initialise settings for parser
- void set_http_settings(http_parser_settings* settings);
+ void set_http_settings(http_parser_settings_ptr settings);
public:
// One parser per tcp connection <i, Parser+messageToStoreData>
@@ -181,20 +189,22 @@
short get_proto();
short get_upper_proto();
std::string get_upper_proto_name();
- std::string get_message();
+ std::string get_message();
Ports get_ports();
- HttpMessage* get_http_message();
+ HttpMessagePtr get_http_message();
//callbacks for parser
- static int header_field_cb(http_parser *parser, const char *field, size_t len);
- static int header_value_cb(http_parser *parser, const char *value, size_t len);
- static int request_uri_cb(http_parser *parser, const char *url, size_t len);
- static int headers_complete_cb (http_parser *parser);
- static int message_complete_cb (http_parser *parser);
- static int message_begin_cb (http_parser *parser);
- static int body_cb (http_parser *parser, const char *body, size_t len);
+ static int header_field_cb(http_parser* parser, const char *field, size_t len);
+ static int header_value_cb(http_parser* parser, const char *value, size_t len);
+ static int request_uri_cb(http_parser* parser, const char *url, size_t len);
+ static int headers_complete_cb (http_parser* parser);
+ static int message_complete_cb (http_parser* parser);
+ static int message_begin_cb (http_parser* parser);
+ static int body_cb (http_parser* parser, const char *body, size_t len);
};
+typedef boost::shared_ptr<HttpPacket> HttpPacketPtr;
+
///////////////////////////////////////////////////// FOR SIP ///////////////////////////////////////////////////////////////////////////
class SipPacket : public Packet
{
@@ -220,6 +230,10 @@
Ports get_ports();
};
+typedef boost::shared_ptr<SipPacket> SipPacketPtr;
+
+////////////////////////////////////////////////////////NOT IMPLEMENTED APPLICATION LAYER PACKETS///////////////////////////////////////////////////////////////////
+
class AppPacket : public Packet
{
u_char* data;
@@ -240,4 +254,6 @@
Ports get_ports();
};
+typedef boost::shared_ptr<AppPacket> AppPacketPtr;
+
#endif
Modified: trunk/src/data/pcap/ethernet_layer.cpp
===================================================================
--- trunk/src/data/pcap/ethernet_layer.cpp 2012-12-06 19:40:09 UTC (rev 1510)
+++ trunk/src/data/pcap/ethernet_layer.cpp 2012-12-08 20:38:34 UTC (rev 1511)
@@ -82,7 +82,7 @@
std::string EthernetPacket::get_message()
{
- return "ETHERNET";
+ return "Ethernet II.";
}
Ports EthernetPacket::get_ports()
Modified: trunk/src/data/pcap/flow.cpp
===================================================================
--- trunk/src/data/pcap/flow.cpp 2012-12-06 19:40:09 UTC (rev 1510)
+++ trunk/src/data/pcap/flow.cpp 2012-12-08 20:38:34 UTC (rev 1511)
@@ -13,7 +13,8 @@
FlowControl::~FlowControl()
{
- delete time_flow;
+ if(time_flow != NULL)
+ delete time_flow;
}
flow_output FlowControl::get_begin_flowout(msg_id m_id,int pckt_id,double time)
Modified: trunk/src/data/pcap/flow_stats.cpp
===================================================================
--- trunk/src/data/pcap/flow_stats.cpp 2012-12-06 19:40:09 UTC (rev 1510)
+++ trunk/src/data/pcap/flow_stats.cpp 2012-12-08 20:38:34 UTC (rev 1511)
@@ -32,7 +32,7 @@
return result;
}
}
- else // can parse, but I don't need higher --> I get transport protocol from IP, IP from Ethernet ...
+ else // can parse, but I don't need higher --> I get transport protocol from IP layer, IP from Ethernet layer
{
result.level = (FlowLevel)(packet_level + 1);
result.proto = packet->get_upper_proto();
@@ -40,8 +40,8 @@
return result;
}
}
- else // { > } ON Transport parse layer // I don't now what I exactly need
- {
+ else // { > } ON Transport parse layer // ON this layer I can apply APP_PROTO || TRANS_PROTO(IF not apply data! else trans proto get from net_layer) || PORT FLOW
+ { // LINK LAYER -> use default pcaket_level == f_settings->level
switch(f_settings->level)
{
case(APP_PROTO_FLOW): // check it there are application data
@@ -72,7 +72,7 @@
if(!(settings->is_aggregation_active(agr_level))) // this aggregation is not active
return result;
- result.level = agr_level;
+ result.level = agr_level;
result.ports = packet->get_ports();
TcpPacket* tcp_p = NULL;
@@ -89,7 +89,7 @@
result.http_msg = http_p->get_http_message();
break;
case SIP_RTP_STREAM :
- result.explicit_flush = sip_flush;
+ result.explicit_flush = sip_flush;
break;
default : break;
}
Modified: trunk/src/data/pcap/flow_stats.h
===================================================================
--- trunk/src/data/pcap/flow_stats.h 2012-12-06 19:40:09 UTC (rev 1510)
+++ trunk/src/data/pcap/flow_stats.h 2012-12-08 20:38:34 UTC (rev 1511)
@@ -36,12 +36,10 @@
Ports ports;
// for some additional informations in SMART FLOW
- union
- {
- HttpMessage* http_msg; // for HTTP
- TcpFlowItem* tcp_flow_item; // for TCP
- bool explicit_flush; // for sip
- };
+ HttpMessagePtr http_msg; // for HTTP
+ TcpFlowItemPtr tcp_flow_item; // for TCP
+ bool explicit_flush; // for sip
+
// how much data was sent?
short data_size; // B
Modified: trunk/src/data/pcap/packet.h
===================================================================
--- trunk/src/data/pcap/packet.h 2012-12-06 19:40:09 UTC (rev 1510)
+++ trunk/src/data/pcap/packet.h 2012-12-08 20:38:34 UTC (rev 1511)
@@ -29,8 +29,8 @@
class Packet
{
public:
- virtual ~Packet(){};
- virtual u_short get_data_size() = 0;
+ virtual ~Packet(){}
+ virtual u_short get_data_size() = 0;
virtual u_char* get_upper_data() = 0;
virtual u_short get_upper_data_size() = 0;
virtual short get_proto() = 0;
@@ -41,4 +41,4 @@
};
-#endif
\ No newline at end of file
+#endif
Modified: trunk/src/data/pcap/pcap_handler.cpp
===================================================================
--- trunk/src/data/pcap/pcap_handler.cpp 2012-12-06 19:40:09 UTC (rev 1510)
+++ trunk/src/data/pcap/pcap_handler.cpp 2012-12-08 20:38:34 UTC (rev 1511)
@@ -49,7 +49,10 @@
PcapHandler::~PcapHandler()
{
-
+ if(this->flow_control != NULL)
+ {
+ delete this->flow_control;
+ }
}
MscPtr PcapHandler::getMsc(){
@@ -124,7 +127,7 @@
// Add absolute time
i.insert(MscTimeInterval<double>(time));
- new_e->add_absolut_time(i); // if there are relative times, it's only help time and should be removed [ its in abs_time_events]
+ new_e->add_absolut_time(i); // if there are relative times, it's only help time and should be removed [ it's in abs_time_events]
abs_time_events.push_back(new_e);
}
@@ -144,12 +147,14 @@
std::cout << "Key " << id << " not in events map\n";
return 1;
}
- // remove from map
+
+ EventPtr e1 = event_iter->second;
+ EventPtr e2 = mes_id.destin_pair.second->get_last()->add_event();
+
+ // remove from map -- handle boost
+ event_iter->second = NULL;
events_map.erase(id);
- EventPtr e1 = event_iter->second;
- EventPtr e2 = mes_id.destin_pair.second->get_last()->add_event();
-
add_new_message(e1,e2,msg_end.label,msg_end.time,false);
return 0;
}
@@ -200,7 +205,7 @@
dst_e->add_absolut_time(i);
abs_time_events.push_back(dst_e);
- if(set_all_times /*|| settings->time_format == REL_TIME*/) // else it was set in flow_event allready
+ if(set_all_times)
{
src_e->add_absolut_time(i);
abs_time_events.push_back(src_e);
@@ -251,35 +256,36 @@
instance_iter = instance_map.find(address);
if(instance_iter == instance_map.end())
- {
- InstancePtr inst = NULL;
- return std::make_pair(-1,inst);
- }
+ {
+ InstancePtr inst = NULL;
+ return std::make_pair(-1,inst);
+ }
else return instance_iter->second;
}
-void PcapHandler::packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data){
+void PcapHandler::packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data)
+{
handStruct* hands = (handStruct*)param;
- PcapHandler* pcap = hands->pcap;
packet_id++; // increase with every packet
- //std::cout << "Packet " << packet_id << "\n";
-
timeval pom_timestamp; // in user set data units
double timestamp;
+
//initialise ZERO TIMESTAMP
- if(zero_time.tv_sec == 0)
+ if(zero_time.tv_sec == 0 && zero_time.tv_usec == 0)
{
zero_time.tv_sec = header->ts.tv_sec;
zero_time.tv_usec = header->ts.tv_usec;
}
+
//get relative timestamp in microseconds
pom_timestamp.tv_sec = header->ts.tv_sec - zero_time.tv_sec;
pom_timestamp.tv_usec = header->ts.tv_usec - zero_time.tv_usec;
- timestamp = settings->timeval_to_double(pom_timestamp);
+ // two succesive times can't be equal --> change number of decimal digits
+ timestamp = settings->timeval_to_double(pom_timestamp);
std::stringstream all_info;
@@ -341,8 +347,8 @@
case ARP:
net_p = new ArpPacket(eth_p->get_upper_data(),eth_p->get_upper_data_size());
arp_p = (ArpPacket*)net_p;
- source = arp_p->get_src_address();
- destination = arp_p->get_dst_address();
+ //source = arp_p->get_src_address();
+ //destination = arp_p->get_dst_address();
break;
default:
net_p = new NetPacket(eth_p->get_upper_data(),eth_p->get_upper_data_size(),eth_p->get_upper_proto());
@@ -365,7 +371,7 @@
delete net_p;
return;
}
- all_info <<"I"<< settings->get_message_label(packet_id,net_p,all_info.str(),false) << "I";
+ all_info <<" I "<< settings->get_message_label(packet_id,net_p,all_info.str(),false);
// ------------------- TRANSPORT LAYER ----------------------------------------------------
Ports ports;
@@ -410,7 +416,7 @@
delete trans_p;
return;
}
- all_info <<"I"<< settings->get_message_label(packet_id,trans_p,all_info.str(),false);
+ all_info <<" I "<< settings->get_message_label(packet_id,trans_p,all_info.str(),false);
// -------------- APPLICATION LAYER -----------------------------------------------------------
Packet* app_p = NULL;
@@ -418,7 +424,7 @@
switch(trans_p->get_upper_proto())
{
case(HTTP):
- app_p = new HttpPacket(trans_p->get_upper_data(),trans_p->get_upper_data_size(),ports,settings->adv_settings->http_settings);
+ app_p = new HttpPacket(trans_p->get_upper_data(),trans_p->get_upper_data_size(),ports,settings->adv_settings->http_settings);
sp_data = fill_specdata(settings,app_p,NO_FLOW,HTTP_AGGR);
break;
case(SIP):
@@ -435,7 +441,7 @@
if(is_udp && (ports.src % 2 == 0) && (ports.dst % 2 == 0) && ((trans_p->get_upper_data())[0] & 0x80) && trans_p->get_upper_data_size() < 250)
{
app_p = new AppPacket(trans_p->get_upper_data(),trans_p->get_upper_data_size(),ports,RTP);
- sp_data = fill_specdata(settings,app_p,NO_FLOW,SIP_RTP_STREAM,false);
+ sp_data = fill_specdata(settings,app_p,NO_FLOW,SIP_RTP_STREAM,false); //aggreg RTP stream
}
else
{
@@ -443,18 +449,18 @@
sp_data = fill_specdata(settings,app_p,NO_FLOW,NO_AGGR);
}
break;
- }
- if(settings->parse_layer == APP_LAYER) // parsed all !!!
- {
- label = settings->get_message_label(packet_id,app_p,all_info.str(),true);
- delete eth_p;
- delete net_p;
- delete trans_p;
- delete app_p;
- hands->pcap->diagram_update(packet_id,source,destination,label,timestamp,sp_data);
- return;
- }
- //pcap_breakloop(hands->handle);
+ }
+ if(settings->parse_layer == APP_LAYER) // parsed all !!!
+ {
+ label = settings->get_message_label(packet_id,app_p,all_info.str(),true);
+ delete eth_p;
+ delete net_p;
+ delete trans_p;
+ delete app_p;
+ hands->pcap->diagram_update(packet_id,source,destination,label,timestamp,sp_data);
+ return;
+ }
+ //pcap_breakloop(hands->handle);
}
Modified: trunk/src/data/pcap/pcap_handler.h
===================================================================
--- trunk/src/data/pcap/pcap_handler.h 2012-12-06 19:40:09 UTC (rev 1510)
+++ trunk/src/data/pcap/pcap_handler.h 2012-12-08 20:38:34 UTC (rev 1511)
@@ -46,8 +46,8 @@
void last_diagram_update();
void diagram_update(int pckt_id,std::string src,std::string dst,std::string label,double timestamp = 0,SpecData flow_data = SpecData());
void add_new_message(EventPtr src_e,EventPtr dst_e,std::string label,double timestamp = 0,bool set_all_times = true);
- num_inst_pair create_instance(std::string address);
- num_inst_pair get_num_inst(std::string address);
+ num_inst_pair create_instance(std::string address);
+ num_inst_pair get_num_inst(std::string address);
};
typedef struct handStruct{
Modified: trunk/src/data/pcap/pcap_load.cpp
===================================================================
--- trunk/src/data/pcap/pcap_load.cpp 2012-12-06 19:40:09 UTC (rev 1510)
+++ trunk/src/data/pcap/pcap_load.cpp 2012-12-08 20:38:34 UTC (rev 1511)
@@ -26,7 +26,6 @@
std::vector<MscPtr> Pcap::load_msc(const std::string &filename)
{
- std::vector<MscPtr> result;
PcapSettings* settings = new PcapSettings();
settings->load_registry();
@@ -40,7 +39,6 @@
settings->validate_settings();
-int i=0;
pcap_t *adhandle;
char errbuf[PCAP_ERRBUF_SIZE];
u_int netmask;
@@ -55,15 +53,15 @@
// OPEN OFFLINE MODE
if((adhandle = pcap_open_offline(filename.c_str(),errbuf)) == NULL)
{
- std::cerr << "ERROR: Cannot open pcap file >" << filename << " < , wrong name!\n";
+ print_report(RS_ERROR, stringize() << "Cannot open pcap file '" << TOWSTRING(filename) << "'. ");
return result;
}
/* Check the link layer. We support only Ethernet for simplicity. */
if(pcap_datalink(adhandle) != DLT_EN10MB)
{
- std::cerr << "This program works only on Ethernet networks.\n";
- return result;
+ print_report(RS_ERROR,stringize() << "Pcap works only on Ethernet networks" );
+ return result;
}
/* If the interface is without addresses we suppose to be in a C class network */
@@ -72,31 +70,35 @@
//compile the filter
if (pcap_compile(adhandle, &fcode, packet_filter, 1, netmask) <0 )
{
- std::cerr << "\nUnable to compile the packet filter:" << packet_filter << " Check the syntax.\n";
+ print_report(RS_ERROR,stringize() << "Unable to compile the packet filter:" << TOWSTRING(packet_filter) << " Check the syntax.");
return result;
}
//set the filter
if (pcap_setfilter(adhandle, &fcode)<0)
{
- std::cerr << "\nError setting the filter.\n";
+ print_report(RS_ERROR,stringize() << "Error setting the filter");
return result;
}
//---------------------------------------------------------------------------------------------
- PcapHandler* pcapCon = new PcapHandler(settings);
+ PcapHandler* pcapHandler = new PcapHandler(settings);
//---------------------------------------------------------------------------------------------
handStruct hands;
- hands.pcap = pcapCon;
+ hands.pcap = pcapHandler;
hands.handle = adhandle;
- pcap_loop(adhandle, 0, PcapHandler::packet_handler, (u_char*)&hands);
+ pcap_loop(adhandle, 0, PcapHandler::packet_handler, (u_char*)&hands);
// for aggregation buffer flush
hands.pcap->last_diagram_update();
result.push_back(hands.pcap->getMsc());
- delete settings;
- delete pcapCon;
+ pcap_freecode(&fcode);
+ pcap_close(adhandle);
+
+ delete settings;
+ delete pcapHandler;
+
return result;
}
Modified: trunk/src/data/pcap/pcap_settings.cpp
===================================================================
--- trunk/src/data/pcap/pcap_settings.cpp 2012-12-06 19:40:09 UTC (rev 1510)
+++ trunk/src/data/pcap/pcap_settings.cpp 2012-12-08 20:38:34 UTC (rev 1511)
@@ -1,40 +1,10 @@
#include "pcap_settings.h"
#include <iostream>
-#include <math.h>
-double round(double x, int prec)
+double round(double num, int prec)
{
- double power = 1.0;
- int i;
-
- if (prec > 0)
- {
- for (i = 0; i < prec; i++)
- {
- power *= 10.0;
- }
- }
- else if (prec < 0)
- {
- for (i = 0; i < prec; i++)
- {
- power /= 10.0;
- }
- }
-
- if(x > 0)
- {
- x = floor(x * power + 0.5) / power;
- }
- else if(x < 0)
- {
- x = ceil(x * power - 0.5) / power;
- }
-
- if (x == -0)
- x = 0;
-
-return x;
+ double result = floor((num * pow(10,prec) + 0.5)) / pow(10,prec);
+ return result;
}
void PcapSettings::validate_settings()
@@ -108,16 +78,16 @@
double PcapSettings::timeval_to_double(timeval ts)
{
- double result;
+ double result,pom;
switch(time_unit)
{
- case SECONDS: result = ts.tv_sec + (double)ts.tv_usec/1000000; break;
- case MILISECONDS: result = ts.tv_sec*1000 + (double)ts.tv_usec/1000; break;
- case MICROSECONDS: result = ts.tv_sec*1000000 + (double)ts.tv_usec; break;
+ case SECONDS: pom = ts.tv_sec + (double)ts.tv_usec/1000000; result = round(pom,6); break;
+ case MILISECONDS: pom = ts.tv_sec*1000 + (double)ts.tv_usec/1000; result = round(pom,3); break;
+ case MICROSECONDS: pom = ts.tv_sec*1000000 + (double)ts.tv_usec; result = pom; break;
default : break;
}
- result = round(result,3);
- return result;
+ //std::cout << std::fixed << std::setprecision(9) << result << "\n";
+ return result;
}
double PcapSettings::bytes_to_user_unit(u_short bytes)
@@ -125,8 +95,8 @@
double result;
if(data_unit == BITS)
result = bytes*8;
- else
- result = bytes/data_unit;
+ else
+ result = bytes/data_unit;
result = round(result,2);
return result;
Modified: trunk/src/data/pcap/pcap_settings.h
===================================================================
--- trunk/src/data/pcap/pcap_settings.h 2012-12-06 19:40:09 UTC (rev 1510)
+++ trunk/src/data/pcap/pcap_settings.h 2012-12-08 20:38:34 UTC (rev 1511)
@@ -2,11 +2,14 @@
#define PCAP_SETTINGS_INCLUDED
#include <stdlib.h>
+#include <ios>
#include <pcap.h>
+#include <math.h>
#include "packet.h"
#include <boost/shared_ptr.hpp>
#include "data/configurator.h"
#include <sstream>
+#include <iomanip>
double round(double x, int prec);
@@ -157,7 +160,7 @@
typedef enum
{
- LINK_LAYER = 0,
+ LINK_LAYER = 0,
NET_LAYER,
TRANSPORT_LAYER,
APP_LAYER
@@ -170,26 +173,14 @@
} TimeFormat;
// SET THE FILTER
-static const char* sip_filter = "(tcp || udp) && (port 5060 || port 5061)";
+/*static const char* sip_filter = "(tcp || udp) && (port 5060 || port 5061)";
static const char* tcp_filter = "tcp";
static const char* http_filter = "tcp port 80";
static const char* no_filter = "";
-static const char* naive_rtp_filter = "udp[1] & 1 != 1 && udp[3] & 1 != 1 && udp[8] & 0x80 == 0x80 && length < 250";
+static const char* naive_rtp_filter = "udp[1] & 1 != 1 && udp[3] & 1 != 1 && udp[8] & 0x80 == 0x80 && length < 250";*/
-
-// config provider
-class PcapConfigProvider : public ConfigProvider
-{
-public:
- virtual long get_config_long(const std::wstring& section, const std::wstring& parameter, long def = 0) const
- { return def; }
- virtual float get_config_float(const std::wstring& section, const std::wstring& parameter, float def = 0.0f) const
- { return def; }
-};
-
class PcapSettings : public ConfigReader
{
- PcapConfigProvider pcp;
public:
bool show_timestamps;
@@ -207,24 +198,22 @@
PcapSettings() // not set pointer to other settings [view,advanced,flow]
{
- set_config_provider(&pcp);
show_timestamps = true;
time_unit = MILISECONDS;
time_format = ABS_TIME;
data_unit = BYTES;
- pcap_filter = no_filter;
+ pcap_filter = "";
parse_layer = NET_LAYER;
ignore_packets = false;
}
PcapSettings(ViewSettings* view_set,AdvancedSettings* adv_set,AggregSettings* flow_set = NULL)
{
- set_config_provider(&pcp);
show_timestamps = true;
time_unit = MILISECONDS;
time_format = ABS_TIME;
data_unit = BYTES;
- pcap_filter = no_filter;
+ pcap_filter = "";
parse_layer = APP_LAYER;
ignore_packets = false;
flow_settings = NULL;
@@ -237,7 +226,7 @@
void validate_settings();
double bytes_to_user_unit(u_short bytes);
- double timeval_to_double(timeval ts);
+ double timeval_to_double(timeval ts);
std::string get_message_label(int packet_id,Packet* packet,std::string all_info,bool append_all_info);
bool is_aggregation_active();
bool is_aggregation_active(FlowLevel level);
@@ -251,4 +240,4 @@
};
-#endif
\ No newline at end of file
+#endif
Modified: trunk/src/data/pcap/protocols.h
===================================================================
--- trunk/src/data/pcap/protocols.h 2012-12-06 19:40:09 UTC (rev 1510)
+++ trunk/src/data/pcap/protocols.h 2012-12-08 20:38:34 UTC (rev 1511)
@@ -51,9 +51,9 @@
static std::string get_hex(int value)
{
- std::stringstream ss;
- ss << std::hex << value;
- return ss.str();
+ std::stringstream ss;
+ ss << std::hex << value;
+ return ss.str();
}
#define GET_NET_NAME(type) (type < 0 || (net_names.find(type) == net_names.end()) ? get_hex(type) : (net_names.find(type))->second)
@@ -202,8 +202,8 @@
static const std::map<int,const char*> ports_names = boost::assign::map_list_of
(20,"FTP_T") // File Transfer Pro...
[truncated message content] |
|
From: <xb...@us...> - 2012-12-08 22:05:14
|
Revision: 1512
http://scstudio.svn.sourceforge.net/scstudio/?rev=1512&view=rev
Author: xborza
Date: 2012-12-08 22:04:52 +0000 (Sat, 08 Dec 2012)
Log Message:
-----------
config files for pcap, pcap sample files in Tests...
Added Paths:
-----------
trunk/tests/pcap/README!!!
trunk/tests/pcap/config/
trunk/tests/pcap/config/all_eq_packets_aggreg.ini
trunk/tests/pcap/config/all_info.ini
trunk/tests/pcap/config/app_layer.ini
trunk/tests/pcap/config/bw_con_com_aggreg.ini
trunk/tests/pcap/config/config.ini
trunk/tests/pcap/config/ignore.ini
trunk/tests/pcap/config/link_layer.ini
trunk/tests/pcap/config/lst_aggreg.ini
trunk/tests/pcap/config/mix.ini
trunk/tests/pcap/config/net_layer.ini
trunk/tests/pcap/config/ow_con_com_aggreg.ini
trunk/tests/pcap/config/relative_time.ini
trunk/tests/pcap/config/sip_stream.ini
trunk/tests/pcap/config/tcp_http_reasembly.ini
trunk/tests/pcap/config/time-aggreg.ini
trunk/tests/pcap/config/trans_layer.ini
trunk/tests/pcap/mpr_out/
trunk/tests/pcap/mpr_out/arp_example_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/arp_example_all_info.mpr
trunk/tests/pcap/mpr_out/arp_example_app_layer.mpr
trunk/tests/pcap/mpr_out/arp_example_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/arp_example_config.mpr
trunk/tests/pcap/mpr_out/arp_example_ignore.mpr
trunk/tests/pcap/mpr_out/arp_example_link_layer.mpr
trunk/tests/pcap/mpr_out/arp_example_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/arp_example_mix.mpr
trunk/tests/pcap/mpr_out/arp_example_net_layer.mpr
trunk/tests/pcap/mpr_out/arp_example_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/arp_example_relative_time.mpr
trunk/tests/pcap/mpr_out/arp_example_sip_stream.mpr
trunk/tests/pcap/mpr_out/arp_example_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/arp_example_time-aggreg.mpr
trunk/tests/pcap/mpr_out/arp_example_trans_layer.mpr
trunk/tests/pcap/mpr_out/bfd-raw-auth-simple_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/bfd-raw-auth-simple_all_info.mpr
trunk/tests/pcap/mpr_out/bfd-raw-auth-simple_app_layer.mpr
trunk/tests/pcap/mpr_out/bfd-raw-auth-simple_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/bfd-raw-auth-simple_config.mpr
trunk/tests/pcap/mpr_out/bfd-raw-auth-simple_ignore.mpr
trunk/tests/pcap/mpr_out/bfd-raw-auth-simple_link_layer.mpr
trunk/tests/pcap/mpr_out/bfd-raw-auth-simple_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/bfd-raw-auth-simple_mix.mpr
trunk/tests/pcap/mpr_out/bfd-raw-auth-simple_net_layer.mpr
trunk/tests/pcap/mpr_out/bfd-raw-auth-simple_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/bfd-raw-auth-simple_relative_time.mpr
trunk/tests/pcap/mpr_out/bfd-raw-auth-simple_sip_stream.mpr
trunk/tests/pcap/mpr_out/bfd-raw-auth-simple_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/bfd-raw-auth-simple_time-aggreg.mpr
trunk/tests/pcap/mpr_out/bfd-raw-auth-simple_trans_layer.mpr
trunk/tests/pcap/mpr_out/dhcp_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/dhcp_all_info.mpr
trunk/tests/pcap/mpr_out/dhcp_app_layer.mpr
trunk/tests/pcap/mpr_out/dhcp_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/dhcp_config.mpr
trunk/tests/pcap/mpr_out/dhcp_ignore.mpr
trunk/tests/pcap/mpr_out/dhcp_link_layer.mpr
trunk/tests/pcap/mpr_out/dhcp_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/dhcp_mix.mpr
trunk/tests/pcap/mpr_out/dhcp_net_layer.mpr
trunk/tests/pcap/mpr_out/dhcp_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/dhcp_relative_time.mpr
trunk/tests/pcap/mpr_out/dhcp_sip_stream.mpr
trunk/tests/pcap/mpr_out/dhcp_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/dhcp_time-aggreg.mpr
trunk/tests/pcap/mpr_out/dhcp_trans_layer.mpr
trunk/tests/pcap/mpr_out/dn_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/dn_all_info.mpr
trunk/tests/pcap/mpr_out/dn_app_layer.mpr
trunk/tests/pcap/mpr_out/dn_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/dn_config.mpr
trunk/tests/pcap/mpr_out/dn_ignore.mpr
trunk/tests/pcap/mpr_out/dn_link_layer.mpr
trunk/tests/pcap/mpr_out/dn_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/dn_mix.mpr
trunk/tests/pcap/mpr_out/dn_net_layer.mpr
trunk/tests/pcap/mpr_out/dn_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/dn_relative_time.mpr
trunk/tests/pcap/mpr_out/dn_sip_stream.mpr
trunk/tests/pcap/mpr_out/dn_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/dn_time-aggreg.mpr
trunk/tests/pcap/mpr_out/dn_trans_layer.mpr
trunk/tests/pcap/mpr_out/ftpv6_part1_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/ftpv6_part1_all_info.mpr
trunk/tests/pcap/mpr_out/ftpv6_part1_app_layer.mpr
trunk/tests/pcap/mpr_out/ftpv6_part1_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/ftpv6_part1_config.mpr
trunk/tests/pcap/mpr_out/ftpv6_part1_ignore.mpr
trunk/tests/pcap/mpr_out/ftpv6_part1_link_layer.mpr
trunk/tests/pcap/mpr_out/ftpv6_part1_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/ftpv6_part1_mix.mpr
trunk/tests/pcap/mpr_out/ftpv6_part1_net_layer.mpr
trunk/tests/pcap/mpr_out/ftpv6_part1_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/ftpv6_part1_relative_time.mpr
trunk/tests/pcap/mpr_out/ftpv6_part1_sip_stream.mpr
trunk/tests/pcap/mpr_out/ftpv6_part1_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/ftpv6_part1_time-aggreg.mpr
trunk/tests/pcap/mpr_out/ftpv6_part1_trans_layer.mpr
trunk/tests/pcap/mpr_out/ftpv6_part2_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/ftpv6_part2_all_info.mpr
trunk/tests/pcap/mpr_out/ftpv6_part2_app_layer.mpr
trunk/tests/pcap/mpr_out/ftpv6_part2_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/ftpv6_part2_config.mpr
trunk/tests/pcap/mpr_out/ftpv6_part2_ignore.mpr
trunk/tests/pcap/mpr_out/ftpv6_part2_link_layer.mpr
trunk/tests/pcap/mpr_out/ftpv6_part2_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/ftpv6_part2_mix.mpr
trunk/tests/pcap/mpr_out/ftpv6_part2_net_layer.mpr
trunk/tests/pcap/mpr_out/ftpv6_part2_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/ftpv6_part2_relative_time.mpr
trunk/tests/pcap/mpr_out/ftpv6_part2_sip_stream.mpr
trunk/tests/pcap/mpr_out/ftpv6_part2_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/ftpv6_part2_time-aggreg.mpr
trunk/tests/pcap/mpr_out/ftpv6_part2_trans_layer.mpr
trunk/tests/pcap/mpr_out/htt_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/htt_all_info.mpr
trunk/tests/pcap/mpr_out/htt_app_layer.mpr
trunk/tests/pcap/mpr_out/htt_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/htt_config.mpr
trunk/tests/pcap/mpr_out/htt_ignore.mpr
trunk/tests/pcap/mpr_out/htt_link_layer.mpr
trunk/tests/pcap/mpr_out/htt_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/htt_mix.mpr
trunk/tests/pcap/mpr_out/htt_net_layer.mpr
trunk/tests/pcap/mpr_out/htt_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/htt_relative_time.mpr
trunk/tests/pcap/mpr_out/htt_sip_stream.mpr
trunk/tests/pcap/mpr_out/htt_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/htt_time-aggreg.mpr
trunk/tests/pcap/mpr_out/htt_trans_layer.mpr
trunk/tests/pcap/mpr_out/http_gzip_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/http_gzip_all_info.mpr
trunk/tests/pcap/mpr_out/http_gzip_app_layer.mpr
trunk/tests/pcap/mpr_out/http_gzip_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/http_gzip_config.mpr
trunk/tests/pcap/mpr_out/http_gzip_ignore.mpr
trunk/tests/pcap/mpr_out/http_gzip_link_layer.mpr
trunk/tests/pcap/mpr_out/http_gzip_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/http_gzip_mix.mpr
trunk/tests/pcap/mpr_out/http_gzip_net_layer.mpr
trunk/tests/pcap/mpr_out/http_gzip_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/http_gzip_relative_time.mpr
trunk/tests/pcap/mpr_out/http_gzip_sip_stream.mpr
trunk/tests/pcap/mpr_out/http_gzip_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/http_gzip_time-aggreg.mpr
trunk/tests/pcap/mpr_out/http_gzip_trans_layer.mpr
trunk/tests/pcap/mpr_out/ipv4_cipso_option_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/ipv4_cipso_option_all_info.mpr
trunk/tests/pcap/mpr_out/ipv4_cipso_option_app_layer.mpr
trunk/tests/pcap/mpr_out/ipv4_cipso_option_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/ipv4_cipso_option_config.mpr
trunk/tests/pcap/mpr_out/ipv4_cipso_option_ignore.mpr
trunk/tests/pcap/mpr_out/ipv4_cipso_option_link_layer.mpr
trunk/tests/pcap/mpr_out/ipv4_cipso_option_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/ipv4_cipso_option_mix.mpr
trunk/tests/pcap/mpr_out/ipv4_cipso_option_net_layer.mpr
trunk/tests/pcap/mpr_out/ipv4_cipso_option_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/ipv4_cipso_option_relative_time.mpr
trunk/tests/pcap/mpr_out/ipv4_cipso_option_sip_stream.mpr
trunk/tests/pcap/mpr_out/ipv4_cipso_option_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/ipv4_cipso_option_time-aggreg.mpr
trunk/tests/pcap/mpr_out/ipv4_cipso_option_trans_layer.mpr
trunk/tests/pcap/mpr_out/sample_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/sample_all_info.mpr
trunk/tests/pcap/mpr_out/sample_app_layer.mpr
trunk/tests/pcap/mpr_out/sample_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/sample_config.mpr
trunk/tests/pcap/mpr_out/sample_ignore.mpr
trunk/tests/pcap/mpr_out/sample_link_layer.mpr
trunk/tests/pcap/mpr_out/sample_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/sample_mix.mpr
trunk/tests/pcap/mpr_out/sample_net_layer.mpr
trunk/tests/pcap/mpr_out/sample_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/sample_relative_time.mpr
trunk/tests/pcap/mpr_out/sample_sip_stream.mpr
trunk/tests/pcap/mpr_out/sample_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/sample_time-aggreg.mpr
trunk/tests/pcap/mpr_out/sample_trans_layer.mpr
trunk/tests/pcap/mpr_out/sip_call_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/sip_call_all_info.mpr
trunk/tests/pcap/mpr_out/sip_call_app_layer.mpr
trunk/tests/pcap/mpr_out/sip_call_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/sip_call_config.mpr
trunk/tests/pcap/mpr_out/sip_call_ignore.mpr
trunk/tests/pcap/mpr_out/sip_call_link_layer.mpr
trunk/tests/pcap/mpr_out/sip_call_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/sip_call_mix.mpr
trunk/tests/pcap/mpr_out/sip_call_net_layer.mpr
trunk/tests/pcap/mpr_out/sip_call_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/sip_call_relative_time.mpr
trunk/tests/pcap/mpr_out/sip_call_sip_stream.mpr
trunk/tests/pcap/mpr_out/sip_call_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/sip_call_time-aggreg.mpr
trunk/tests/pcap/mpr_out/sip_call_trans_layer.mpr
trunk/tests/pcap/mpr_out/sip_example_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/sip_example_all_info.mpr
trunk/tests/pcap/mpr_out/sip_example_app_layer.mpr
trunk/tests/pcap/mpr_out/sip_example_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/sip_example_config.mpr
trunk/tests/pcap/mpr_out/sip_example_ignore.mpr
trunk/tests/pcap/mpr_out/sip_example_link_layer.mpr
trunk/tests/pcap/mpr_out/sip_example_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/sip_example_mix.mpr
trunk/tests/pcap/mpr_out/sip_example_net_layer.mpr
trunk/tests/pcap/mpr_out/sip_example_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/sip_example_relative_time.mpr
trunk/tests/pcap/mpr_out/sip_example_sip_stream.mpr
trunk/tests/pcap/mpr_out/sip_example_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/sip_example_time-aggreg.mpr
trunk/tests/pcap/mpr_out/sip_example_trans_layer.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part1_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part1_all_info.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part1_app_layer.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part1_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part1_config.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part1_ignore.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part1_link_layer.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part1_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part1_mix.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part1_net_layer.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part1_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part1_relative_time.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part1_sip_stream.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part1_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part1_time-aggreg.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part1_trans_layer.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part2_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part2_all_info.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part2_app_layer.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part2_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part2_config.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part2_ignore.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part2_link_layer.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part2_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part2_mix.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part2_net_layer.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part2_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part2_relative_time.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part2_sip_stream.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part2_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part2_time-aggreg.mpr
trunk/tests/pcap/mpr_out/sip_rtp_part2_trans_layer.mpr
trunk/tests/pcap/mpr_out/sip_rtp_sample_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/sip_rtp_sample_all_info.mpr
trunk/tests/pcap/mpr_out/sip_rtp_sample_app_layer.mpr
trunk/tests/pcap/mpr_out/sip_rtp_sample_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/sip_rtp_sample_config.mpr
trunk/tests/pcap/mpr_out/sip_rtp_sample_ignore.mpr
trunk/tests/pcap/mpr_out/sip_rtp_sample_link_layer.mpr
trunk/tests/pcap/mpr_out/sip_rtp_sample_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/sip_rtp_sample_mix.mpr
trunk/tests/pcap/mpr_out/sip_rtp_sample_net_layer.mpr
trunk/tests/pcap/mpr_out/sip_rtp_sample_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/sip_rtp_sample_relative_time.mpr
trunk/tests/pcap/mpr_out/sip_rtp_sample_sip_stream.mpr
trunk/tests/pcap/mpr_out/sip_rtp_sample_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/sip_rtp_sample_time-aggreg.mpr
trunk/tests/pcap/mpr_out/sip_rtp_sample_trans_layer.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part1_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part1_all_info.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part1_app_layer.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part1_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part1_config.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part1_ignore.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part1_link_layer.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part1_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part1_mix.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part1_net_layer.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part1_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part1_relative_time.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part1_sip_stream.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part1_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part1_time-aggreg.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part1_trans_layer.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part2_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part2_all_info.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part2_app_layer.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part2_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part2_config.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part2_ignore.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part2_link_layer.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part2_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part2_mix.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part2_net_layer.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part2_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part2_relative_time.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part2_sip_stream.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part2_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part2_time-aggreg.mpr
trunk/tests/pcap/mpr_out/skypeIRC_part2_trans_layer.mpr
trunk/tests/pcap/mpr_out/smtp_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/smtp_all_info.mpr
trunk/tests/pcap/mpr_out/smtp_app_layer.mpr
trunk/tests/pcap/mpr_out/smtp_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/smtp_config.mpr
trunk/tests/pcap/mpr_out/smtp_ignore.mpr
trunk/tests/pcap/mpr_out/smtp_link_layer.mpr
trunk/tests/pcap/mpr_out/smtp_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/smtp_mix.mpr
trunk/tests/pcap/mpr_out/smtp_net_layer.mpr
trunk/tests/pcap/mpr_out/smtp_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/smtp_relative_time.mpr
trunk/tests/pcap/mpr_out/smtp_sip_stream.mpr
trunk/tests/pcap/mpr_out/smtp_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/smtp_time-aggreg.mpr
trunk/tests/pcap/mpr_out/smtp_trans_layer.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part1_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part1_all_info.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part1_app_layer.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part1_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part1_config.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part1_ignore.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part1_link_layer.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part1_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part1_mix.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part1_net_layer.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part1_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part1_relative_time.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part1_sip_stream.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part1_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part1_time-aggreg.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part1_trans_layer.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part2_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part2_all_info.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part2_app_layer.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part2_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part2_config.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part2_ignore.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part2_link_layer.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part2_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part2_mix.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part2_net_layer.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part2_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part2_relative_time.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part2_sip_stream.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part2_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part2_time-aggreg.mpr
trunk/tests/pcap/mpr_out/tcp_ecn_sample_part2_trans_layer.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part1_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part1_all_info.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part1_app_layer.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part1_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part1_config.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part1_ignore.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part1_link_layer.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part1_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part1_mix.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part1_net_layer.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part1_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part1_relative_time.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part1_sip_stream.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part1_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part1_time-aggreg.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part1_trans_layer.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part2_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part2_all_info.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part2_app_layer.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part2_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part2_config.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part2_ignore.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part2_link_layer.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part2_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part2_mix.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part2_net_layer.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part2_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part2_relative_time.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part2_sip_stream.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part2_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part2_time-aggreg.mpr
trunk/tests/pcap/mpr_out/telnet_raw_part2_trans_layer.mpr
trunk/tests/pcap/mpr_out/v6-htt_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/v6-htt_all_info.mpr
trunk/tests/pcap/mpr_out/v6-htt_app_layer.mpr
trunk/tests/pcap/mpr_out/v6-htt_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/v6-htt_config.mpr
trunk/tests/pcap/mpr_out/v6-htt_ignore.mpr
trunk/tests/pcap/mpr_out/v6-htt_link_layer.mpr
trunk/tests/pcap/mpr_out/v6-htt_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/v6-htt_mix.mpr
trunk/tests/pcap/mpr_out/v6-htt_net_layer.mpr
trunk/tests/pcap/mpr_out/v6-htt_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/v6-htt_relative_time.mpr
trunk/tests/pcap/mpr_out/v6-htt_sip_stream.mpr
trunk/tests/pcap/mpr_out/v6-htt_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/v6-htt_time-aggreg.mpr
trunk/tests/pcap/mpr_out/v6-htt_trans_layer.mpr
trunk/tests/pcap/mpr_out/v6_part1_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/v6_part1_all_info.mpr
trunk/tests/pcap/mpr_out/v6_part1_app_layer.mpr
trunk/tests/pcap/mpr_out/v6_part1_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/v6_part1_config.mpr
trunk/tests/pcap/mpr_out/v6_part1_ignore.mpr
trunk/tests/pcap/mpr_out/v6_part1_link_layer.mpr
trunk/tests/pcap/mpr_out/v6_part1_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/v6_part1_mix.mpr
trunk/tests/pcap/mpr_out/v6_part1_net_layer.mpr
trunk/tests/pcap/mpr_out/v6_part1_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/v6_part1_relative_time.mpr
trunk/tests/pcap/mpr_out/v6_part1_sip_stream.mpr
trunk/tests/pcap/mpr_out/v6_part1_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/v6_part1_time-aggreg.mpr
trunk/tests/pcap/mpr_out/v6_part1_trans_layer.mpr
trunk/tests/pcap/mpr_out/v6_part2_all_eq_packets_aggreg.mpr
trunk/tests/pcap/mpr_out/v6_part2_all_info.mpr
trunk/tests/pcap/mpr_out/v6_part2_app_layer.mpr
trunk/tests/pcap/mpr_out/v6_part2_bw_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/v6_part2_config.mpr
trunk/tests/pcap/mpr_out/v6_part2_ignore.mpr
trunk/tests/pcap/mpr_out/v6_part2_link_layer.mpr
trunk/tests/pcap/mpr_out/v6_part2_lst_aggreg.mpr
trunk/tests/pcap/mpr_out/v6_part2_mix.mpr
trunk/tests/pcap/mpr_out/v6_part2_net_layer.mpr
trunk/tests/pcap/mpr_out/v6_part2_ow_con_com_aggreg.mpr
trunk/tests/pcap/mpr_out/v6_part2_relative_time.mpr
trunk/tests/pcap/mpr_out/v6_part2_sip_stream.mpr
trunk/tests/pcap/mpr_out/v6_part2_tcp_http_reasembly.mpr
trunk/tests/pcap/mpr_out/v6_part2_time-aggreg.mpr
trunk/tests/pcap/mpr_out/v6_part2_trans_layer.mpr
trunk/tests/pcap/pcap_diff.py
trunk/tests/pcap/pcap_in/
trunk/tests/pcap/pcap_in/arp_example.pcap
trunk/tests/pcap/pcap_in/bfd-raw-auth-simple.pcap
trunk/tests/pcap/pcap_in/dhcp.pcap
trunk/tests/pcap/pcap_in/dns.cap
trunk/tests/pcap/pcap_in/ftpv6_part1.pcap
trunk/tests/pcap/pcap_in/ftpv6_part2.pcap
trunk/tests/pcap/pcap_in/http.cap
trunk/tests/pcap/pcap_in/http_gzip.pcap
trunk/tests/pcap/pcap_in/ipv4_cipso_option.pcap
trunk/tests/pcap/pcap_in/sample.pcap
trunk/tests/pcap/pcap_in/sip_call.pcap
trunk/tests/pcap/pcap_in/sip_example.pcap
trunk/tests/pcap/pcap_in/sip_rtp_part1.pcap
trunk/tests/pcap/pcap_in/sip_rtp_part2.pcap
trunk/tests/pcap/pcap_in/sip_rtp_sample.pcap
trunk/tests/pcap/pcap_in/skypeIRC_part1.pcap
trunk/tests/pcap/pcap_in/skypeIRC_part2.pcap
trunk/tests/pcap/pcap_in/smtp.pcap
trunk/tests/pcap/pcap_in/tcp_ecn_sample_part1.pcap
trunk/tests/pcap/pcap_in/tcp_ecn_sample_part2.pcap
trunk/tests/pcap/pcap_in/telnet_raw_part1.pcap
trunk/tests/pcap/pcap_in/telnet_raw_part2.pcap
trunk/tests/pcap/pcap_in/v6-http.cap
trunk/tests/pcap/pcap_in/v6_part1.pcap
trunk/tests/pcap/pcap_in/v6_part2.pcap
trunk/tests/pcap/pdf_out/
trunk/tests/pcap/pdf_out/arp_example_all_eq_packets_aggreg.pdf
trunk/tests/pcap/pdf_out/arp_example_bw_con_com_aggreg.pdf
trunk/tests/pcap/pdf_out/arp_example_link_layer.pdf
trunk/tests/pcap/pdf_out/arp_example_lst_aggreg.pdf
trunk/tests/pcap/pdf_out/arp_example_ow_con_com_aggreg.pdf
trunk/tests/pcap/pdf_out/arp_example_relative_time.pdf
trunk/tests/pcap/pdf_out/bfd-raw-auth-simple_all_eq_packets_aggreg.pdf
trunk/tests/pcap/pdf_out/bfd-raw-auth-simple_bw_con_com_aggreg.pdf
trunk/tests/pcap/pdf_out/bfd-raw-auth-simple_lst_aggreg.pdf
trunk/tests/pcap/pdf_out/bfd-raw-auth-simple_ow_con_com_aggreg.pdf
trunk/tests/pcap/pdf_out/dhcp_all_eq_packets_aggreg.pdf
trunk/tests/pcap/pdf_out/dhcp_app_layer.pdf
trunk/tests/pcap/pdf_out/dhcp_bw_con_com_aggreg.pdf
trunk/tests/pcap/pdf_out/dhcp_config.pdf
trunk/tests/pcap/pdf_out/dhcp_lst_aggreg.pdf
trunk/tests/pcap/pdf_out/dhcp_mix.pdf
trunk/tests/pcap/pdf_out/dhcp_ow_con_com_aggreg.pdf
trunk/tests/pcap/pdf_out/dhcp_relative_time.pdf
trunk/tests/pcap/pdf_out/dhcp_sip_stream.pdf
trunk/tests/pcap/pdf_out/dhcp_tcp_http_reasembly.pdf
trunk/tests/pcap/pdf_out/dhcp_time-aggreg.pdf
trunk/tests/pcap/pdf_out/http_gzip_ignore.pdf
trunk/tests/pcap/pdf_out/http_gzip_relative_time.pdf
trunk/tests/pcap/pdf_out/ipv4_cipso_option_all_eq_packets_aggreg.pdf
trunk/tests/pcap/pdf_out/ipv4_cipso_option_all_info.pdf
trunk/tests/pcap/pdf_out/ipv4_cipso_option_bw_con_com_aggreg.pdf
trunk/tests/pcap/pdf_out/ipv4_cipso_option_config.pdf
trunk/tests/pcap/pdf_out/ipv4_cipso_option_lst_aggreg.pdf
trunk/tests/pcap/pdf_out/ipv4_cipso_option_net_layer.pdf
trunk/tests/pcap/pdf_out/ipv4_cipso_option_sip_stream.pdf
trunk/tests/pcap/pdf_out/ipv4_cipso_option_tcp_http_reasembly.pdf
trunk/tests/pcap/pdf_out/ipv4_cipso_option_time-aggreg.pdf
trunk/tests/pcap/pdf_out/ipv4_cipso_option_trans_layer.pdf
trunk/tests/pcap/pdf_out/reload_pdfs.py
trunk/tests/pcap/pdf_out/sip_example_all_eq_packets_aggreg.pdf
trunk/tests/pcap/pdf_out/sip_example_bw_con_com_aggreg.pdf
trunk/tests/pcap/pdf_out/sip_rtp_sample_all_eq_packets_aggreg.pdf
trunk/tests/pcap/pdf_out/sip_rtp_sample_bw_con_com_aggreg.pdf
trunk/tests/pcap/pdf_out/tcp_ecn_sample_part1_all_eq_packets_aggreg.pdf
trunk/tests/pcap/pdf_out/tcp_ecn_sample_part1_mix.pdf
trunk/tests/pcap/pdf_out/tcp_ecn_sample_part2_all_eq_packets_aggreg.pdf
trunk/tests/pcap/pdf_out/tcp_ecn_sample_part2_ow_con_com_aggreg.pdf
trunk/tests/pcap/pdf_out/telnet_raw_part1_all_eq_packets_aggreg.pdf
trunk/tests/pcap/pdf_out/telnet_raw_part1_bw_con_com_aggreg.pdf
trunk/tests/pcap/pdf_out/telnet_raw_part1_relative_time.pdf
trunk/tests/pcap/pdf_out/v6-htt_all_eq_packets_aggreg.pdf
trunk/tests/pcap/pdf_out/v6-htt_lst_aggreg.pdf
trunk/tests/pcap/pdf_out/v6-htt_ow_con_com_aggreg.pdf
trunk/tests/pcap/reload_mprs.py
trunk/tests/pcap/reload_texs.py
trunk/tests/pcap/tex_out/
trunk/tests/pcap/tex_out/arp_example_all_eq_packets_aggreg.tex
trunk/tests/pcap/tex_out/arp_example_all_info.tex
trunk/tests/pcap/tex_out/arp_example_app_layer.tex
trunk/tests/pcap/tex_out/arp_example_bw_con_com_aggreg.tex
trunk/tests/pcap/tex_out/arp_example_config.tex
trunk/tests/pcap/tex_out/arp_example_ignore.tex
trunk/tests/pcap/tex_out/arp_example_link_layer.tex
trunk/tests/pcap/tex_out/arp_example_lst_aggreg.tex
trunk/tests/pcap/tex_out/arp_example_mix.tex
trunk/tests/pcap/tex_out/arp_example_net_layer.tex
trunk/tests/pcap/tex_out/arp_example_ow_con_com_aggreg.tex
trunk/tests/pcap/tex_out/arp_example_relative_time.tex
trunk/tests/pcap/tex_out/arp_example_sip_stream.tex
trunk/tests/pcap/tex_out/arp_example_tcp_http_reasembly.tex
trunk/tests/pcap/tex_out/arp_example_time-aggreg.tex
trunk/tests/pcap/tex_out/arp_example_trans_layer.tex
trunk/tests/pcap/tex_out/bfd-raw-auth-simple_all_eq_packets_aggreg.tex
trunk/tests/pcap/tex_out/bfd-raw-auth-simple_all_info.tex
trunk/tests/pcap/tex_out/bfd-raw-auth-simple_app_layer.tex
trunk/tests/pcap/tex_out/bfd-raw-auth-simple_bw_con_com_aggreg.tex
trunk/tests/pcap/tex_out/bfd-raw-auth-simple_config.tex
trunk/tests/pcap/tex_out/bfd-raw-auth-simple_ignore.tex
trunk/tests/pcap/tex_out/bfd-raw-auth-simple_link_layer.tex
trunk/tests/pcap/tex_out/bfd-raw-auth-simple_lst_aggreg.tex
trunk/tests/pcap/tex_out/bfd-raw-auth-simple_mix.tex
trunk/tests/pcap/tex_out/bfd-raw-auth-simple_net_layer.tex
trunk/tests/pcap/tex_out/bfd-raw-auth-simple_ow_con_com_aggreg.tex
trunk/tests/pcap/tex_out/bfd-raw-auth-simple_relative_time.tex
trunk/tests/pcap/tex_out/bfd-raw-auth-simple_sip_stream.tex
trunk/tests/pcap/tex_out/bfd-raw-auth-simple_tcp_http_reasembly.tex
trunk/tests/pcap/tex_out/bfd-raw-auth-simple_time-aggreg.tex
trunk/tests/pcap/tex_out/bfd-raw-auth-simple_trans_layer.tex
trunk/tests/pcap/tex_out/dhcp_all_eq_packets_aggreg.tex
trunk/tests/pcap/tex_out/dhcp_all_info.tex
trunk/tests/pcap/tex_out/dhcp_app...
[truncated message content] |
|
From: <xm...@us...> - 2012-12-12 15:50:36
|
Revision: 1522
http://scstudio.svn.sourceforge.net/scstudio/?rev=1522&view=rev
Author: xmalota
Date: 2012-12-12 15:50:24 +0000 (Wed, 12 Dec 2012)
Log Message:
-----------
removed bug #3587481, missing menu after installation and one compilation problem
Modified Paths:
--------------
trunk/src/data/time_relevant_ordering/time_order_optimizer.h
trunk/src/view/visio/addon/scstudio.vcproj
trunk/third-party-sw/redistribute/Microsoft.VC90.ATL.manifest
trunk/third-party-sw/redistribute/Microsoft.VC90.CRT.manifest
trunk/third-party-sw/redistribute/atl90.dll
trunk/third-party-sw/redistribute/msvcm90.dll
trunk/third-party-sw/redistribute/msvcp90.dll
trunk/third-party-sw/redistribute/msvcr90.dll
Modified: trunk/src/data/time_relevant_ordering/time_order_optimizer.h
===================================================================
--- trunk/src/data/time_relevant_ordering/time_order_optimizer.h 2012-12-12 14:59:39 UTC (rev 1521)
+++ trunk/src/data/time_relevant_ordering/time_order_optimizer.h 2012-12-12 15:50:24 UTC (rev 1522)
@@ -42,7 +42,7 @@
class InstanceWidthComparator
{
public:
- bool operator()(InstancePtr x,InstancePtr y)
+ bool operator()(InstancePtr const x,InstancePtr const y) const
{
return x->get_line_begin().get_x() < y->get_line_begin().get_x();
}
@@ -96,7 +96,7 @@
return m_instance_events_map;
}
-private:
+private:
InstanceEventsMap m_instance_events_map;
};
class TimeConstraintsCheckListener : public WhiteEventFoundListener
@@ -142,7 +142,7 @@
// e->add_absolut_time(absolute_time_set);
}
if(get_absolute_time(e) > m_black_event_timestamp)
- m_black_event_timestamp = get_absolute_time(e);
+ m_black_event_timestamp = get_absolute_time(e);
}
virtual void on_instance_finished(Instance *i){
@@ -152,7 +152,7 @@
virtual void on_black_event_found(Event *e){
if(get_absolute_time(e) > m_black_event_timestamp)
m_black_event_timestamp = get_absolute_time(e);
- }
+ }
const MissingTimeMap& getMissingTimeMap()const{
return m_missing_time_map;
@@ -208,7 +208,7 @@
int i;
MissingTimeMap m_missing_time_map;
double getTime(EventPtr e){
- double time = get_absolute_time(e);
+ double time = get_absolute_time(e);
return (time == NO_ABSOLUTE_TIME) ? m_missing_time_map[e].get_set().front().get_begin_value() : time;
}
Modified: trunk/src/view/visio/addon/scstudio.vcproj
===================================================================
--- trunk/src/view/visio/addon/scstudio.vcproj 2012-12-12 14:59:39 UTC (rev 1521)
+++ trunk/src/view/visio/addon/scstudio.vcproj 2012-12-12 15:50:24 UTC (rev 1522)
@@ -479,6 +479,38 @@
>
</File>
<File
+ RelativePath=".\pcapSettingADlg.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\pcapSettingADlg.h"
+ >
+ </File>
+ <File
+ RelativePath=".\pcapSettingAggregDlg.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\pcapSettingAggregDlg.h"
+ >
+ </File>
+ <File
+ RelativePath=".\pcapSettingGDlg.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\pcapSettingGDlg.h"
+ >
+ </File>
+ <File
+ RelativePath=".\pcapSettingViewDlg.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\pcapSettingViewDlg.h"
+ >
+ </File>
+ <File
RelativePath=".\protectionGlobalDlg.cpp"
>
</File>
@@ -646,11 +678,11 @@
>
</File>
<File
- RelativePath=".\intervals.bmp"
+ RelativePath="..\..\..\..\..\..\bitmaps\intervals.bmp"
>
</File>
<File
- RelativePath="..\..\..\..\..\..\bitmaps\intervals.bmp"
+ RelativePath=".\intervals.bmp"
>
</File>
<File
Modified: trunk/third-party-sw/redistribute/Microsoft.VC90.ATL.manifest
===================================================================
--- trunk/third-party-sw/redistribute/Microsoft.VC90.ATL.manifest 2012-12-12 14:59:39 UTC (rev 1521)
+++ trunk/third-party-sw/redistribute/Microsoft.VC90.ATL.manifest 2012-12-12 15:50:24 UTC (rev 1522)
@@ -1,6 +1,13 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!-- Copyright (c) Microsoft Corporation. All rights reserved. -->
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
- <noInheritable></noInheritable>
- <assemblyIdentity type="win32" name="Microsoft.VC90.ATL" version="9.0.30729.4148" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
- <file name="ATL90.dll" hashalg="SHA1" hash="c5cb2b387712083bef4018d6682121de1846ec6b"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>/knfcblQowRRKjYz9+Pbk4BmSFU=</dsig:DigestValue></asmv2:hash></file>
-</assembly>
\ No newline at end of file
+ <noInheritable/>
+ <assemblyIdentity
+ type="win32"
+ name="Microsoft.VC90.ATL"
+ version="9.0.21022.8"
+ processorArchitecture="x86"
+ publicKeyToken="1fc8b3b9a1e18e3b"
+ />
+ <file name="ATL90.dll" />
+</assembly>
Modified: trunk/third-party-sw/redistribute/Microsoft.VC90.CRT.manifest
===================================================================
--- trunk/third-party-sw/redistribute/Microsoft.VC90.CRT.manifest 2012-12-12 14:59:39 UTC (rev 1521)
+++ trunk/third-party-sw/redistribute/Microsoft.VC90.CRT.manifest 2012-12-12 15:50:24 UTC (rev 1522)
@@ -1,6 +1,13 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!-- Copyright (c) Microsoft Corporation. All rights reserved. -->
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
- <noInheritable></noInheritable>
- <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.30729.4148" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
- <file name="msvcr90.dll" hashalg="SHA1" hash="98e8006e0a4542e69f1a3555b927758bd76ca07d"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>+CXED+6HzJlSphyMNOn27ujadC0=</dsig:DigestValue></asmv2:hash></file> <file name="msvcp90.dll" hashalg="SHA1" hash="3aec3be680024a46813dee891a753bd58b3f3b12"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>MyKED+9DyS+1XcMeaC0Zlw2vFZ0=</dsig:DigestValue></asmv2:hash></file> <file name="msvcm90.dll" hashalg="SHA1" hash="0195dd0896d74b62531e4f3c771904a3d996450e"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>EeyDE7og6WoPd2oBhYbMEnpFHhY=</dsig:DigestValue></asmv2:hash></file>
-</assembly>
\ No newline at end of file
+ <noInheritable/>
+ <assemblyIdentity
+ type="win32"
+ name="Microsoft.VC90.CRT"
+ version="9.0.21022.8"
+ processorArchitecture="x86"
+ publicKeyToken="1fc8b3b9a1e18e3b"
+ />
+ <file name="msvcr90.dll" /> <file name="msvcp90.dll" /> <file name="msvcm90.dll" />
+</assembly>
Modified: trunk/third-party-sw/redistribute/atl90.dll
===================================================================
(Binary files differ)
Modified: trunk/third-party-sw/redistribute/msvcm90.dll
===================================================================
(Binary files differ)
Modified: trunk/third-party-sw/redistribute/msvcp90.dll
===================================================================
(Binary files differ)
Modified: trunk/third-party-sw/redistribute/msvcr90.dll
===================================================================
(Binary files differ)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <xb...@us...> - 2012-12-18 09:29:58
|
Revision: 1525
http://scstudio.svn.sourceforge.net/scstudio/?rev=1525&view=rev
Author: xborza
Date: 2012-12-18 09:29:52 +0000 (Tue, 18 Dec 2012)
Log Message:
-----------
Montecarlo test
Modified Paths:
--------------
trunk/src/data/pcap/bytes.h
trunk/tests/montecarlo/montecarlo_test.cpp
Modified: trunk/src/data/pcap/bytes.h
===================================================================
--- trunk/src/data/pcap/bytes.h 2012-12-17 12:30:46 UTC (rev 1524)
+++ trunk/src/data/pcap/bytes.h 2012-12-18 09:29:52 UTC (rev 1525)
@@ -1,7 +1,7 @@
#ifndef __BYTES_H__
#define __BYTES_H__
-#include <stdint.h>
+//#include <stdint.h>
#include <pcap.h>
#ifdef WIN32
Modified: trunk/tests/montecarlo/montecarlo_test.cpp
===================================================================
--- trunk/tests/montecarlo/montecarlo_test.cpp 2012-12-17 12:30:46 UTC (rev 1524)
+++ trunk/tests/montecarlo/montecarlo_test.cpp 2012-12-18 09:29:52 UTC (rev 1525)
@@ -91,6 +91,8 @@
{ return def; }
virtual float get_config_float(const std::wstring& section, const std::wstring& parameter, float def = 0.0f) const
{ return def; }
+ virtual std::wstring get_config_string(const std::wstring& section, const std::wstring& parameter, std::wstring def = L"") const
+ { return def; }
};
int main(int argc, char** argv)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <xb...@us...> - 2012-12-19 14:45:39
|
Revision: 1528
http://scstudio.svn.sourceforge.net/scstudio/?rev=1528&view=rev
Author: xborza
Date: 2012-12-19 14:43:41 +0000 (Wed, 19 Dec 2012)
Log Message:
-----------
Prepared for release 0.5.3 beta
Modified Paths:
--------------
trunk/CHANGELOG
trunk/doc/scstudio-instructions.rtf
trunk/make_build.bat
trunk/src/view/visio/addon/dllmodule.rc
Modified: trunk/CHANGELOG
===================================================================
--- trunk/CHANGELOG 2012-12-19 14:29:55 UTC (rev 1527)
+++ trunk/CHANGELOG 2012-12-19 14:43:41 UTC (rev 1528)
@@ -3,19 +3,17 @@
***************************************
######################
-# Version actual
+# Version 0.5.3
$Date$, svn revision $Rev$
* export to LaTeX format
-* bug of decimal point recognition in time intervals fixed
+* import pcap format
+* time relevant ordering support for pcap import
* bug No. 3495291 fixed (beautify with too steep messages)
* bug No. 3541398 fixed (acyclic checker added as a precondition of beautify)
-* some fixes of installation process
-* some fixes in find flow
* action and condition supported in Z120 import/export
-
######################
# Version 0.5.2
Modified: trunk/doc/scstudio-instructions.rtf
===================================================================
--- trunk/doc/scstudio-instructions.rtf 2012-12-19 14:29:55 UTC (rev 1527)
+++ trunk/doc/scstudio-instructions.rtf 2012-12-19 14:43:41 UTC (rev 1528)
@@ -1,93 +1,117 @@
-{\rtf1\adeflang1025\ansi\ansicpg1250\uc1\adeff1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1029\deflangfe2052{\fonttbl{\f0\froman\fcharset204\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset204\fprq2{\*\panose 020b0604020202020204}Arial;}
-{\f2\fmodern\fcharset204\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}
-{\f36\fswiss\fcharset204\fprq2{\*\panose 020b0604030504040204}Tahoma;}{\f37\froman\fcharset204\fprq2{\*\panose 02040503050406030204}Cambria;}{\f52\froman\fcharset0\fprq2 Times New Roman;}{\f50\froman\fcharset238\fprq2 Times New Roman CE;}
-{\f53\froman\fcharset161\fprq2 Times New Roman Greek;}{\f54\froman\fcharset162\fprq2 Times New Roman Tur;}{\f55\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f56\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
-{\f57\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f58\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f62\fswiss\fcharset0\fprq2 Arial;}{\f60\fswiss\fcharset238\fprq2 Arial CE;}{\f63\fswiss\fcharset161\fprq2 Arial Greek;}
-{\f64\fswiss\fcharset162\fprq2 Arial Tur;}{\f65\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f66\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}{\f67\fswiss\fcharset186\fprq2 Arial Baltic;}{\f68\fswiss\fcharset163\fprq2 Arial (Vietnamese);}
-{\f72\fmodern\fcharset0\fprq1 Courier New;}{\f70\fmodern\fcharset238\fprq1 Courier New CE;}{\f73\fmodern\fcharset161\fprq1 Courier New Greek;}{\f74\fmodern\fcharset162\fprq1 Courier New Tur;}{\f75\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}
-{\f76\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f77\fmodern\fcharset186\fprq1 Courier New Baltic;}{\f78\fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f412\fswiss\fcharset0\fprq2 Tahoma;}{\f410\fswiss\fcharset238\fprq2 Tahoma CE;}
-{\f413\fswiss\fcharset161\fprq2 Tahoma Greek;}{\f414\fswiss\fcharset162\fprq2 Tahoma Tur;}{\f415\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew);}{\f416\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f417\fswiss\fcharset186\fprq2 Tahoma Baltic;}
-{\f418\fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}{\f419\fswiss\fcharset222\fprq2 Tahoma (Thai);}{\f422\froman\fcharset0\fprq2 Cambria;}{\f420\froman\fcharset238\fprq2 Cambria CE;}{\f423\froman\fcharset161\fprq2 Cambria Greek;}
-{\f424\froman\fcharset162\fprq2 Cambria Tur;}{\f427\froman\fcharset186\fprq2 Cambria Baltic;}{\f428\froman\fcharset163\fprq2 Cambria (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;
-\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;
-\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 \f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 \snext0 \styrsid6893578
-Normal;}{\s1\ql \li2268\ri0\sb120\sa240\sl280\slmult0\keepn\pagebb\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin2268\itap0 \rtlch\fcs1 \ab\af1\afs28\alang1025 \ltrch\fcs0
-\b\f1\fs28\lang1033\langfe1029\kerning32\cgrid\langnp1033\langfenp1029 \sbasedon17 \snext17 \slink15 \styrsid12978455 heading 1;}{\s2\ql \li2268\ri0\sb360\sa60\sl280\slmult0
-\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin2268\itap0 \rtlch\fcs1 \ab\af1\afs24\alang1025 \ltrch\fcs0 \b\f1\fs24\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 \sbasedon17 \snext17 \slink16 \styrsid10886401
-heading 2;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\*
-\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
-\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}{\*\cs15 \additive \rtlch\fcs1
-\ab\af0\afs32 \ltrch\fcs0 \b\fs32\lang0\langfe1029\kerning32\loch\f37\hich\af37\dbch\af0\langnp0\langfenp1029 \sbasedon10 \slink1 \slocked Heading 1 Char;}{\*\cs16 \additive \rtlch\fcs1 \ab\ai\af0\afs28 \ltrch\fcs0
-\b\i\fs28\lang0\langfe1029\loch\f37\hich\af37\dbch\af0\langnp0\langfenp1029 \sbasedon10 \slink2 \slocked \ssemihidden Heading 2 Char;}{\s17\ql \li2268\ri0\sb120\sa120\sl280\slmult0
-\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 \f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 \sbasedon0 \snext17 \styrsid4814744 Paragraph;}{
-\s18\ql \fi-2268\li2268\ri0\sb120\sa120\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 \f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029
-\sbasedon17 \snext18 \styrsid10750423 Paragraph w Sidehead;}{\*\ts19\tsrowd\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
-\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype0\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
+{\rtf1\adeflang1025\ansi\ansicpg1250\uc1\adeff1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1051\deflangfe1051\themelang1051\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset238\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fbidi \fswiss\fcharset238\fprq2{\*\panose 020b0604020202020204}Arial;}
+{\f2\fbidi \fmodern\fcharset238\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}
+{\f34\fbidi \froman\fcharset1\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\f36\fbidi \froman\fcharset238\fprq2{\*\panose 02040503050406030204}Cambria;}{\f38\fbidi \fswiss\fcharset238\fprq2{\*\panose 020b0604030504040204}Tahoma;}
+{\flomajor\f31500\fbidi \froman\fcharset238\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset238\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\fhimajor\f31502\fbidi \froman\fcharset238\fprq2{\*\panose 02040503050406030204}Cambria;}{\fbimajor\f31503\fbidi \froman\fcharset238\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\flominor\f31504\fbidi \froman\fcharset238\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset238\fprq2{\*\panose 02020603050405020304}Times New Roman;}
+{\fhiminor\f31506\fbidi \fswiss\fcharset238\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \froman\fcharset238\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f41\fbidi \froman\fcharset0\fprq2 Times New Roman;}
+{\f40\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f42\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f43\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f44\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
+{\f45\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f46\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f47\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f51\fbidi \fswiss\fcharset0\fprq2 Arial;}
+{\f50\fbidi \fswiss\fcharset204\fprq2 Arial Cyr;}{\f52\fbidi \fswiss\fcharset161\fprq2 Arial Greek;}{\f53\fbidi \fswiss\fcharset162\fprq2 Arial Tur;}{\f54\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}
+{\f55\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}{\f56\fbidi \fswiss\fcharset186\fprq2 Arial Baltic;}{\f57\fbidi \fswiss\fcharset163\fprq2 Arial (Vietnamese);}{\f61\fbidi \fmodern\fcharset0\fprq1 Courier New;}
+{\f60\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}{\f62\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f63\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f64\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}
+{\f65\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f66\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f67\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f401\fbidi \froman\fcharset0\fprq2 Cambria;}
+{\f400\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\f402\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\f403\fbidi \froman\fcharset162\fprq2 Cambria Tur;}{\f406\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}
+{\f407\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\f421\fbidi \fswiss\fcharset0\fprq2 Tahoma;}{\f420\fbidi \fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f422\fbidi \fswiss\fcharset161\fprq2 Tahoma Greek;}
+{\f423\fbidi \fswiss\fcharset162\fprq2 Tahoma Tur;}{\f424\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew);}{\f425\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f426\fbidi \fswiss\fcharset186\fprq2 Tahoma Baltic;}
+{\f427\fbidi \fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}{\f428\fbidi \fswiss\fcharset222\fprq2 Tahoma (Thai);}{\flomajor\f31510\fbidi \froman\fcharset0\fprq2 Times New Roman;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
+{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
+{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
+{\fdbmajor\f31520\fbidi \froman\fcharset0\fprq2 Times New Roman;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
+{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
+{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31530\fbidi \froman\fcharset0\fprq2 Cambria;}
+{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}
+{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31540\fbidi \froman\fcharset0\fprq2 Times New Roman;}
+{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
+{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
+{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31550\fbidi \froman\fcharset0\fprq2 Times New Roman;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
+{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
+{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
+{\fdbminor\f31560\fbidi \froman\fcharset0\fprq2 Times New Roman;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
+{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
+{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31570\fbidi \fswiss\fcharset0\fprq2 Calibri;}
+{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}
+{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31580\fbidi \froman\fcharset0\fprq2 Times New Roman;}
+{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
+{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
+{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;
+\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\*\defchp \fs22 }{\*\defpap
+\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs20\alang1025
+\ltrch\fcs0 \f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 \snext0 \sqformat \spriority0 \styrsid6893578 Normal;}{\s1\ql \li2268\ri0\sb120\sa240\sl280\slmult0
+\keepn\pagebb\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin2268\itap0 \rtlch\fcs1 \ab\af1\afs28\alang1025 \ltrch\fcs0 \b\f1\fs28\lang1033\langfe1029\kerning32\cgrid\langnp1033\langfenp1029
+\sbasedon16 \snext16 \slink17 \sqformat \styrsid12978455 heading 1;}{\s2\ql \li2268\ri0\sb360\sa60\sl280\slmult0\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin2268\itap0 \rtlch\fcs1 \ab\af1\afs24\alang1025
+\ltrch\fcs0 \b\f1\fs24\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 \sbasedon16 \snext16 \slink15 \sqformat \styrsid10886401 heading 2;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\*
+\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1
+\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1051\langfe1051\cgrid\langnp1051\langfenp1051 \snext11 \ssemihidden \sunhideused Normal Table;}{\*\cs15 \additive \rtlch\fcs1
+\ab\ai\af0\afs28 \ltrch\fcs0 \b\i\f36\fs28\lang0\langfe1029\langnp0\langfenp1029 \sbasedon10 \slink2 \slocked \ssemihidden Nadpis 2 Char;}{\s16\ql \li2268\ri0\sb120\sa120\sl280\slmult0
+\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 \f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 \sbasedon0 \snext16 \styrsid4814744 Paragraph;}{\*\cs17 \additive
+\rtlch\fcs1 \ab\af0\afs32 \ltrch\fcs0 \b\f36\fs32\lang0\langfe1029\kerning32\langnp0\langfenp1029 \sbasedon10 \slink1 \slocked Nadpis 1 Char;}{\s18\ql \fi-2268\li2268\ri0\sb120\sa120\sl280\slmult0
+\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 \f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 \sbasedon16 \snext18 \styrsid10750423 Paragraph w Sidehead;}{\*
+\ts19\tsrowd\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10
+\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 \f1\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon11 \snext19 \styrsid14371250 Table Grid;}{\*\cs20
\additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf2 \sbasedon10 \styrsid3177514 Hyperlink;}{\s21\ql \li2268\ri0\sl280\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2268\itap0 \rtlch\fcs1 \af2\afs18\alang1025 \ltrch\fcs0
-\f2\fs18\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 \sbasedon17 \snext21 \styrsid7881996 Example;}{\s22\ql \li0\ri0\widctlpar\brdrt\brdrs\brdrw10\brsp20
-\tqc\tx4536\tqr\tx9072\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\rtlgutter\itap0 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 \f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 \sbasedon0 \snext22 \slink23 \styrsid12473112 footer;}
-{\*\cs23 \additive \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang0\langfe1029\langnp0\langfenp1029 \sbasedon10 \slink22 \slocked \ssemihidden Footer Char;}{\*\cs24 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \sbasedon10 \styrsid12473112 page number;}{
-\s25\ql \li0\ri0\widctlpar\tqc\tx4536\tqr\tx9072\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 \f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029
-\sbasedon0 \snext25 \slink26 \styrsid12473112 header;}{\*\cs26 \additive \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang0\langfe1029\langnp0\langfenp1029 \sbasedon10 \slink25 \slocked \ssemihidden Header Char;}{\*\cs27 \additive \rtlch\fcs1 \af0\afs16
-\ltrch\fcs0 \fs16 \sbasedon10 \ssemihidden \styrsid14681692 annotation reference;}{\s28\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0
-\f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 \sbasedon0 \snext28 \slink29 \ssemihidden \styrsid14681692 annotation text;}{\*\cs29 \additive \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\lang0\langfe1029\langnp0\langfenp1029
-\sbasedon10 \slink28 \slocked \ssemihidden Comment Text Char;}{\s30\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af1\afs20\alang1025 \ltrch\fcs0
-\b\f1\fs20\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 \sbasedon28 \snext28 \slink31 \ssemihidden \styrsid14681692 annotation subject;}{\*\cs31 \additive \rtlch\fcs1 \ab\af1\afs20 \ltrch\fcs0 \b\f1\fs20\lang0\langfe1029\langnp0\langfenp1029
-\sbasedon29 \slink30 \slocked \ssemihidden Comment Subject Char;}{\s32\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af36\afs16\alang1025 \ltrch\fcs0
-\f36\fs16\lang1033\langfe1029\cgrid\langnp1033\langfenp1029 \sbasedon0 \snext32 \slink33 \ssemihidden \styrsid14681692 Balloon Text;}{\*\cs33 \additive \rtlch\fcs1 \af36\afs16 \ltrch\fcs0 \f36\fs16\lang0\langfe1029\langnp0\langfenp1029
-\sbasedon10 \slink32 \slocked \ssemihidden Balloon Text Char;}{\*\cs34 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \f2\fs20 \sbasedon10 \styrsid8486799 Keyboard Shortcut;}{\*\cs35 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \sbasedon10 \styrsid3303158 mw-headline;}
-}
-{\*\latentstyles\lsdstimax156\lsdlockeddef0{\lsdlockedexcept Normal;heading 1;heading 2;heading 3;heading 4;heading 5;heading 6;heading 7;heading 8;heading 9;toc 1;toc 2;toc 3;toc 4;toc 5;toc 6;toc 7;toc 8;toc 9;caption;Title;Default Paragraph Font;Subtitle;Strong;Emphasis;Table Grid;}}
-{\*\listtable{\list\listtemplateid-318340160\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67436545\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li720
-\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67436547\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }
-{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67436549\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel
-\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67436545\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23
-\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67436547\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0
-\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67436549\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
-\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67436545\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
-\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67436547\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
-\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67436549\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid88896242}{\list\listtemplateid-2435210\listhybrid{\listlevel\levelnfc23
-\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace454\levelindent0{\leveltext\leveltemplateid-598469796\'01\'96;}{\levelnumbers;}\f0\fbias0 \fi-311\li3033\jclisttab\tx3033\lin3033 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
-\levelfollow0\levelstartat1\levelspace454\levelindent0{\leveltext\leveltemplateid67436547\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3708\jclisttab\tx3708\lin3708 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
-\levelspace454\levelindent0{\leveltext\leveltemplateid67436549\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4428\jclisttab\tx4428\lin4428 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace454\levelindent0
-{\leveltext\leveltemplateid67436545\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5148\jclisttab\tx5148\lin5148 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace454\levelindent0{\leveltext
-\leveltemplateid67436547\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5868\jclisttab\tx5868\lin5868 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace454\levelindent0{\leveltext\leveltemplateid67436549
-\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6588\jclisttab\tx6588\lin6588 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace454\levelindent0{\leveltext\leveltemplateid67436545\'01\u-3913 ?;}{\levelnumbers
-;}\f3\fbias0 \fi-360\li7308\jclisttab\tx7308\lin7308 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace454\levelindent0{\leveltext\leveltemplateid67436547\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li8028
-\jclisttab\tx8028\lin8028 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace454\levelindent0{\leveltext\leveltemplateid67436549\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li8748\jclisttab\tx8748\lin8748 }
-{\listname ;}\listid218248755}{\list\listtemplateid-707857544\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67436545\'01\u-3913 ?;}{\levelnumbers;}
-\f3\fbias0 \fi-360\li2988\jclisttab\tx2988\lin2988 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67436547\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3708
-\jclisttab\tx3708\lin3708 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67436549\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4428\jclisttab\tx4428\lin4428 }
-{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67436545\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5148\jclisttab\tx5148\lin5148 }{\listlevel\levelnfc23
-\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67436547\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5868\jclisttab\tx5868\lin5868 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
-\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67436549\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6588\jclisttab\tx6588\lin6588 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
-\levelspace360\levelindent0{\leveltext\leveltemplateid67436545\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li7308\jclisttab\tx7308\lin7308 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0
-{\leveltext\leveltemplateid67436547\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li8028\jclisttab\tx8028\lin8028 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67436549
-\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li8748\jclisttab\tx8748\lin8748 }{\listname ;}\listid380901966}{\list\listtemplateid-2075480342{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0
-{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2988\jclisttab\tx2988\lin2988 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fbias0
-\fi-360\li3708\jclisttab\tx3708\lin3708 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4428\jclisttab\tx4428\lin4428 }{\listlevel
-\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5148\jclisttab\tx5148\lin5148 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
-\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5868\jclisttab\tx5868\lin5868 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0
-{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6588\jclisttab\tx6588\lin6588 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0
-\fi-360\li7308\jclisttab\tx7308\lin7308 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li8028\jclisttab\tx8028\lin8028 }{\listlevel
-\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li8748\jclisttab\tx8748\lin8748 }{\listname ;}\listid407309104}{\list\listtemplateid-234069712
-\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace454\levelindent0{\leve...
[truncated message content] |
|
From: <xf...@us...> - 2012-12-19 21:30:42
|
Revision: 1530
http://scstudio.svn.sourceforge.net/scstudio/?rev=1530&view=rev
Author: xfarmad
Date: 2012-12-19 21:30:34 +0000 (Wed, 19 Dec 2012)
Log Message:
-----------
fix for boost version > 14700 and C++11
Modified Paths:
--------------
trunk/src/check/time/tightening.h
trunk/src/check/time/time_consistency.cpp
trunk/src/check/time/time_consistency.h
trunk/src/check/time/time_pseudocode.cpp
trunk/src/check/time/time_pseudocode.h
trunk/src/data/Z120/z120_save.cpp
trunk/src/data/exporttex/exportTex.cpp
trunk/src/data/msc.h
trunk/src/data/pcap/application_layer.cpp
trunk/src/data/searcher.h
trunk/src/view/visio/addon/document.cpp
trunk/src/view/visio/addon/extract.cpp
trunk/third-party-sw/antlr/runtime/C/include/antlr3convertutf.h
trunk/third-party-sw/http_parser/http_parser.h
trunk/third-party-sw/win_pcap/pcap-stdinc.h
Modified: trunk/src/check/time/tightening.h
===================================================================
--- trunk/src/check/time/tightening.h 2012-12-19 21:23:03 UTC (rev 1529)
+++ trunk/src/check/time/tightening.h 2012-12-19 21:30:34 UTC (rev 1530)
@@ -184,7 +184,7 @@
{
copy = dynamic_cast<Event*>(duplicator.get_copy_by_ref_node(*m,ref));
b_matrix.fill(a,copy,MscTimeIntervalD(0,D::infinity()));
- floor.push_back(std::make_pair<EventP,EventP>(a,copy));
+ floor.push_back(std::make_pair(a,copy));
}
if(min.empty())
b_matrix.add_event_to_component(NULL,a);
@@ -238,7 +238,7 @@
{
copy = dynamic_cast<Event*>(duplicator.get_copy_by_ref_node(*m,ref));
b_matrix.fill(copy,a,MscTimeIntervalD(0,D::infinity()));
- floor.push_back(std::make_pair<EventP,EventP>(copy,a));
+ floor.push_back(std::make_pair(copy,a));
}
if(max.empty())
b_matrix.add_event_to_component(NULL,a);
@@ -283,7 +283,7 @@
b_matrix.triangulate();
//path without events is trivially tight
- if(b_matrix.get_size()==0) return std::make_pair<BMscIntervalSetComponentMatrix,IntervalSetComponentMatrix>(b_matrix,b_matrix);
+ if(b_matrix.get_size()==0) return std::make_pair(b_matrix,b_matrix);
IntervalSetComponentMatrix result;
for(unsigned i=0;i<b_matrix.get_number_of_components();i++)
@@ -301,7 +301,7 @@
if(report.m_number_of_consistent_choices==0){ // inconsistent
throw std::runtime_error("Inconsistent path, but should be consistent due to preconditions.");
}
- return std::make_pair<BMscIntervalSetComponentMatrix,IntervalSetComponentMatrix>(b_matrix,report.m_matrix_result);
+ return std::make_pair(b_matrix,report.m_matrix_result);
}
@@ -338,7 +338,7 @@
}
} while(combination.move_next());
- return std::make_pair<BMscIntervalSetComponentMatrix,IntervalSetComponentMatrix>(b_matrix,result);
+ return std::make_pair(b_matrix,result);
}
/**
Modified: trunk/src/check/time/time_consistency.cpp
===================================================================
--- trunk/src/check/time/time_consistency.cpp 2012-12-19 21:23:03 UTC (rev 1529)
+++ trunk/src/check/time/time_consistency.cpp 2012-12-19 21:30:34 UTC (rev 1530)
@@ -237,7 +237,7 @@
final_report.m_matrix_result.push_back_component(temporary_report.m_matrix_result);//TODO won't be faster to use pointers
for(unsigned j=0;j<temporary_report.inconsis_indxs.size();j++)
{
- final_report.inconsis_mtxs.push_back(std::make_pair<unsigned,IntervalMatrix>(i,temporary_report.inconsis_mtxs[j]));
+ final_report.inconsis_mtxs.push_back(std::make_pair(i,temporary_report.inconsis_mtxs[j]));
final_report.inconsis_indxs.push_back(temporary_report.inconsis_indxs[j]);
}
final_report.m_number_of_consistent_choices *= temporary_report.m_number_of_consistent_choices;
Modified: trunk/src/check/time/time_consistency.h
===================================================================
--- trunk/src/check/time/time_consistency.h 2012-12-19 21:23:03 UTC (rev 1529)
+++ trunk/src/check/time/time_consistency.h 2012-12-19 21:30:34 UTC (rev 1530)
@@ -351,7 +351,7 @@
if(it2 == m_cycle_relations.end())
{
MscElementPListList list;
- m_open_relations.insert(std::make_pair<TimeRelationRefNode*,MscElementPListList>( it->get(),list));
+ m_open_relations.insert(std::make_pair( it->get(),list));
}
else
{
@@ -374,7 +374,7 @@
if(it2 == m_cycle_relations.end())
{
MscElementPListList list;
- m_open_relations.insert(std::make_pair<TimeRelationRefNode*,MscElementPListList>( it->get(),list));
+ m_open_relations.insert(std::make_pair( it->get(),list));
}
else
{
@@ -393,7 +393,7 @@
std::map<TimeRelationRefNode*,MscElementPListList>::iterator it_remove;
for(std::map<TimeRelationRefNode*,MscElementPListList>::iterator it2=m_open_relations.begin();it2 != m_open_relations.end();)
{
- m_cycle_relations.insert(std::make_pair<TimeRelationRefNode*,MscElementPListList>( it2->first,it2->second));
+ m_cycle_relations.insert(std::make_pair( it2->first,it2->second));
it_remove = it2;
it2++;
m_open_relations.erase(it_remove);
@@ -416,7 +416,7 @@
it2 = m_cycle_relations.find(it->get());
if(it2 == m_cycle_relations.end())
{
- m_open_relations.insert(std::make_pair<TimeRelationRefNode*,MscElementPListList>( it->get(),m_hmsc_traverser->get_reached_elements()));
+ m_open_relations.insert(std::make_pair( it->get(),m_hmsc_traverser->get_reached_elements()));
}
else
{
@@ -438,7 +438,7 @@
it2 = m_cycle_relations.find(it->get());
if(it2 == m_cycle_relations.end())
{
- m_open_relations.insert(std::make_pair<TimeRelationRefNode*,MscElementPListList>( it->get(),m_hmsc_traverser->get_reached_elements()));
+ m_open_relations.insert(std::make_pair( it->get(),m_hmsc_traverser->get_reached_elements()));
}
else
{
@@ -758,7 +758,7 @@
{
copy = dynamic_cast<Event*>(duplicator.get_copy_by_ref_node(*m,ref));
b_matrix.fill(a,copy,MscTimeIntervalD(0,D::infinity()));
- floor.push_back(std::make_pair<EventP,EventP>(a,copy));
+ floor.push_back(std::make_pair(a,copy));
}
if(min.empty())
b_matrix.add_event_to_component(NULL,a);
@@ -812,7 +812,7 @@
{
copy = dynamic_cast<Event*>(duplicator.get_copy_by_ref_node(*m,ref));
b_matrix.fill(copy,a,MscTimeIntervalD(0,D::infinity()));
- floor.push_back(std::make_pair<EventP,EventP>(copy,a));
+ floor.push_back(std::make_pair(copy,a));
}
if(max.empty())
b_matrix.add_event_to_component(NULL,a);
Modified: trunk/src/check/time/time_pseudocode.cpp
===================================================================
--- trunk/src/check/time/time_pseudocode.cpp 2012-12-19 21:23:03 UTC (rev 1529)
+++ trunk/src/check/time/time_pseudocode.cpp 2012-12-19 21:30:34 UTC (rev 1530)
@@ -120,7 +120,7 @@
std::map<EventP,EventP>::iterator it2= related_events.find(event_a);
if(it2 == related_events.end())
{
- related_events.insert(std::make_pair<EventP,EventP>(event_a,event_b));
+ related_events.insert(std::make_pair(event_a,event_b));
}
else
if(event_topology.visual_is_leq(it2->second,event_b))
@@ -147,7 +147,7 @@
std::map<EventP,EventP>::iterator it2= related_events.find(event_a);
if(it2 == related_events.end())
{
- related_events.insert(std::make_pair<EventP,EventP>(event_a,event_b));
+ related_events.insert(std::make_pair(event_a,event_b));
}
else
if(event_topology.visual_is_leq(it2->second,event_b))
Modified: trunk/src/check/time/time_pseudocode.h
===================================================================
--- trunk/src/check/time/time_pseudocode.h 2012-12-19 21:23:03 UTC (rev 1529)
+++ trunk/src/check/time/time_pseudocode.h 2012-12-19 21:30:34 UTC (rev 1530)
@@ -486,7 +486,7 @@
component++;
if(component==m_components.size()) throw std::runtime_error(ERR_MATRIX_SMALLER);
}
- return std::make_pair<unsigned int, unsigned int>(component,index);
+ return std::make_pair(component,index);
}
//! if the indices are in the same component return offset of the component, else return -1
@@ -787,7 +787,7 @@
if(m_builded)
return IntervalSetMatrix::operator()(a,b);
else
- return m_position_to_interval[std::make_pair<unsigned,unsigned>(a,b)];
+ return m_position_to_interval[std::make_pair(a,b)];
}
BMscIntervalSetMatrix& operator=(const BMscIntervalSetMatrix& matrix)
@@ -847,7 +847,7 @@
std::map<unsigned,unsigned>::iterator it = m_filled_positions.find(x1);
if(it == m_filled_positions.end() || it->second != x2)
{
- m_filled_positions.insert(std::make_pair<unsigned,unsigned>(x1,x2));
+ m_filled_positions.insert(std::make_pair(x1,x2));
fill(x1,x2,c);
}
else
@@ -894,7 +894,7 @@
for(unsigned j=0;j<size();j++)
{
if(operator()(i,j).is_empty())
- list.push_back(std::make_pair<unsigned,unsigned>(i,j));
+ list.push_back(std::make_pair(i,j));
}
return list;
}
@@ -902,7 +902,7 @@
//! ties time relation to the cell
void tied_rel_to_cell(TimeRelationPtr relation, const unsigned i, const unsigned j)
{
- m_rel_to_position[relation.get()]=std::make_pair<unsigned,unsigned>(i,j);
+ m_rel_to_position[relation.get()]=std::make_pair(i,j);
}
void tied_rel_to_cell(TimeRelationPtr relation, EventP i, EventP j)
@@ -998,7 +998,7 @@
return IntervalSetComponentMatrix::operator()(get_number(a),get_number(b));
else
{
- return m_position_to_interval[std::make_pair<EventP,EventP>(a,b)];
+ return m_position_to_interval[std::make_pair(a,b)];
}
}
@@ -1098,7 +1098,7 @@
std::map<EventP,EventP>::iterator it = m_filled_positions.find(x);
if(it == m_filled_positions.end() || it->second != y)
{
- m_filled_positions.insert(std::make_pair<EventP,EventP>(x,y));
+ m_filled_positions.insert(std::make_pair(x,y));
fill(x,y,c);
}
else
@@ -1152,7 +1152,7 @@
//! ties time relation to the cell
void tie_rel_to_cell(TimeRelationPtr relation, EventP i, EventP j)
{
- m_rel_to_position[relation.get()]=std::make_pair<EventP,EventP>(i,j);
+ m_rel_to_position[relation.get()]=std::make_pair(i,j);
}
std::map<TimeRelation*, std::pair<EventP,EventP> > get_tied_time_relations()
Modified: trunk/src/data/Z120/z120_save.cpp
===================================================================
--- trunk/src/data/Z120/z120_save.cpp 2012-12-19 21:23:03 UTC (rev 1529)
+++ trunk/src/data/Z120/z120_save.cpp 2012-12-19 21:30:34 UTC (rev 1530)
@@ -655,7 +655,7 @@
printer << " " << (*rpos)->get_label();
// order by node id, "top" earlier than "bottom"
- printer.commit_item(std::make_pair<long,bool>(node_id, !(*rpos)->is_bottom_node_b()));
+ printer.commit_item(std::make_pair(node_id, !(*rpos)->is_bottom_node_b()));
}
printer.print(stream);
Modified: trunk/src/data/exporttex/exportTex.cpp
===================================================================
--- trunk/src/data/exporttex/exportTex.cpp 2012-12-19 21:23:03 UTC (rev 1529)
+++ trunk/src/data/exporttex/exportTex.cpp 2012-12-19 21:30:34 UTC (rev 1530)
@@ -227,7 +227,7 @@
std::map<Coordinate,int,Compare>::iterator count = count_of_dist.find(it->first);
if(count == count_of_dist.end())
{
- count_of_dist.insert(std::make_pair<Coordinate,int>(it->first,1));
+ count_of_dist.insert(std::make_pair(it->first,1));
if(max==0)
{
max = 1;
@@ -826,7 +826,7 @@
void create_level(Coordinate coordinate)
{
- m_event_level_map.insert( std::make_pair<Coordinate,MscElementPtrList>(coordinate, MscElementPtrList() ));
+ m_event_level_map.insert( std::make_pair(coordinate, MscElementPtrList() ));
};
void insert_pointer(MscElementPtr pointer, Coordinate coordinate)
@@ -919,7 +919,7 @@
}
receive_y += complete_message->get_receive_event()->get_instance()->get_line_begin().get_y();
- m_slope_coordinates_map.push_back(std::make_pair<Coordinate,Coordinate>(send_y,receive_y));
+ m_slope_coordinates_map.push_back(std::make_pair(send_y,receive_y));
m_slope_size_map.addDistance(send_y,receive_y);
return;
}
@@ -1046,7 +1046,7 @@
event_b_position += coregion_event_b->get_coregion_area()->get_begin_height();
}
- m_order_slope_coordinates_map.push_back(std::make_pair<Coordinate,Coordinate>(event_a_position,event_b_position));
+ m_order_slope_coordinates_map.push_back(std::make_pair(event_a_position,event_b_position));
m_order_slope_map.addDistance(event_a_position,event_b_position);
}
@@ -1168,7 +1168,7 @@
m_slope_size_map.addDistance(next->first - it->first);
break;
}
- m_level_types.insert(std::make_pair<Coordinate,int>(it->first,level_type));
+ m_level_types.insert(std::make_pair(it->first,level_type));
}
};
@@ -1472,7 +1472,7 @@
event_b_position += coregion_event_b->get_coregion_area()->get_begin_height();
}
- m_time_interval_slope_coordinates_map.push_back(std::make_pair<Coordinate,Coordinate>(event_a_position,event_b_position));
+ m_time_interval_slope_coordinates_map.push_back(std::make_pair(event_a_position,event_b_position));
return (event_b_position-event_a_position);
}
Modified: trunk/src/data/msc.h
===================================================================
--- trunk/src/data/msc.h 2012-12-19 21:23:03 UTC (rev 1529)
+++ trunk/src/data/msc.h 2012-12-19 21:30:34 UTC (rev 1530)
@@ -351,23 +351,31 @@
inline void intrusive_ptr_add_ref(const MscElement *ptr)
{
if(ptr != NULL)
+#if BOOST_VERSION > 104700
+ boost::interprocess::ipcdetail::atomic_inc32(&ptr->m_counter);
+#else
#if BOOST_VERSION > 103500
boost::interprocess::detail::atomic_inc32(&ptr->m_counter);
#else
++ptr->m_counter;
#endif
+#endif
}
inline void intrusive_ptr_release(const MscElement *ptr)
{
if(ptr != NULL)
{
+#if BOOST_VERSION > 104700
+ if(boost::interprocess::ipcdetail::atomic_dec32(&ptr->m_counter) == 1)
+#else
#if BOOST_VERSION > 103500
// note, atomic_dec32() returns the old value pointed to by mem
if(boost::interprocess::detail::atomic_dec32(&ptr->m_counter) == 1)
#else
if(ptr->m_counter-- == 1)
#endif
+#endif
// the last pointer is being released, delete the objet
delete ptr;
}
Modified: trunk/src/data/pcap/application_layer.cpp
===================================================================
--- trunk/src/data/pcap/application_layer.cpp 2012-12-19 21:23:03 UTC (rev 1529)
+++ trunk/src/data/pcap/application_layer.cpp 2012-12-19 21:30:34 UTC (rev 1530)
@@ -146,7 +146,7 @@
}
//-------------------------------------------callbacks----------------------------------------------------------------------
-int HttpPacket::header_field_cb(http_parser *parser, const char *field, size_t len)
+int HttpPacket::header_field_cb(http_parser *parser, const char *field, http_size_t len)
{
HttpMessagePtr m = http_parsers[ports].message;
@@ -169,7 +169,7 @@
return 0;
}
-int HttpPacket::header_value_cb(http_parser *parser, const char *value, size_t len)
+int HttpPacket::header_value_cb(http_parser *parser, const char *value, http_size_t len)
{
HttpMessagePtr m = http_parsers[ports].message;
@@ -195,7 +195,7 @@
return 0;
}
-int HttpPacket::request_uri_cb(http_parser *parser, const char *url, size_t len)
+int HttpPacket::request_uri_cb(http_parser *parser, const char *url, http_size_t len)
{
/*struct http_parser_url u;
int is_con = 1;
@@ -244,7 +244,7 @@
return 0;
}
-int HttpPacket::body_cb(http_parser *parser, const char *body, size_t len)
+int HttpPacket::body_cb(http_parser *parser, const char *body, http_size_t len)
{
http_parsers[ports].message->body_called = true;
return 0;
Modified: trunk/src/data/searcher.h
===================================================================
--- trunk/src/data/searcher.h 2012-12-19 21:23:03 UTC (rev 1529)
+++ trunk/src/data/searcher.h 2012-12-19 21:30:34 UTC (rev 1530)
@@ -77,23 +77,32 @@
inline void intrusive_ptr_add_ref(const SearcherResult *ptr)
{
if(ptr != NULL)
+#if BOOST_VERSION > 104700
+ boost::interprocess::ipcdetail::atomic_inc32(&ptr->m_counter);
+#else
#if BOOST_VERSION > 103500
boost::interprocess::detail::atomic_inc32(&ptr->m_counter);
#else
++ptr->m_counter;
#endif
+#endif
}
inline void intrusive_ptr_release(const SearcherResult *ptr)
{
if(ptr != NULL)
{
+#if BOOST_VERSION > 104700
+ // note, atomic_dec32() returns the old value pointed to by mem
+ if(boost::interprocess::ipcdetail::atomic_dec32(&ptr->m_counter) == 1)
+#else
#if BOOST_VERSION > 103500
// note, atomic_dec32() returns the old value pointed to by mem
if(boost::interprocess::detail::atomic_dec32(&ptr->m_counter) == 1)
#else
if(ptr->m_counter-- == 1)
#endif
+#endif
// the last pointer is being released, delete the objet
delete ptr;
}
Modified: trunk/src/view/visio/addon/document.cpp
===================================================================
--- trunk/src/view/visio/addon/document.cpp 2012-12-19 21:23:03 UTC (rev 1529)
+++ trunk/src/view/visio/addon/document.cpp 2012-12-19 21:30:34 UTC (rev 1530)
@@ -1321,7 +1321,7 @@
return std::make_pair<Visio::IVShapePtr, Visio::IVShapePtr>(selection->Item[1], NULL);
case 2:
// NOTE: respects the order in which the items were selected
- return std::make_pair<Visio::IVShapePtr, Visio::IVShapePtr>(selection->Item[1], selection->Item[2]);
+ return std::make_pair(selection->Item[1], selection->Item[2]);
default:
Visio::IVShapePtr leftmost = selection->Item[1];
Visio::IVShapePtr rightmost = selection->Item[1];
@@ -1334,7 +1334,7 @@
if (instanceCmp(item, leftmost)) leftmost = item;
if (!instanceCmp(item, rightmost)) rightmost = item;
}
- return std::make_pair<Visio::IVShapePtr, Visio::IVShapePtr>(leftmost, rightmost);
+ return std::make_pair(leftmost, rightmost);
}
}
@@ -1507,7 +1507,7 @@
MsgSeqCoregionTreatment coregionTreatment = dlg.m_coregionTreatment;
// step 4: make an ordered list of instances being subject of message sequence drawing
- std::pair<Visio::IVShapePtr, Visio::IVShapePtr> orderedBoundaries = std::make_pair<Visio::IVShapePtr, Visio::IVShapePtr>(boundaries.first, boundaries.second);
+ std::pair<Visio::IVShapePtr, Visio::IVShapePtr> orderedBoundaries = std::make_pair(boundaries.first, boundaries.second);
if (!instanceCmp(orderedBoundaries.first, orderedBoundaries.second))
{
swap(orderedBoundaries);
Modified: trunk/src/view/visio/addon/extract.cpp
===================================================================
--- trunk/src/view/visio/addon/extract.cpp 2012-12-19 21:23:03 UTC (rev 1529)
+++ trunk/src/view/visio/addon/extract.cpp 2012-12-19 21:30:34 UTC (rev 1530)
@@ -453,8 +453,8 @@
}
// store the CoregionEventPtr for each point
- coregion_events.insert(std::make_pair<SPoint,CoregionEventPtr>(pos, event));
- events.insert(std::make_pair<SPoint,EventPtr>(point_to_page(coregion, pos), event));
+ coregion_events.insert(std::make_pair(pos, event));
+ events.insert(std::make_pair(point_to_page(coregion, pos), event));
}
// check for collisional shapes
Modified: trunk/third-party-sw/antlr/runtime/C/include/antlr3convertutf.h
===================================================================
--- trunk/third-party-sw/antlr/runtime/C/include/antlr3convertutf.h 2012-12-19 21:23:03 UTC (rev 1529)
+++ trunk/third-party-sw/antlr/runtime/C/include/antlr3convertutf.h 2012-12-19 21:30:34 UTC (rev 1530)
@@ -118,8 +118,6 @@
#define UNI_SUR_HIGH_END (UTF32)0xDBFF
#define UNI_SUR_LOW_START (UTF32)0xDC00
#define UNI_SUR_LOW_END (UTF32)0xDFFF
-#define false ANTLR3_FALSE
-#define true ANTLR3_TRUE
#define halfShift ((UTF32)10)
#define halfBase ((UTF32)0x0010000UL)
#define halfMask ((UTF32)0x3FFUL)
Modified: trunk/third-party-sw/http_parser/http_parser.h
===================================================================
--- trunk/third-party-sw/http_parser/http_parser.h 2012-12-19 21:23:03 UTC (rev 1529)
+++ trunk/third-party-sw/http_parser/http_parser.h 2012-12-19 21:30:34 UTC (rev 1530)
@@ -38,10 +38,12 @@
typedef unsigned __int32 uint32_t;
typedef __int64 int64_t;
typedef unsigned __int64 uint64_t;
-typedef SIZE_T size_t;
-typedef SSIZE_T ssize_t;
+typedef SIZE_T http_size_t;
+typedef SSIZE_T http_ssize_t;
#else
#include <stdint.h>
+typedef size_t http_size_t;
+//typedef ssize_t http_ssize_t;
#endif
/* Compile with -DHTTP_PARSER_STRICT=0 to make less checks, but run
@@ -80,7 +82,7 @@
* many times for each string. E.G. you might get 10 callbacks for "on_path"
* each providing just a few characters more data.
*/
-typedef int (*http_data_cb) (http_parser*, const char *at, size_t length);
+typedef int (*http_data_cb) (http_parser*, const char *at, http_size_t length);
typedef int (*http_cb) (http_parser*);
@@ -282,10 +284,10 @@
void http_parser_init(http_parser *parser, enum http_parser_type type);
-size_t http_parser_execute(http_parser *parser,
+http_size_t http_parser_execute(http_parser *parser,
const http_parser_settings *settings,
const char *data,
- size_t len);
+ http_size_t len);
/* If http_should_keep_alive() in the on_headers_complete or
@@ -306,7 +308,7 @@
const char *http_errno_description(enum http_errno err);
/* Parse a URL; return nonzero on failure */
-int http_parser_parse_url(const char *buf, size_t buflen,
+int http_parser_parse_url(const char *buf, http_size_t buflen,
int is_connect,
struct http_parser_url *u);
Modified: trunk/third-party-sw/win_pcap/pcap-stdinc.h
===================================================================
--- trunk/third-party-sw/win_pcap/pcap-stdinc.h 2012-12-19 21:23:03 UTC (rev 1529)
+++ trunk/third-party-sw/win_pcap/pcap-stdinc.h 2012-12-19 21:30:34 UTC (rev 1530)
@@ -66,7 +66,7 @@
#define strdup _strdup
#endif
-#define inline __inline
+#define pcap_inline __inline
#ifdef __MINGW32__
#include <stdint.h>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <xf...@us...> - 2013-01-24 20:57:08
|
Revision: 1536
http://scstudio.svn.sourceforge.net/scstudio/?rev=1536&view=rev
Author: xfarmad
Date: 2013-01-24 20:56:57 +0000 (Thu, 24 Jan 2013)
Log Message:
-----------
PCAP VISUAL STUDIO 2008 FIX
Modified Paths:
--------------
trunk/src/data/pcap/application_layer.h
trunk/src/data/pcap/pcap_settings.cpp
trunk/third-party-sw/http_parser/http_parser.c
trunk/third-party-sw/http_parser/http_parser.h
trunk/third-party-sw/win_pcap/bittypes.h
Modified: trunk/src/data/pcap/application_layer.h
===================================================================
--- trunk/src/data/pcap/application_layer.h 2013-01-24 20:50:59 UTC (rev 1535)
+++ trunk/src/data/pcap/application_layer.h 2013-01-24 20:56:57 UTC (rev 1536)
@@ -104,9 +104,9 @@
};
struct HttpHeader {
- size_t field_len;
+ http_size_t field_len;
std::string field; // I don't have use realloc and malloc, as in case of char*
- size_t value_len;
+ http_size_t value_len;
std::string value;
};
@@ -194,13 +194,13 @@
HttpMessagePtr get_http_message();
//callbacks for parser
- static int header_field_cb(http_parser* parser, const char *field, size_t len);
- static int header_value_cb(http_parser* parser, const char *value, size_t len);
- static int request_uri_cb(http_parser* parser, const char *url, size_t len);
+ static int header_field_cb(http_parser* parser, const char *field, http_size_t len);
+ static int header_value_cb(http_parser* parser, const char *value, http_size_t len);
+ static int request_uri_cb(http_parser* parser, const char *url, http_size_t len);
static int headers_complete_cb (http_parser* parser);
static int message_complete_cb (http_parser* parser);
static int message_begin_cb (http_parser* parser);
- static int body_cb (http_parser* parser, const char *body, size_t len);
+ static int body_cb (http_parser* parser, const char *body, http_size_t len);
void static clean_static_data();
};
Modified: trunk/src/data/pcap/pcap_settings.cpp
===================================================================
--- trunk/src/data/pcap/pcap_settings.cpp 2013-01-24 20:50:59 UTC (rev 1535)
+++ trunk/src/data/pcap/pcap_settings.cpp 2013-01-24 20:56:57 UTC (rev 1536)
@@ -172,7 +172,7 @@
if(get_config_long(L"Pcap", L"AggPorts", 0) != 0)
flow_settings->level = PORT_FLOW;
- flow_settings->show_data_size = get_config_long(L"Pcap", L"AggDataSize", 0);
+ flow_settings->show_data_size = (get_config_long(L"Pcap", L"AggDataSize", 0) != 0);
//FlowLevel
if(get_config_long(L"Pcap", L"LstPackets", 1) != 0)
Modified: trunk/third-party-sw/http_parser/http_parser.c
===================================================================
--- trunk/third-party-sw/http_parser/http_parser.c 2013-01-24 20:50:59 UTC (rev 1535)
+++ trunk/third-party-sw/http_parser/http_parser.c 2013-01-24 20:56:57 UTC (rev 1536)
@@ -185,7 +185,7 @@
'x', 'y', 'z', 0, '|', 0, '~', 0 };
-static const int8_t unhex[256] =
+static const http_int8_t unhex[256] =
{-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
@@ -583,7 +583,7 @@
size_t len)
{
char c, ch;
- int8_t unhex_val;
+ http_int8_t unhex_val;
const char *p = data;
const char *header_field_mark = 0;
const char *header_value_mark = 0;
Modified: trunk/third-party-sw/http_parser/http_parser.h
===================================================================
--- trunk/third-party-sw/http_parser/http_parser.h 2013-01-24 20:50:59 UTC (rev 1535)
+++ trunk/third-party-sw/http_parser/http_parser.h 2013-01-24 20:56:57 UTC (rev 1536)
@@ -30,7 +30,7 @@
#include <sys/types.h>
#if defined(_WIN32) && !defined(__MINGW32__) && (!defined(_MSC_VER) || _MSC_VER<1600)
#include <BaseTsd.h>
-typedef __int8 int8_t;
+typedef __int8 http_int8_t;
typedef unsigned __int8 uint8_t;
typedef __int16 int16_t;
typedef unsigned __int16 uint16_t;
Modified: trunk/third-party-sw/win_pcap/bittypes.h
===================================================================
--- trunk/third-party-sw/win_pcap/bittypes.h 2013-01-24 20:50:59 UTC (rev 1535)
+++ trunk/third-party-sw/win_pcap/bittypes.h 2013-01-24 20:56:57 UTC (rev 1536)
@@ -32,8 +32,8 @@
#ifndef HAVE_U_INT8_T
#if SIZEOF_CHAR == 1
-typedef unsigned char u_int8_t;
-typedef signed char int8_t;
+typedef unsigned char http_u_int8_t;
+typedef signed char byttypes_int8_t;
#elif SIZEOF_INT == 1
typedef unsigned int u_int8_t;
typedef signed int int8_t;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ob...@us...> - 2013-01-24 21:23:58
|
Revision: 1537
http://scstudio.svn.sourceforge.net/scstudio/?rev=1537&view=rev
Author: obouda
Date: 2013-01-24 21:23:49 +0000 (Thu, 24 Jan 2013)
Log Message:
-----------
svn:ignore on generated project files
Property Changed:
----------------
trunk/doc/doxygen/
trunk/src/data/exporttex/
trunk/src/data/mscgen/
trunk/src/data/pcap/
trunk/src/data/time_relevant_ordering/
trunk/tests/mscgen/
trunk/tests/pcap/
trunk/tests/time_relevant_ordering/
trunk/third-party-sw/http_parser/
trunk/third-party-sw/libosip2-3.6.0/
Property changes on: trunk/doc/doxygen
___________________________________________________________________
Modified: svn:ignore
- CTestTestfile.cmake
CMakeFiles
cmake_install.cmake
doxygen.config.local
Makefile
html
+ *.vcproj*
CMakeFiles
CTestTestfile.cmake
DOXYGEN.dir
Makefile
cmake_install.cmake
doxygen.config.local
html
Property changes on: trunk/src/data/exporttex
___________________________________________________________________
Added: svn:ignore
+ *.vcproj*
sctex.dir
*.cmake
CMakeFiles
Property changes on: trunk/src/data/mscgen
___________________________________________________________________
Added: svn:ignore
+ *.vcproj*
scmscgen.dir
*.cmake
Release
CMakeFiles
Property changes on: trunk/src/data/pcap
___________________________________________________________________
Modified: svn:ignore
- CMakeFiles
cmake_install.cmake
CTestTestfile.cmake
*.dir
Makefile
*.vcproj
+ CMakeFiles
cmake_install.cmake
CTestTestfile.cmake
*.dir
Makefile
*.vcproj*
Property changes on: trunk/src/data/time_relevant_ordering
___________________________________________________________________
Added: svn:ignore
+ *.vcproj*
sctimerelevantordering.dir
*.cmake
CMakeFiles
Property changes on: trunk/tests/mscgen
___________________________________________________________________
Added: svn:ignore
+ *.vcproj*
*.cmake
CMakeFiles
mscgen_test.dir
Property changes on: trunk/tests/pcap
___________________________________________________________________
Added: svn:ignore
+ *.vcproj*
*.cmake
CMakeFiles
Property changes on: trunk/tests/time_relevant_ordering
___________________________________________________________________
Added: svn:ignore
+ *.vcproj*
*.cmake
CMakeFiles
time_relevant_ordering.dir
Property changes on: trunk/third-party-sw/http_parser
___________________________________________________________________
Added: svn:ignore
+ *.vcproj*
http_parser.dir
*.cmake
Release
CMakeFiles
Property changes on: trunk/third-party-sw/libosip2-3.6.0
___________________________________________________________________
Added: svn:ignore
+ *.cmake
*.vcproj*
CMakeFiles
Release
osipparser2.dir
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ob...@us...> - 2013-01-26 10:45:56
|
Revision: 1553
http://scstudio.svn.sourceforge.net/scstudio/?rev=1553&view=rev
Author: obouda
Date: 2013-01-26 10:45:44 +0000 (Sat, 26 Jan 2013)
Log Message:
-----------
merged from branch internal-structure-refactoring
Modified Paths:
--------------
trunk/src/check/order/acyclic_checker.cpp
trunk/src/check/pseudocode/msc_duplicators.cpp
trunk/src/check/pseudocode/utils.cpp
trunk/src/check/pseudocode/visual_closure_initiator.cpp
trunk/src/data/Z120/Context.cpp
trunk/src/data/Z120/z120_save.cpp
trunk/src/data/beautify/instance_sequencer.cpp
trunk/src/data/beautify/layout_optimizer.cpp
trunk/src/data/dfs_area_traverser.cpp
trunk/src/data/dfs_events_traverser.cpp
trunk/src/data/dfs_instance_events_traverser.cpp
trunk/src/data/exporttex/exportTex.cpp
trunk/src/data/modelchecking/divine.cpp
trunk/src/data/msc.cpp
trunk/src/data/msc.h
trunk/src/data/mscgen/MscgenContext.cpp
trunk/src/data/pcap/pcap_handler.cpp
trunk/src/data/time_relevant_ordering/dfs_backward_traverser.cpp
trunk/src/membership/diff_impl.cpp
trunk/src/membership/membership_additional.cpp
trunk/src/membership/membership_alg.cpp
trunk/src/membership/membership_base.h
trunk/src/membership/membership_time.cpp
trunk/src/montecarlo/montecarlo.cpp
Property Changed:
----------------
trunk/
trunk/src/data/Z120/z120_load.cpp
trunk/src/data/msc_types.h
trunk/tests/pcap/
trunk/tests/z120_test/CMakeLists.txt
trunk/tests/z120_test/z120_test.cpp
trunk/tests/z120_test/z120_test00.mpr
trunk/tests/z120_test/z120_test01.mpr
trunk/tests/z120_test/z120_test02.mpr
trunk/tests/z120_test/z120_test03.mpr
trunk/tests/z120_test/z120_test04.mpr
trunk/tests/z120_test/z120_test05.mpr
trunk/tests/z120_test/z120_test06.mpr
trunk/tests/z120_test/z120_test07.mpr
trunk/tests/z120_test/z120_test08.mpr
trunk/tests/z120_test/z120_test09.mpr
trunk/tests/z120_test/z120_test10.mpr
trunk/tests/z120_test/z120_test11.mpr
trunk/tests/z120_test/z120_test12.mpr
trunk/tests/z120_test/z120_test13.mpr
trunk/tests/z120_test/z120_test14.mpr
trunk/tests/z120_test/z120_test15.mpr
trunk/tests/z120_test/z120_test16.mpr
trunk/tests/z120_test/z120_test17.mpr
trunk/tests/z120_test/z120_test18.mpr
trunk/tests/z120_test/z120_test19.mpr
trunk/tests/z120_test/z120_test20.mpr
trunk/tests/z120_test/z120_test21.mpr
trunk/tests/z120_test/z120_test22.mpr
trunk/tests/z120_test/z120_test23.mpr
trunk/tests/z120_test/z120_test24.mpr
trunk/tests/z120_test/z120_test25.mpr
trunk/tests/z120_test/z120_test26.mpr
trunk/tests/z120_test/z120_test27.mpr
trunk/tests/z120_test/z120_test28.mpr
trunk/tests/z120_test/z120_test29.mpr
trunk/tests/z120_test/z120_test30.mpr
trunk/tests/z120_test/z120_test31.mpr
trunk/tests/z120_test/z120_test32.mpr
trunk/tests/z120_test/z120_test33.mpr
trunk/tests/z120_test/z120_test34.mpr
trunk/tests/z120_test/z120_test35.mpr
trunk/tests/z120_test/z120_test36.mpr
trunk/tests/z120_test/z120_test37.mpr
trunk/third-party-sw/http_parser/
trunk/third-party-sw/libosip2-3.6.0/
Property changes on: trunk
___________________________________________________________________
Added: svn:mergeinfo
+ /branches/internal-structure-refactoring:1540-1552
/branches/refactoring:1332-1337,1339,1341
Modified: trunk/src/check/order/acyclic_checker.cpp
===================================================================
--- trunk/src/check/order/acyclic_checker.cpp 2013-01-26 09:58:06 UTC (rev 1552)
+++ trunk/src/check/order/acyclic_checker.cpp 2013-01-26 10:45:44 UTC (rev 1553)
@@ -58,11 +58,11 @@
for(it = bmsc->get_instances().begin(); it != bmsc->get_instances().end(); it++)
{
ConnectionNode *dummy;
- EventAreaPtr eap = (*it)->get_first();
+ EventAreaPtr eap = (*it)->get_first_area();
while(eap)
{
if(eap->is_empty())
- eap = eap->get_next();
+ eap = eap->get_next_area();
else
break;
}
@@ -70,7 +70,7 @@
{
StrictOrderArea *seap = dynamic_cast<StrictOrderArea*>(eap.get());
if(seap)
- start->add_successor(seap->get_first()->get_attribute("ACC_node", dummy));
+ start->add_successor(seap->get_first_event()->get_attribute("ACC_node", dummy));
else
{
CoregionArea *ceap = dynamic_cast<CoregionArea*>(eap.get());
Modified: trunk/src/check/pseudocode/msc_duplicators.cpp
===================================================================
--- trunk/src/check/pseudocode/msc_duplicators.cpp 2013-01-26 09:58:06 UTC (rev 1552)
+++ trunk/src/check/pseudocode/msc_duplicators.cpp 2013-01-26 10:45:44 UTC (rev 1553)
@@ -446,7 +446,7 @@
{
CoregionEvent* preceding_new = dynamic_cast<CoregionEvent*>(m_duplicator->get_event_copy(preceding));
preceding_new->add_successor(coreg_new);
- // std::cerr << "creating coreg rel " << preceding_new << " -> " << coreg_new << std::endl;
+ // std::cerr << "creating coreg rel " << preceding_new << " -> " << coreg_new << std::endl;
}
}
}
@@ -767,7 +767,7 @@
NormalConstraintsCreatorListener::NormalConstraintsCreatorListener(BMscGraphDuplicator* duplicator):
m_duplicator(duplicator)
-{
+{
}
@@ -778,18 +778,18 @@
ReferenceNode** ref_node_a;
TimeRelationRefNodePtrSet relations;
TimeRelationRefNodePtrSet::iterator rel_it;
-
-
+
+
if(!ref_node_b){
return;
}
-
+
ref_node_original = dynamic_cast<ReferenceNode*>(n->get_original());
relations = ref_node_original->get_time_relations_top();
-
+
for(rel_it=relations.begin();rel_it!=relations.end();rel_it++){
-
+
//tries to access the map value for *rel_it
//if the value does not exist, map creates new entry
ref_node_a = &m_relations_to_close[*rel_it];
@@ -797,9 +797,9 @@
{
//time relation was already discovered
//duplicate time relation
- //the relaton should be between ref_node_a an ref_node_b
+ //the relaton should be between ref_node_a an ref_node_b
TimeRelationRefNode* rel_copy = new TimeRelationRefNode((*rel_it).get());
-
+
//checking wheter relation is connected to top or bottom of ref_node_a
bool bottom_a = (*rel_it).get()->is_bottom_node_a();
bool bottom_b = (*rel_it).get()->is_bottom_node_b();
@@ -823,23 +823,23 @@
relations = ref_node_original->get_time_relations_bottom();
for(rel_it=relations.begin();rel_it!=relations.end();rel_it++){
-
+
//tries to access the map value for key *rel_it
- //if the value does not exist, map creates new entry
+ //if the value does not exist, map creates new entry
ref_node_a = &m_relations_to_close[*rel_it];
-
+
if(*ref_node_a)
{
//time relation was already discovered
//duplicate time relation
- //the relaton should be between ref_node_a an ref_node_b
+ //the relaton should be between ref_node_a an ref_node_b
TimeRelationRefNode* rel_copy = new TimeRelationRefNode((*rel_it).get());
//checking wheter relation is connected to top or bottom of ref_node_a
bool top_a = (*rel_it).get()->is_top_node_a();
bool top_b = (*rel_it).get()->is_top_node_b();
//we know that one of top_a top_b is false
- //(relation is connected to bottom of this node)
+ //(relation is connected to bottom of this node)
top_a = (top_a || top_b);
rel_copy->glue_ref_node_a(!top_a,*ref_node_a);
@@ -854,7 +854,7 @@
}
}
}
-
+
NormalConstraintsCreatorListener::~NormalConstraintsCreatorListener()
{
}
@@ -863,7 +863,7 @@
HighLevelConstraintsCreatorListener::HighLevelConstraintsCreatorListener(BMscGraphDuplicator* duplicator):
m_duplicator(duplicator)
-{
+{
}
void HighLevelConstraintsCreatorListener::on_white_node_found(HMscNode* n)
@@ -871,13 +871,13 @@
ReferenceNode* ref_node = dynamic_cast<ReferenceNode*>(n) ;
//TODO find the HMSC time consraints which can be duplicated and duplicate them
// the following code is only temporary
- if(ref_node && ref_node->get_hmsc().get() &&
+ if(ref_node && ref_node->get_hmsc().get() &&
!(ref_node->get_time_relations_top().empty() && ref_node->get_time_relations_bottom().empty()))
{
throw FoundNontransformableConstraintException();
// throw std::runtime_error("High-level constraint- cannot create alternative.");
}
-
+
}
HighLevelConstraintsCreatorListener::~HighLevelConstraintsCreatorListener()
@@ -900,7 +900,7 @@
traverser.add_white_node_found_listener(&listener);
traverser.traverse(hmsc);
-
+
//should find the time constraints which can be duplicated and duplicate them
found_nontransformable_constraint = false;
traverser.remove_all_listeners();
@@ -914,13 +914,13 @@
// traverser.get_reached_elements();
// throw std::runtime_error("");
}
-
+
NormalConstraintsCreatorListener listener3(this);
traverser.remove_all_listeners();
traverser.cleanup_traversing_attributes();
traverser.add_white_node_found_listener(&listener3);
traverser.traverse(new_hmsc);
-
+
}
return new_hmsc;
}
@@ -1050,12 +1050,12 @@
{
ReferenceNode* a = (ReferenceNode*) get_copy((*it)->get_ref_node_a());
ReferenceNode* b = (ReferenceNode*) get_copy((*it)->get_ref_node_b());
-
+
if(!a || !b) return ; // do nothing until both reference nodes are duplicated
relation_copy = new TimeRelationRefNode((*it).get());
set_copy(it->get(),relation_copy.get());
-
+
// if its the same, false, true ??
if(a==b)
{
@@ -1234,7 +1234,7 @@
}
for(e=path.begin();e!=path.end();e++)
(*e)->remove_attribute<bool>("path_new_elem");
-
+
for(e=path.begin();e!=path.end();e++)
{
ReferenceNode* ref_node = dynamic_cast<ReferenceNode*>(*e);
@@ -1268,7 +1268,7 @@
}
ReferenceNode* a = (ReferenceNode*) get_copy((*it)->get_ref_node_a());
ReferenceNode* b = (ReferenceNode*) get_copy((*it)->get_ref_node_b());
-
+
relation_copy = new TimeRelationRefNode((*it).get());
set_copy(it->get(),relation_copy.get(),persist_original);
//std::cerr<<"gluing time relation between: "<<a<<" | "<<b<< "value: "<<it->get()->get_interval_set()<<std::endl;
@@ -1320,17 +1320,15 @@
std::map<BMsc*,int> bmsc_to_count;
BMscDuplicator duplicator2;
std::list<BMscPtr> created_bmscs;
-
+
InstancePtrList instances;
InstancePtrList::iterator inst_it;
InstancePtrList new_instances;
InstancePtrList::iterator new_inst_it;
Instance* new_instance;
- EventAreaPtr start_area;
- EventAreaPtr current_area;
MscElementPList remaining_elements;
MscElementPList duplicator_modified_elements;
-
+
m_modified_elements.clear();
MscElementPList::const_iterator f;
@@ -1339,97 +1337,92 @@
ReferenceNode* ref_node;
- if(path.size() == 0)
+ if (path.size() == 0)
{
return new_bmsc_ptr;
}
- for(g=path.begin();g!=path.end();g++)
+ for (g = path.begin(); g != path.end(); g++)
{
ref_node = dynamic_cast<ReferenceNode*>(*g);
- if(ref_node)
+ if (ref_node)
{
original_bmsc = ref_node->get_bmsc();
- if(original_bmsc.get()==0) {
- return new_bmsc_ptr;
+ if (original_bmsc.get() == 0) {
+ return new_bmsc_ptr;
}
}
}
- for(e=path.rbegin();e!=path.rend();e++)
+ for (e = path.rbegin(); e != path.rend(); e++)
{
ref_node = dynamic_cast<ReferenceNode*>(*e);
- if(ref_node)
+ if (ref_node)
{
original_bmsc = ref_node->get_bmsc();
//check whether the original_bmsc already occured
stored_copy = &(used_bmscs[original_bmsc]);
- if((*stored_copy).get())
+ if (stored_copy->get())
{
- //the original_bmsc was already duplicated
- //make new copy and use stored_copy
- (*stored_copy) = duplicator2.duplicate_bmsc(*stored_copy);
+ //the original_bmsc was already duplicated
+ //make new copy and use stored_copy
+ (*stored_copy) = duplicator2.duplicate_bmsc(*stored_copy);
bmsc_to_count[original_bmsc.get()]++;
- }else{
- // the original_bmsc has not occured yet
- //make new copies of original_bmsc and store the second one
- (*stored_copy) = duplicator2.duplicate_bmsc(original_bmsc);
+ }
+ else
+ {
+ // the original_bmsc has not occured yet
+ // make new copies of original_bmsc and store the second one
+ (*stored_copy) = duplicator2.duplicate_bmsc(original_bmsc);
bmsc_to_count[original_bmsc.get()] = 1;
}
created_bmscs.push_front(*stored_copy);
- m_ref_node_to_occurence[ref_node]= bmsc_to_count[original_bmsc.get()];
- }else if(!(dynamic_cast<NodeRelation*>(*e)
- || dynamic_cast<ConnectionNode*>(*e)
- || dynamic_cast<ConditionNode*>(*e)
- || dynamic_cast<StartNode*>(*e)
- || dynamic_cast<EndNode*>(*e)))
- {
+ m_ref_node_to_occurence[ref_node]= bmsc_to_count[original_bmsc.get()];
+ }
+ else if (!(dynamic_cast<NodeRelation*>(*e)
+ || dynamic_cast<ConnectionNode*>(*e)
+ || dynamic_cast<ConditionNode*>(*e)
+ || dynamic_cast<StartNode*>(*e)
+ || dynamic_cast<EndNode*>(*e)))
+ {
throw std::runtime_error("Unknown type");
}
}
std::list<BMscPtr>::iterator bmscs_it;
- for(bmscs_it=created_bmscs.begin();bmscs_it!=created_bmscs.end();bmscs_it++)
+ for (bmscs_it = created_bmscs.begin(); bmscs_it != created_bmscs.end(); bmscs_it++)
{
-
- instances = (*bmscs_it).get()->get_instances();
- for(inst_it = instances.begin();inst_it != instances.end();inst_it++)
- {
+ instances = bmscs_it->get()->get_instances();
+ for (inst_it = instances.begin(); inst_it != instances.end(); inst_it++)
+ {
new_instance = NULL;
new_instances = new_bmsc_ptr.get()->get_instances();
-
- //checking whether the instance with the same instance label as (*inst_it) is already present in new_bmsc
- for(new_inst_it=new_instances.begin();new_inst_it != new_instances.end();new_inst_it++){
- if((*inst_it).get()->get_label().compare((*new_inst_it).get()->get_label())==0)
- new_instance = (*new_inst_it).get();
+
+ // checking whether the instance with the same instance label as (*inst_it) is already present in new_bmsc
+ for (new_inst_it = new_instances.begin(); new_inst_it != new_instances.end(); new_inst_it++)
+ {
+ if (inst_it->get()->get_label().compare(new_inst_it->get()->get_label()) == 0)
+ new_instance = new_inst_it->get();
}
-
- if(new_instance){
- //instance with the same instance label is present in new_bmsc
- //concatenate the instances
- if(!((*inst_it).get()->is_empty()))
- {
- start_area = (*inst_it).get()->get_first();
- current_area = start_area; //TODO check whether I changed everything necessary
- current_area->set_instance(new_instance);
- while(current_area->get_next().get()){
- current_area = current_area->get_next();
- current_area->set_instance(new_instance);
- }
- if(new_instance->is_empty()){
- new_instance->set_first(start_area);
- }else{
- new_instance->get_last().get()->set_next(start_area); //concatenation
- }
- new_instance->set_last(current_area);
- }
- }else{
- //there is no instance with the same label present in new_bmsc
- //add the instance to the new_bmsc
- new_bmsc_ptr.get()->add_instance(*inst_it);
- (*inst_it).get()->set_original(NULL); //there can be more originals of this instance
+
+ if (new_instance)
+ {
+ // instance with the same instance label is present in new_bmsc
+ // concatenate the instances - move the event areas to new_instance
+ const EventAreaPtrList& event_areas = inst_it->get()->get_areas();
+ for (EventAreaPtrList::const_iterator i = event_areas.begin(); i != event_areas.end(); ++i)
+ {
+ new_instance->add_area(*i);
+ }
}
+ else
+ {
+ //there is no instance with the same label present in new_bmsc
+ //add the instance to the new_bmsc
+ new_bmsc_ptr.get()->add_instance(*inst_it);
+ inst_it->get()->set_original(NULL); //there can be more originals of this instance
+ }
}
}
@@ -1448,7 +1441,7 @@
duplicator2.set_m_modified_elements(remaining_elements);
duplicator2.cleanup_attributes();
-
+
return new_bmsc_ptr;
}
Modified: trunk/src/check/pseudocode/utils.cpp
===================================================================
--- trunk/src/check/pseudocode/utils.cpp 2013-01-26 09:58:06 UTC (rev 1552)
+++ trunk/src/check/pseudocode/utils.cpp 2013-01-26 10:45:44 UTC (rev 1553)
@@ -28,15 +28,15 @@
if(strict)
{
if(strict->is_empty())
- get_first_area_events(strict->get_next().get(),e);
+ get_first_area_events(strict->get_next_area().get(),e);
else
- m_succs.insert(strict->get_first().get());
+ m_succs.insert(strict->get_first_event().get());
}
else
{
CoregionArea* coregion = dynamic_cast<CoregionArea*>(area);
if(coregion->is_empty())
- get_first_area_events(coregion->get_next().get(),e);
+ get_first_area_events(coregion->get_next_area().get(),e);
else
{
const CoregionEventPVector& minimals = coregion->get_minimal_events();
@@ -52,7 +52,7 @@
if(e->get_successor().get())
m_succs.insert(e->get_successor().get());
else
- get_first_area_events(e->get_area()->get_next().get(),e);
+ get_first_area_events(e->get_area()->get_next_area().get(),e);
}
@@ -68,7 +68,7 @@
}
}
else
- get_first_area_events(e->get_area()->get_next().get(),e);
+ get_first_area_events(e->get_area()->get_next_area().get(),e);
}
void EventFirstSuccessors::get_successors(Event *e)
Modified: trunk/src/check/pseudocode/visual_closure_initiator.cpp
===================================================================
--- trunk/src/check/pseudocode/visual_closure_initiator.cpp 2013-01-26 09:58:06 UTC (rev 1552)
+++ trunk/src/check/pseudocode/visual_closure_initiator.cpp 2013-01-26 10:45:44 UTC (rev 1553)
@@ -35,15 +35,15 @@
{
if(pred_area->is_empty())
{
- if(!pred_area->is_first())
- make_closure(closure_matrix,succ_index,pred_area->get_previous());
+ if(!pred_area->is_first_area())
+ make_closure(closure_matrix,succ_index,pred_area->get_previous_area());
}
else
{
StrictOrderArea* strict_area = dynamic_cast<StrictOrderArea*>(pred_area);
if(strict_area)
{
- make_closure(closure_matrix,succ_index,get_topology_index(strict_area->get_last().get()));
+ make_closure(closure_matrix,succ_index,get_topology_index(strict_area->get_last_event().get()));
}
else
{
@@ -119,9 +119,9 @@
//complete closure with direct predecessor
make_closure(closure,e,get_topology_index(strict_event->get_predecessor()));
}
- else if(strict_event->get_area()->get_previous())
+ else if(strict_event->get_area()->get_previous_area())
{
- make_closure(closure,e,strict_event->get_area()->get_previous());
+ make_closure(closure,e,strict_event->get_area()->get_previous_area());
}
}
else
@@ -135,9 +135,9 @@
for(pred_rel=predecessors.begin();pred_rel!=predecessors.end();pred_rel++)
make_closure(closure,e,get_topology_index((*pred_rel)->get_predecessor()));
}
- else if(coregion_event->get_area()->get_previous())
+ else if(coregion_event->get_area()->get_previous_area())
{
- make_closure(closure,e,coregion_event->get_area()->get_previous());
+ make_closure(closure,e,coregion_event->get_area()->get_previous_area());
}
}
}
Modified: trunk/src/data/Z120/Context.cpp
===================================================================
--- trunk/src/data/Z120/Context.cpp 2013-01-26 09:58:06 UTC (rev 1552)
+++ trunk/src/data/Z120/Context.cpp 2013-01-26 10:45:44 UTC (rev 1553)
@@ -631,7 +631,7 @@
instance = inst_it->second;
}
- if (instance->get_last() == NULL ||
+ if (instance->get_last_area() == NULL ||
context->coregion_area_finished.find(context->element_name) != context->coregion_area_finished.end())
{
StrictOrderAreaPtr strict(new StrictOrderArea());
@@ -646,7 +646,7 @@
if(context->event_name == "" ||
(event_it = context->future_events.find(context->event_name)) == context->future_events.end())
{
- event = instance->get_last()->add_event();
+ event = instance->get_last_area()->add_event();
}
else
{
@@ -704,7 +704,7 @@
instance = inst_it->second;
}
- if (instance->get_last() == NULL ||
+ if (instance->get_last_area() == NULL ||
context->coregion_area_finished.find(context->element_name) != context->coregion_area_finished.end())
{
StrictOrderAreaPtr strict(new StrictOrderArea());
@@ -719,7 +719,7 @@
if(context->event_name == "" ||
(event_it = context->future_events.find(context->event_name)) == context->future_events.end())
{
- event = instance->get_last()->add_event();
+ event = instance->get_last_area()->add_event();
}
else
{
@@ -766,7 +766,7 @@
instance = inst_it->second;
}
- if (instance->get_last() == NULL ||
+ if (instance->get_last_area() == NULL ||
context->coregion_area_finished.find(context->element_name) != context->coregion_area_finished.end())
{
StrictOrderAreaPtr strict(new StrictOrderArea());
@@ -781,7 +781,7 @@
if(context->event_name == "" ||
(event_it = context->future_events.find(context->event_name)) == context->future_events.end())
{
- event = instance->get_last()->add_event();
+ event = instance->get_last_area()->add_event();
}
else
{
@@ -935,7 +935,7 @@
}
//add new strict area to instance if it is needed
- if (instance->get_last() == NULL ||
+ if (instance->get_last_area() == NULL ||
context->coregion_area_finished.find(context->element_name) != context->coregion_area_finished.end())
{
StrictOrderAreaPtr strict(new StrictOrderArea());
@@ -950,7 +950,7 @@
if(context->event_name == "" ||
(event_it = context->future_events.find(context->event_name)) == context->future_events.end())
{
- event = instance->get_last()->add_event();
+ event = instance->get_last_area()->add_event();
}
else
{
@@ -1039,7 +1039,7 @@
else
{
InstancePtr instance = context->instances.find(context->element_name)->second;
- EventPtr e = instance->get_last()->add_event();
+ EventPtr e = instance->get_last_area()->add_event();
event1 = boost::dynamic_pointer_cast<CoregionEvent>(e);
context->future_events.insert(std::make_pair(*it, event1));
Property changes on: trunk/src/data/Z120/z120_load.cpp
___________________________________________________________________
Deleted: svn:mergeinfo
-
Modified: trunk/src/data/Z120/z120_save.cpp
===================================================================
--- trunk/src/data/Z120/z120_save.cpp 2013-01-26 09:58:06 UTC (rev 1552)
+++ trunk/src/data/Z120/z120_save.cpp 2013-01-26 10:45:44 UTC (rev 1553)
@@ -502,8 +502,8 @@
stream << VALID_NAME((*ipos)->get_label()) << ": instance;" << std::endl;
// walk through event areas
- for(EventAreaPtr area = (*ipos)->get_first();
- area != NULL; area = area->get_next())
+ for(EventAreaPtr area = (*ipos)->get_first_area();
+ area != NULL; area = area->get_next_area())
{
print_element_attributes(stream, area);
@@ -511,7 +511,7 @@
if(strict_area != NULL)
{
// walk through events
- for(StrictEventPtr event = strict_area->get_first();
+ for(StrictEventPtr event = strict_area->get_first_event();
event != NULL; event = event->get_successor())
{
// check if the label needs to be printed
Modified: trunk/src/data/beautify/instance_sequencer.cpp
===================================================================
--- trunk/src/data/beautify/instance_sequencer.cpp 2013-01-26 09:58:06 UTC (rev 1552)
+++ trunk/src/data/beautify/instance_sequencer.cpp 2013-01-26 10:45:44 UTC (rev 1553)
@@ -128,14 +128,14 @@
{
double max_width = inst->get_width();
EventAreaPtr area;
- area = inst->get_first();
+ area = inst->get_first_area();
while(area)
{
CoregionArea* coregion;
coregion = dynamic_cast<CoregionArea*>(area.get());
if(coregion)
max_width = (coregion->get_width() > max_width) ? coregion->get_width() : max_width;
- area = area->get_next();
+ area = area->get_next_area();
}
return max_width;
@@ -496,7 +496,7 @@
for(InstancePtrList::const_iterator it = instances.begin(); it != instances.end(); it++)
{
EventAreaPtr area;
- area = it->get()->get_first();
+ area = it->get()->get_first_area();
while(area)
{
@@ -504,7 +504,7 @@
coregion = dynamic_cast<CoregionArea*>(area.get());
if(coregion)
coregion->set_width(m_cor_width_value);
- area = area->get_next();
+ area = area->get_next_area();
}
}
@@ -741,14 +741,14 @@
(*it)->set_width((Size)m_head_width_value);
EventAreaPtr area;
- area = (*it)->get_first();
+ area = (*it)->get_first_area();
while(area)
{
CoregionArea* coregion;
coregion = dynamic_cast<CoregionArea*>(area.get());
if(coregion)
coregion->set_width((Size)m_cor_width_value);
- area = area->get_next();
+ area = area->get_next_area();
}
}
Modified: trunk/src/data/beautify/layout_optimizer.cpp
===================================================================
--- trunk/src/data/beautify/layout_optimizer.cpp 2013-01-26 09:58:06 UTC (rev 1552)
+++ trunk/src/data/beautify/layout_optimizer.cpp 2013-01-26 10:45:44 UTC (rev 1553)
@@ -496,7 +496,7 @@
// traverse coregions and set the constraints between event e and coregion edges
EventAreaPtr area;
- area = (m_instances.at(i)).get()->get_first();
+ area = (m_instances.at(i)).get()->get_first_area();
while(area)
{
CoregionArea* coregion = dynamic_cast<CoregionArea*>(area.get());
@@ -508,7 +508,7 @@
add_absolute_distance_constraint(m_lp, e1, begin, m_successor_distance+crossing);
add_absolute_distance_constraint(m_lp, (begin+1), e1, m_successor_distance+crossing);
}
- area = area->get_next();
+ area = area->get_next_area();
}
}
}
@@ -583,11 +583,11 @@
}
int level;
- for(InstancePtrList::const_iterator instanc=bmsc->get_instances().begin(); instanc!=bmsc->get_instances().end(); instanc++)
+ for(InstancePtrList::const_iterator instance = bmsc->get_instances().begin(); instance != bmsc->get_instances().end(); instance++)
{
level = 0;
StrictEventPtr strictTmp;
- area = (*instanc)->get_first();
+ area = (*instance)->get_first_area();
while(area)
{
CoregionArea* coregion = dynamic_cast<CoregionArea*>(area.get());
@@ -633,13 +633,13 @@
if(!strict->is_empty())
{
if(level != 0)
- add_relative_distance_constraint(m_lp, level, indexer.get_event_index(strict->get_first()), m_successor_distance);
+ add_relative_distance_constraint(m_lp, level, indexer.get_event_index(strict->get_first_event()), m_successor_distance);
- level = indexer.get_event_index(strict->get_last());
- strictTmp = strict->get_last();
+ level = indexer.get_event_index(strict->get_last_event());
+ strictTmp = strict->get_last_event();
}
}
- area = area->get_next();
+ area = area->get_next_area();
}
}
@@ -672,7 +672,7 @@
for(InstancePtrList::const_iterator it=instances.begin(); it!=instances.end(); it++)
{
- area = (*it)->get_first();
+ area = (*it)->get_first_area();
while(area)
{
coregion = dynamic_cast<CoregionArea*>(area.get());
@@ -682,7 +682,7 @@
coregion->set_attribute("id",start_index);
start_index +=2;
}
- area = area->get_next();
+ area = area->get_next_area();
}
}
@@ -816,14 +816,14 @@
(*it)->remove_attribute<unsigned>("be_id");
EventAreaPtr area;
- area = (*it)->get_first();
+ area = (*it)->get_first_area();
while(area)
{
CoregionArea* coregion;
coregion = dynamic_cast<CoregionArea*>(area.get());
if(coregion)
coregion->remove_attribute<unsigned>("id");
- area = area->get_next();
+ area = area->get_next_area();
}
}
}
@@ -982,7 +982,7 @@
{
double original_length = (*it)->get_height();
EventAreaPtr area;
- area = (*it)->get_last();
+ area = (*it)->get_last_area();
Coordinate max_y = 0;
while(area)
{
@@ -990,11 +990,11 @@
StrictOrderArea* strict_area = dynamic_cast<StrictOrderArea*>(area.get());
if(strict_area)
{
- if(strict_area->get_last())
+ if(strict_area->get_last_event())
{
- if(!strict_area->get_last()->is_matched())
+ if(!strict_area->get_last_event()->is_matched())
{
- IncompleteMessagePtr in_mess = strict_area->get_last()->get_incomplete_message();
+ IncompleteMessagePtr in_mess = strict_area->get_last_event()->get_incomplete_message();
//dynamic_cast<IncompleteMessagePtr>(strict_area->get_last());
if(in_mess.get())
{
@@ -1005,20 +1005,20 @@
if (act != NULL)
{
double tmp_height = act->get_height();
- max_y = var[indexer.get_event_index(strict_area->get_last())-1]+m_instance_head_distance+tmp_height;
+ max_y = var[indexer.get_event_index(strict_area->get_last_event())-1]+m_instance_head_distance+tmp_height;
}
// NOTE: a hack for local conditions support - until object model is fixed
LocalCondition* cond = dynamic_cast<LocalCondition*>(in_mess.get());
if (cond != NULL)
{
double tmp_height = cond->get_height();
- max_y = var[indexer.get_event_index(strict_area->get_last())-1]+m_instance_head_distance+tmp_height;
+ max_y = var[indexer.get_event_index(strict_area->get_last_event())-1]+m_instance_head_distance+t...
[truncated message content] |
|
From: <ma...@us...> - 2013-01-26 11:33:20
|
Revision: 1554
http://scstudio.svn.sourceforge.net/scstudio/?rev=1554&view=rev
Author: madzin
Date: 2013-01-26 11:33:09 +0000 (Sat, 26 Jan 2013)
Log Message:
-----------
Add boost library to cmakelist and remove generated makefile
Modified Paths:
--------------
trunk/CMakeLists.txt
Removed Paths:
-------------
trunk/third-party-sw/http_parser/Makefile
Modified: trunk/CMakeLists.txt
===================================================================
--- trunk/CMakeLists.txt 2013-01-26 10:45:44 UTC (rev 1553)
+++ trunk/CMakeLists.txt 2013-01-26 11:33:09 UTC (rev 1554)
@@ -65,7 +65,7 @@
SET(Boost_USE_STATIC_LIBS OFF)
ENDIF(WIN32)
SET(Boost_USE_MULTITHREADED ON)
-FIND_PACKAGE(Boost COMPONENTS date_time thread serialization REQUIRED)
+FIND_PACKAGE(Boost COMPONENTS date_time thread serialization system REQUIRED)
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
FIND_PACKAGE(Java COMPONENTS Runtime)
Deleted: trunk/third-party-sw/http_parser/Makefile
===================================================================
--- trunk/third-party-sw/http_parser/Makefile 2013-01-26 10:45:44 UTC (rev 1553)
+++ trunk/third-party-sw/http_parser/Makefile 2013-01-26 11:33:09 UTC (rev 1554)
@@ -1,217 +0,0 @@
-# CMAKE generated file: DO NOT EDIT!
-# Generated by "Unix Makefiles" Generator, CMake Version 2.8
-
-# Default target executed when no arguments are given to make.
-default_target: all
-.PHONY : default_target
-
-#=============================================================================
-# Special targets provided by cmake.
-
-# Disable implicit rules so canonical targets will work.
-.SUFFIXES:
-
-# Remove some rules from gmake that .SUFFIXES does not remove.
-SUFFIXES =
-
-.SUFFIXES: .hpux_make_needs_suffix_list
-
-# Suppress display of executed commands.
-$(VERBOSE).SILENT:
-
-# A target that is always out of date.
-cmake_force:
-.PHONY : cmake_force
-
-#=============================================================================
-# Set environment variables for the build.
-
-# The shell in which to execute make rules.
-SHELL = /bin/sh
-
-# The CMake executable.
-CMAKE_COMMAND = /usr/bin/cmake
-
-# The command to remove a file.
-RM = /usr/bin/cmake -E remove -f
-
-# The top-level source directory on which CMake was run.
-CMAKE_SOURCE_DIR = /home/viktor/scstudio/trunk
-
-# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /home/viktor/scstudio/trunk
-
-#=============================================================================
-# Targets provided globally by CMake.
-
-# Special rule for the target edit_cache
-edit_cache:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..."
- /usr/bin/cmake -i .
-.PHONY : edit_cache
-
-# Special rule for the target edit_cache
-edit_cache/fast: edit_cache
-.PHONY : edit_cache/fast
-
-# Special rule for the target install
-install: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
- /usr/bin/cmake -P cmake_install.cmake
-.PHONY : install
-
-# Special rule for the target install
-install/fast: preinstall/fast
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
- /usr/bin/cmake -P cmake_install.cmake
-.PHONY : install/fast
-
-# Special rule for the target install/local
-install/local: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
- /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
-.PHONY : install/local
-
-# Special rule for the target install/local
-install/local/fast: install/local
-.PHONY : install/local/fast
-
-# Special rule for the target install/strip
-install/strip: preinstall
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
- /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
-.PHONY : install/strip
-
-# Special rule for the target install/strip
-install/strip/fast: install/strip
-.PHONY : install/strip/fast
-
-# Special rule for the target list_install_components
-list_install_components:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
-.PHONY : list_install_components
-
-# Special rule for the target list_install_components
-list_install_components/fast: list_install_components
-.PHONY : list_install_components/fast
-
-# Special rule for the target rebuild_cache
-rebuild_cache:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
- /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
-.PHONY : rebuild_cache
-
-# Special rule for the target rebuild_cache
-rebuild_cache/fast: rebuild_cache
-.PHONY : rebuild_cache/fast
-
-# Special rule for the target test
-test:
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..."
- /usr/bin/ctest --force-new-ctest-process $(ARGS)
-.PHONY : test
-
-# Special rule for the target test
-test/fast: test
-.PHONY : test/fast
-
-# The main all target
-all: cmake_check_build_system
- cd /home/viktor/scstudio/trunk && $(CMAKE_COMMAND) -E cmake_progress_start /home/viktor/scstudio/trunk/CMakeFiles /home/viktor/scstudio/trunk/third-party-sw/http_parser/CMakeFiles/progress.marks
- cd /home/viktor/scstudio/trunk && $(MAKE) -f CMakeFiles/Makefile2 third-party-sw/http_parser/all
- $(CMAKE_COMMAND) -E cmake_progress_start /home/viktor/scstudio/trunk/CMakeFiles 0
-.PHONY : all
-
-# The main clean target
-clean:
- cd /home/viktor/scstudio/trunk && $(MAKE) -f CMakeFiles/Makefile2 third-party-sw/http_parser/clean
-.PHONY : clean
-
-# The main clean target
-clean/fast: clean
-.PHONY : clean/fast
-
-# Prepare targets for installation.
-preinstall: all
- cd /home/viktor/scstudio/trunk && $(MAKE) -f CMakeFiles/Makefile2 third-party-sw/http_parser/preinstall
-.PHONY : preinstall
-
-# Prepare targets for installation.
-preinstall/fast:
- cd /home/viktor/scstudio/trunk && $(MAKE) -f CMakeFiles/Makefile2 third-party-sw/http_parser/preinstall
-.PHONY : preinstall/fast
-
-# clear depends
-depend:
- cd /home/viktor/scstudio/trunk && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
-.PHONY : depend
-
-# Convenience name for target.
-third-party-sw/http_parser/CMakeFiles/http_parser.dir/rule:
- cd /home/viktor/scstudio/trunk && $(MAKE) -f CMakeFiles/Makefile2 third-party-sw/http_parser/CMakeFiles/http_parser.dir/rule
-.PHONY : third-party-sw/http_parser/CMakeFiles/http_parser.dir/rule
-
-# Convenience name for target.
-http_parser: third-party-sw/http_parser/CMakeFiles/http_parser.dir/rule
-.PHONY : http_parser
-
-# fast build rule for target.
-http_parser/fast:
- cd /home/viktor/scstudio/trunk && $(MAKE) -f third-party-sw/http_parser/CMakeFiles/http_parser.dir/build.make third-party-sw/http_parser/CMakeFiles/http_parser.dir/build
-.PHONY : http_parser/fast
-
-http_parser.o: http_parser.c.o
-.PHONY : http_parser.o
-
-# target to build an object file
-http_parser.c.o:
- cd /home/viktor/scstudio/trunk && $(MAKE) -f third-party-sw/http_parser/CMakeFiles/http_parser.dir/build.make third-party-sw/http_parser/CMakeFiles/http_parser.dir/http_parser.c.o
-.PHONY : http_parser.c.o
-
-http_parser.i: http_parser.c.i
-.PHONY : http_parser.i
-
-# target to preprocess a source file
-http_parser.c.i:
- cd /home/viktor/scstudio/trunk && $(MAKE) -f third-party-sw/http_parser/CMakeFiles/http_parser.dir/build.make third-party-sw/http_parser/CMakeFiles/http_parser.dir/http_parser.c.i
-.PHONY : http_parser.c.i
-
-http_parser.s: http_parser.c.s
-.PHONY : http_parser.s
-
-# target to generate assembly for a file
-http_parser.c.s:
- cd /home/viktor/scstudio/trunk && $(MAKE) -f third-party-sw/http_parser/CMakeFiles/http_parser.dir/build.make third-party-sw/http_parser/CMakeFiles/http_parser.dir/http_parser.c.s
-.PHONY : http_parser.c.s
-
-# Help Target
-help:
- @echo "The following are some of the valid targets for this Makefile:"
- @echo "... all (the default if no target is provided)"
- @echo "... clean"
- @echo "... depend"
- @echo "... edit_cache"
- @echo "... http_parser"
- @echo "... install"
- @echo "... install/local"
- @echo "... install/strip"
- @echo "... list_install_components"
- @echo "... rebuild_cache"
- @echo "... test"
- @echo "... http_parser.o"
- @echo "... http_parser.i"
- @echo "... http_parser.s"
-.PHONY : help
-
-
-
-#=============================================================================
-# Special targets to cleanup operation of make.
-
-# Special rule to run CMake to check the build system integrity.
-# No rule that depends on this can have commands that come from listfiles
-# because they might be regenerated.
-cmake_check_build_system:
- cd /home/viktor/scstudio/trunk && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
-.PHONY : cmake_check_build_system
-
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|