|
From: <koc...@us...> - 2009-10-04 13:35:13
|
Revision: 402
http://scstudio.svn.sourceforge.net/scstudio/?rev=402&view=rev
Author: kocianon
Date: 2009-10-04 13:35:05 +0000 (Sun, 04 Oct 2009)
Log Message:
-----------
contrain checker bugfix
Modified Paths:
--------------
trunk/src/check/time/constrain_check.cpp
trunk/src/check/time/constrain_check.h
trunk/tests/constrain_check_test.cpp
Modified: trunk/src/check/time/constrain_check.cpp
===================================================================
--- trunk/src/check/time/constrain_check.cpp 2009-10-04 12:24:21 UTC (rev 401)
+++ trunk/src/check/time/constrain_check.cpp 2009-10-04 13:35:05 UTC (rev 402)
@@ -56,7 +56,7 @@
//BOTTOM
constrain_set = n->get_time_relations_bottom();
- add_active_constrains_bottom(n);
+// add_active_constrains_bottom(n);
check_active_set(n,constrain_set);
@@ -84,7 +84,19 @@
}
+void HMscTimeConstrainChecker::on_node_finished(ReferenceNode* n)
+{
+ TimeRelationRefNodePtrSet constrains_set;
+ m_active_constrains = get_active_constrains_top(n);
+ /*
+ TimeRelationRefNodePtrSet::iterator it;
+
+ for(it=constrains_set.begin();it=constrains_set.end();it++)
+ m_active_constrains.insert(*it);
+ */
+}
+
HMscPtr HMscTimeConstrainChecker::check(HMscPtr hmsc, ChannelMapperPtr chm)
{
HMscPtr p;
@@ -92,6 +104,7 @@
traverser.add_white_node_found_listener(this);
traverser.add_gray_node_found_listener(this);
traverser.add_black_node_found_listener(this);
+ traverser.add_node_finished_listener(this);
try
{
traverser.traverse(hmsc);
Modified: trunk/src/check/time/constrain_check.h
===================================================================
--- trunk/src/check/time/constrain_check.h 2009-10-04 12:24:21 UTC (rev 401)
+++ trunk/src/check/time/constrain_check.h 2009-10-04 13:35:05 UTC (rev 402)
@@ -47,6 +47,7 @@
, public WhiteRefNodeFoundListener
, public GrayRefNodeFoundListener
, public BlackRefNodeFoundListener
+ , public RefNodeFinishedListener
{
private:
std::string m_top_constrains;
@@ -149,6 +150,8 @@
void on_black_node_found(ReferenceNode*);
+ void on_node_finished(ReferenceNode*);
+
HMscPtr process_path(const MscElementPListList& path)
{
HMscPtr p;
Modified: trunk/tests/constrain_check_test.cpp
===================================================================
--- trunk/tests/constrain_check_test.cpp 2009-10-04 12:24:21 UTC (rev 401)
+++ trunk/tests/constrain_check_test.cpp 2009-10-04 13:35:05 UTC (rev 402)
@@ -28,35 +28,27 @@
ReferenceNodePtr r1_1(new ReferenceNode());
ReferenceNodePtr r1_2(new ReferenceNode());
- ReferenceNodePtr r1_3(new ReferenceNode());
EndNodePtr end1(new EndNode());
hmsc1->add_node(r1_1);
hmsc1->add_node(r1_2);
- hmsc1->add_node(r1_3);
hmsc1->add_node(end1);
start1->add_successor(r1_1.get());
r1_1->add_successor(r1_2.get());
-// r1_1->add_successor(r1_2.get());
+ r1_1->add_successor(r1_1.get());
// r1_2->add_successor(r1_2.get());
// r1_2->add_successor(end1.get());
- r1_2->add_successor(r1_3.get());
// r1_3->add_successor(r1_2.get());
- r1_3->add_successor(end1.get());
+ r1_2->add_successor(end1.get());
r1_1->set_msc(bmsc);
r1_2->set_msc(bmsc);
- r1_3->set_msc(bmsc);
MscTimeIntervalSetD inter;
TimeRelationRefNodePtr node_relation_1 = new TimeRelationRefNode(inter);
node_relation_1->glue_ref_nodes(true,r1_1.get(),false,r1_2.get());
- TimeRelationRefNodePtr node_relation_2 = new TimeRelationRefNode(inter);
- node_relation_2->glue_ref_nodes(true,r1_2.get(),false,r1_3.get());
- TimeRelationRefNodePtr node_relation_3 = new TimeRelationRefNode(inter);
- node_relation_3->glue_ref_nodes(true,r1_1.get(),false,r1_3.get());
HMscTimeConstrainChecker constrain_checker;
ChannelMapperPtr chm;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|