[GME-commit]
GMESRC/Paradigms/SF/BON2Interpreter BON2Component.h,1.4,1.5
SFBonExtension.cpp,1.1,1.2 SFBonExtension.h,1.1,1.2
SFBonUserExtension.cpp,1.2,1.3
SFInterpreterBON2Component.dsp,1.4,1.5
gme-commit at list.isis.vanderbilt.edu
gme-commit at list.isis.vanderbilt.edu
Tue Mar 16 17:49:06 CST 2004
Update of /var/lib/gme/GMESRC/Paradigms/SF/BON2Interpreter
In directory braindrain:/tmp/cvs-serv13549
Modified Files:
BON2Component.h SFBonExtension.cpp SFBonExtension.h
SFBonUserExtension.cpp SFInterpreterBON2Component.dsp
Log Message:
SFInterpreter updated: BonExtender used to extend some classes.
CVS User: zolmol
Index: BON2Component.h
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/SF/BON2Interpreter/BON2Component.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** BON2Component.h 3 Feb 2004 10:53:05 -0000 1.4
--- BON2Component.h 16 Mar 2004 23:48:39 -0000 1.5
***************
*** 26,30 ****
#include "Extensions.h"
#include "BONImpl.h"
- #include "PrintDlg.h"
#include <ComponentConfig.h>
--- 26,29 ----
Index: SFBonExtension.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/SF/BON2Interpreter/SFBonExtension.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** SFBonExtension.cpp 3 Feb 2004 09:35:08 -0000 1.1
--- SFBonExtension.cpp 16 Mar 2004 23:48:39 -0000 1.2
***************
*** 6,22 ****
{
- IMPLEMENT_BONEXTENSION( SF_BON::Folder, "Folder" );
- IMPLEMENT_ABSTRACT_BONEXTENSION( SF_BON::ParameterBase );
- IMPLEMENT_ABSTRACT_BONEXTENSION( SF_BON::Signal );
- IMPLEMENT_BONEXTENSION( SF_BON::Param, "Param" );
- IMPLEMENT_BONEXTENSION( SF_BON::InputParam, "InputParam" );
- IMPLEMENT_BONEXTENSION( SF_BON::OutputParam, "OutputParam" );
- IMPLEMENT_BONEXTENSION( SF_BON::OutputSignal, "OutputSignal" );
- IMPLEMENT_BONEXTENSION( SF_BON::InputSignal, "InputSignal" );
- IMPLEMENT_BONEXTENSION( SF_BON::DataflowConn, "DataflowConn" );
- IMPLEMENT_BONEXTENSION( SF_BON::ParameterConn, "ParameterConn" );
IMPLEMENT_ABSTRACT_BONEXTENSION( SF_BON::Processing );
IMPLEMENT_BONEXTENSION( SF_BON::Compound, "Compound" );
IMPLEMENT_BONEXTENSION( SF_BON::Primitive, "Primitive" );
--- 6,16 ----
{
IMPLEMENT_ABSTRACT_BONEXTENSION( SF_BON::Processing );
IMPLEMENT_BONEXTENSION( SF_BON::Compound, "Compound" );
IMPLEMENT_BONEXTENSION( SF_BON::Primitive, "Primitive" );
+ IMPLEMENT_BONEXTENSION( SF_BON::ParameterBase, " OutputParam" );
+ IMPLEMENT_BONEXTENSION( SF_BON::InputParam, "InputParam" );
+ IMPLEMENT_BONEXTENSION( SF_BON::Param, "Param" );
+ IMPLEMENT_BONEXTENSION( SF_BON::Signal, " InputSignal OutputSignal" );
***************
*** 26,249 ****
{
//*******************************************************************
! // // getter for kind "Processing" and its desc's
! //*******************************************************************
! std::set<Processing> FolderImpl::getProcessing()
! {
! std::set<Processing> res;
! const int len = 2;
! std::set<BON::Object> l[ len];
! l[0] = getChildObjects("Compound");
! l[1] = getChildObjects("Primitive");
! for( int j = 0; j < len; ++j)
! for( std::set<BON::Object>::iterator i = l[j].begin(); i != l[j].end(); ++i)
! {
! Processing elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
! }
!
!
! //*******************************************************************
! // // getter for kind "Compound"
//*******************************************************************
! std::set<Compound> FolderImpl::getCompound()
{
! std::set<Compound> res;
! std::set<BON::Object> l = getChildObjects("Compound");
! for( std::set<BON::Object>::iterator i = l.begin(); i != l.end(); ++i)
! {
! Compound elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
}
//*******************************************************************
! // // getter for kind "Primitive"
//*******************************************************************
! std::set<Primitive> FolderImpl::getPrimitive()
{
! std::set<Primitive> res;
! std::set<BON::Object> l = getChildObjects("Primitive");
! for( std::set<BON::Object>::iterator i = l.begin(); i != l.end(); ++i)
! {
! Primitive elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
}
//*******************************************************************
! // // getter for kind "Folder"
//*******************************************************************
! std::set<Folder> FolderImpl::getFolder()
{
! std::set<Folder> res;
! std::set<BON::Folder> l = getChildFolders();
! for( std::set<BON::Folder>::iterator i = l.begin(); i != l.end(); ++i)
! {
! Folder elem(*i);
! if (elem)
! res.insert(elem);
! }
! return res;
}
//*******************************************************************
! //
//*******************************************************************
! std::set<ParameterConn> ParameterBaseImpl::getInParameterConnLinks()
{
! std::set<ParameterConn> result;
! std::set<BON::Connection> conns = ConnectionEndImpl::getInConnLinks();
! std::set<BON::Connection>::iterator it = conns.begin();
! for( ; it != conns.end(); ++it)
! {
! ParameterConn c( *it);
! if (c)
! result.insert( c);
! }
! return result;
}
//*******************************************************************
! //
//*******************************************************************
! std::set<ParameterConn> ParameterBaseImpl::getOutParameterConnLinks()
{
! std::set<ParameterConn> result;
! std::set<BON::Connection> conns = ConnectionEndImpl::getOutConnLinks();
! std::set<BON::Connection>::iterator it = conns.begin();
! for( ; it != conns.end(); ++it)
! {
! ParameterConn c( *it);
! if (c)
! result.insert( c);
! }
! return result;
}
//*******************************************************************
! //
//*******************************************************************
! std::set<ParameterConn> ParameterBaseImpl::getParameterConnLinks()
{
! std::set<ParameterConn> result;
! std::set<BON::Connection> conns = ConnectionEndImpl::getConnLinks();
! std::set<BON::Connection>::iterator it = conns.begin();
! for( ; it != conns.end(); ++it)
! {
! ParameterConn c( *it);
! if (c)
! result.insert( c);
! }
! return result;
}
//*******************************************************************
! // returns dst ParameterBases
//*******************************************************************
! std::multiset<ParameterBase> ParameterBaseImpl::getParameterConnDsts()
{
! std::multiset<ParameterBase> res;
! {
! std::multiset<BON::ConnectionEnd> out_ends = getOutConnEnds("ParameterConn");
! for ( std::multiset<BON::ConnectionEnd>::iterator cit = out_ends.begin() ; cit != out_ends.end() ; ++cit )
! {
! ParameterBase dst( *cit );
! ASSERT(dst);
! res.insert( dst);
! }
! }
! return res;
}
//*******************************************************************
! // returns src ParameterBases
//*******************************************************************
! std::multiset<ParameterBase> ParameterBaseImpl::getParameterConnSrcs()
{
! std::multiset<ParameterBase> res;
! {
! std::multiset<BON::ConnectionEnd> in_ends = getInConnEnds("ParameterConn");
! for ( std::multiset<BON::ConnectionEnd>::iterator cit = in_ends.begin() ; cit != in_ends.end() ; ++cit )
! {
! ParameterBase dst( *cit );
! ASSERT(dst);
! res.insert( dst);
! }
! }
! return res;
}
//*******************************************************************
! //
//*******************************************************************
! long ParameterBaseImpl::getSize()
{
! return getAttribute("Size")->getIntegerValue();
}
//*******************************************************************
! //
//*******************************************************************
! ParameterBaseImpl::DataType_Type ParameterBaseImpl::getDataType()
{
! std::string val = getAttribute("DataType")->getStringValue();
!
! if ( val == "Integer") return Integer_DataType_Type;
! else if ( val == "Double") return Double_DataType_Type;
! else if ( val == "Character") return Character_DataType_Type;
! else if ( val == "Pointer") return Pointer_DataType_Type;
! else throw("None of the possible items");
}
//*******************************************************************
! //
//*******************************************************************
! std::set<DataflowConn> SignalImpl::getInDataflowConnLinks()
{
! std::set<DataflowConn> result;
! std::set<BON::Connection> conns = ConnectionEndImpl::getInConnLinks();
! std::set<BON::Connection>::iterator it = conns.begin();
! for( ; it != conns.end(); ++it)
! {
! DataflowConn c( *it);
! if (c)
! result.insert( c);
! }
! return result;
}
//*******************************************************************
! //
//*******************************************************************
! std::set<DataflowConn> SignalImpl::getOutDataflowConnLinks()
{
! std::set<DataflowConn> result;
! std::set<BON::Connection> conns = ConnectionEndImpl::getOutConnLinks();
! std::set<BON::Connection>::iterator it = conns.begin();
! for( ; it != conns.end(); ++it)
! {
! DataflowConn c( *it);
! if (c)
! result.insert( c);
! }
! return result;
}
--- 20,236 ----
{
//*******************************************************************
! // getter for role "InputParameters" among "ParameterBase"s and its descendants
//*******************************************************************
! std::set<InputParam> ProcessingImpl::getInputParameters()
{
! std::set<InputParam> res;
! std::set<BON::FCO> roles = getChildFCOsAs("InputParameters");
! for( std::set<BON::FCO>::iterator i = roles.begin(); i != roles.end(); ++i)
! {
! InputParam elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
}
//*******************************************************************
! // getter for role "InputSignals" among "Signal"s and its descendants
//*******************************************************************
! std::set<Signal> ProcessingImpl::getInputSignals()
{
! std::set<Signal> res;
! std::set<BON::FCO> roles = getChildFCOsAs("InputSignals");
! for( std::set<BON::FCO>::iterator i = roles.begin(); i != roles.end(); ++i)
! {
! Signal elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
}
//*******************************************************************
! // getter for role "OutputParameters" among "ParameterBase"s and its descendants
//*******************************************************************
! std::set<ParameterBase> ProcessingImpl::getOutputParameters()
{
! std::set<ParameterBase> res;
! std::set<BON::FCO> roles = getChildFCOsAs("OutputParameters");
! for( std::set<BON::FCO>::iterator i = roles.begin(); i != roles.end(); ++i)
! {
! ParameterBase elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
}
//*******************************************************************
! // getter for role "OutputSignals" among "Signal"s and its descendants
//*******************************************************************
! std::set<Signal> ProcessingImpl::getOutputSignals()
{
! std::set<Signal> res;
! std::set<BON::FCO> roles = getChildFCOsAs("OutputSignals");
! for( std::set<BON::FCO>::iterator i = roles.begin(); i != roles.end(); ++i)
! {
! Signal elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
}
//*******************************************************************
! // getter for role "PC" among "ParameterConn"s
//*******************************************************************
! std::set<BON::Connection> ProcessingImpl::getPC()
{
! std::set<BON::Connection> res;
! std::set<BON::FCO> roles = getChildFCOsAs("PC");
! for( std::set<BON::FCO>::iterator i = roles.begin(); i != roles.end(); ++i)
! {
! BON::Connection elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
}
//*******************************************************************
! // getter for role "Parameters" among "ParameterBase"s and its descendants
//*******************************************************************
! std::set<Param> ProcessingImpl::getParameters()
{
! std::set<Param> res;
! std::set<BON::FCO> roles = getChildFCOsAs("Parameters");
! for( std::set<BON::FCO>::iterator i = roles.begin(); i != roles.end(); ++i)
! {
! Param elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
}
//*******************************************************************
! // aggregated getter for role "eters" among "ParameterBase"s and its descendants
//*******************************************************************
! std::set<ParameterBase> ProcessingImpl::geteters()
{
! std::set<ParameterBase> res;
! const int len = 3;
! std::set<BON::FCO> roles_vec[ len];
! roles_vec[0] = getChildFCOsAs("InputParameters");
! roles_vec[1] = getChildFCOsAs("OutputParameters");
! roles_vec[2] = getChildFCOsAs("Parameters");
! for( int k = 0; k < len; ++k)
! for( std::set<BON::FCO>::iterator i = roles_vec[k].begin(); i != roles_vec[k].end(); ++i)
! {
! ParameterBase elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
}
//*******************************************************************
! // aggregated getter for role "s" among "Signal"s and its descendants
//*******************************************************************
! std::set<Signal> ProcessingImpl::gets()
{
! std::set<Signal> res;
! const int len = 2;
! std::set<BON::FCO> roles_vec[ len];
! roles_vec[0] = getChildFCOsAs("InputSignals");
! roles_vec[1] = getChildFCOsAs("OutputSignals");
! for( int k = 0; k < len; ++k)
! for( std::set<BON::FCO>::iterator i = roles_vec[k].begin(); i != roles_vec[k].end(); ++i)
! {
! Signal elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
}
//*******************************************************************
! // getter for role "CompoundParts" among "Processing"s and its descendants
//*******************************************************************
! std::set<Compound> CompoundImpl::getCompoundParts()
{
! std::set<Compound> res;
! std::set<BON::FCO> roles = getChildFCOsAs("CompoundParts");
! for( std::set<BON::FCO>::iterator i = roles.begin(); i != roles.end(); ++i)
! {
! Compound elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
}
//*******************************************************************
! // getter for role "DFC" among "DataflowConn"s
//*******************************************************************
! std::set<BON::Connection> CompoundImpl::getDFC()
{
! std::set<BON::Connection> res;
! std::set<BON::FCO> roles = getChildFCOsAs("DFC");
! for( std::set<BON::FCO>::iterator i = roles.begin(); i != roles.end(); ++i)
! {
! BON::Connection elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
}
//*******************************************************************
! // aggregated getter for role "Parts" among "Processing"s and its descendants
//*******************************************************************
! std::set<Processing> CompoundImpl::getParts()
{
! std::set<Processing> res;
! const int len = 2;
! std::set<BON::FCO> roles_vec[ len];
! roles_vec[0] = getChildFCOsAs("CompoundParts");
! roles_vec[1] = getChildFCOsAs("PrimitiveParts");
! for( int k = 0; k < len; ++k)
! for( std::set<BON::FCO>::iterator i = roles_vec[k].begin(); i != roles_vec[k].end(); ++i)
! {
! Processing elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
}
//*******************************************************************
! // getter for role "PrimitiveParts" among "Processing"s and its descendants
//*******************************************************************
! std::set<Primitive> CompoundImpl::getPrimitiveParts()
{
! std::set<Primitive> res;
! std::set<BON::FCO> roles = getChildFCOsAs("PrimitiveParts");
! for( std::set<BON::FCO>::iterator i = roles.begin(); i != roles.end(); ++i)
! {
! Primitive elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
}
***************
*** 252,305 ****
//
//*******************************************************************
! std::set<DataflowConn> SignalImpl::getDataflowConnLinks()
! {
! std::set<DataflowConn> result;
! std::set<BON::Connection> conns = ConnectionEndImpl::getConnLinks();
! std::set<BON::Connection>::iterator it = conns.begin();
! for( ; it != conns.end(); ++it)
! {
! DataflowConn c( *it);
! if (c)
! result.insert( c);
! }
! return result;
! }
!
!
! //*******************************************************************
! // returns dst Signals
! //*******************************************************************
! std::multiset<Signal> SignalImpl::getDataflowConnDsts()
{
! std::multiset<Signal> res;
! {
! std::multiset<BON::ConnectionEnd> out_ends = getOutConnEnds("DataflowConn");
! for ( std::multiset<BON::ConnectionEnd>::iterator cit = out_ends.begin() ; cit != out_ends.end() ; ++cit )
! {
! Signal dst( *cit );
! ASSERT(dst);
! res.insert( dst);
! }
! }
! return res;
! }
!
! //*******************************************************************
! // returns src Signals
! //*******************************************************************
! std::multiset<Signal> SignalImpl::getDataflowConnSrcs()
! {
! std::multiset<Signal> res;
! {
! std::multiset<BON::ConnectionEnd> in_ends = getInConnEnds("DataflowConn");
! for ( std::multiset<BON::ConnectionEnd>::iterator cit = in_ends.begin() ; cit != in_ends.end() ; ++cit )
! {
! Signal dst( *cit );
! ASSERT(dst);
! res.insert( dst);
! }
! }
! return res;
}
--- 239,249 ----
//
//*******************************************************************
! PrimitiveImpl::Firing_Type PrimitiveImpl::getFiring()
{
! std::string val = FCOImpl::getAttribute("Firing")->getStringValue();
! if ( val == "IFALL") return IFALL_Firing_Type;
! else if ( val == "IFANY") return IFANY_Firing_Type;
! else throw("None of the possible items");
}
***************
*** 308,314 ****
//
//*******************************************************************
! bool ParamImpl::isGlobal()
{
! return getAttribute("Global")->getBooleanValue();
}
--- 252,258 ----
//
//*******************************************************************
! long PrimitiveImpl::getPriority()
{
! return FCOImpl::getAttribute("Priority")->getIntegerValue();
}
***************
*** 317,600 ****
//
//*******************************************************************
! std::string ParamImpl::getInitValue()
! {
! return getAttribute("InitValue")->getStringValue();
! }
!
!
! //*******************************************************************
! // getSrc() return value is a ConnectionEnd casted to Signal
! //*******************************************************************
! Signal DataflowConnImpl::getSrc()
! {
! BON::ConnectionEnd ce = ConnectionImpl::getSrc();
! Signal sp( ce);
! if ( sp)
! return sp;
!
! Signal empty;
! return empty;
! }
!
!
! //*******************************************************************
! // getDst() return value is a ConnectionEnd casted to Signal
! //*******************************************************************
! Signal DataflowConnImpl::getDst()
! {
! BON::ConnectionEnd ce = ConnectionImpl::getDst();
! Signal sp( ce);
! if ( sp)
! return sp;
!
! Signal empty;
! return empty;
! }
!
!
! //*******************************************************************
! // getSrc() return value is a ConnectionEnd casted to ParameterBase
! //*******************************************************************
! ParameterBase ParameterConnImpl::getSrc()
! {
! BON::ConnectionEnd ce = ConnectionImpl::getSrc();
! ParameterBase sp( ce);
! if ( sp)
! return sp;
!
! ParameterBase empty;
! return empty;
! }
!
!
! //*******************************************************************
! // getDst() return value is a ConnectionEnd casted to ParameterBase
! //*******************************************************************
! ParameterBase ParameterConnImpl::getDst()
! {
! BON::ConnectionEnd ce = ConnectionImpl::getDst();
! ParameterBase sp( ce);
! if ( sp)
! return sp;
!
! ParameterBase empty;
! return empty;
! }
!
!
! //*******************************************************************
! // getter for role "s" among Signal and its desc's
! //*******************************************************************
! std::set<Signal> ProcessingImpl::gets()
! {
! std::set<Signal> res;
! const int len = 2;
! std::set<BON::FCO> l[ len];
! l[0] = getChildFCOsAs("OutputSignals");
! l[1] = getChildFCOsAs("InputSignals");
! for( int j = 0; j < len; ++j)
! for( std::set<BON::FCO>::iterator i = l[j].begin(); i != l[j].end(); ++i)
! {
! Signal elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
! }
!
!
! //*******************************************************************
! // getter for role "OutputSignals" among Signal and its desc's
! //*******************************************************************
! std::set<OutputSignal> ProcessingImpl::getOutputSignals()
! {
! std::set<OutputSignal> res;
! std::set<BON::FCO> l = getChildFCOsAs("OutputSignals");
! for( std::set<BON::FCO>::iterator i = l.begin(); i != l.end(); ++i)
! {
! OutputSignal elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
! }
!
!
! //*******************************************************************
! // getter for role "InputSignals" among Signal and its desc's
! //*******************************************************************
! std::set<InputSignal> ProcessingImpl::getInputSignals()
! {
! std::set<InputSignal> res;
! std::set<BON::FCO> l = getChildFCOsAs("InputSignals");
! for( std::set<BON::FCO>::iterator i = l.begin(); i != l.end(); ++i)
! {
! InputSignal elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
! }
!
!
! //*******************************************************************
! // getter for role "PC" among ParameterConn
! //*******************************************************************
! std::set<ParameterConn> ProcessingImpl::getPC()
! {
! std::set<ParameterConn> res;
! std::set<BON::FCO> l = getChildFCOsAs("PC");
! for( std::set<BON::FCO>::iterator i = l.begin(); i != l.end(); ++i)
! {
! ParameterConn elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
! }
!
!
! //*******************************************************************
! // getter for role "eters" among ParameterBase and its desc's
! //*******************************************************************
! std::set<ParameterBase> ProcessingImpl::geteters()
! {
! std::set<ParameterBase> res;
! const int len = 3;
! std::set<BON::FCO> l[ len];
! l[0] = getChildFCOsAs("Parameters");
! l[1] = getChildFCOsAs("InputParameters");
! l[2] = getChildFCOsAs("OutputParameters");
! for( int j = 0; j < len; ++j)
! for( std::set<BON::FCO>::iterator i = l[j].begin(); i != l[j].end(); ++i)
! {
! ParameterBase elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
! }
!
!
! //*******************************************************************
! // getter for role "Parameters" among ParameterBase and its desc's
! //*******************************************************************
! std::set<Param> ProcessingImpl::getParameters()
! {
! std::set<Param> res;
! std::set<BON::FCO> l = getChildFCOsAs("Parameters");
! for( std::set<BON::FCO>::iterator i = l.begin(); i != l.end(); ++i)
! {
! Param elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
! }
!
!
! //*******************************************************************
! // getter for role "InputParameters" among ParameterBase and its desc's
! //*******************************************************************
! std::set<InputParam> ProcessingImpl::getInputParameters()
! {
! std::set<InputParam> res;
! std::set<BON::FCO> l = getChildFCOsAs("InputParameters");
! for( std::set<BON::FCO>::iterator i = l.begin(); i != l.end(); ++i)
! {
! InputParam elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
! }
!
!
! //*******************************************************************
! // getter for role "OutputParameters" among ParameterBase and its desc's
! //*******************************************************************
! std::set<OutputParam> ProcessingImpl::getOutputParameters()
! {
! std::set<OutputParam> res;
! std::set<BON::FCO> l = getChildFCOsAs("OutputParameters");
! for( std::set<BON::FCO>::iterator i = l.begin(); i != l.end(); ++i)
! {
! OutputParam elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
! }
!
!
! //*******************************************************************
! // getter for role "DFC" among DataflowConn
! //*******************************************************************
! std::set<DataflowConn> CompoundImpl::getDFC()
! {
! std::set<DataflowConn> res;
! std::set<BON::FCO> l = getChildFCOsAs("DFC");
! for( std::set<BON::FCO>::iterator i = l.begin(); i != l.end(); ++i)
! {
! DataflowConn elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
! }
!
!
! //*******************************************************************
! // getter for role "Parts" among Processing and its desc's
! //*******************************************************************
! std::set<Processing> CompoundImpl::getParts()
{
! std::set<Processing> res;
! const int len = 2;
! std::set<BON::FCO> l[ len];
! l[0] = getChildFCOsAs("CompoundParts");
! l[1] = getChildFCOsAs("PrimitiveParts");
! for( int j = 0; j < len; ++j)
! for( std::set<BON::FCO>::iterator i = l[j].begin(); i != l[j].end(); ++i)
! {
! Processing elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
}
//*******************************************************************
! // getter for role "CompoundParts" among Processing and its desc's
//*******************************************************************
! std::set<Compound> CompoundImpl::getCompoundParts()
{
! std::set<Compound> res;
! std::set<BON::FCO> l = getChildFCOsAs("CompoundParts");
! for( std::set<BON::FCO>::iterator i = l.begin(); i != l.end(); ++i)
! {
! Compound elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
! }
!
! //*******************************************************************
! // getter for role "PrimitiveParts" among Processing and its desc's
! //*******************************************************************
! std::set<Primitive> CompoundImpl::getPrimitiveParts()
! {
! std::set<Primitive> res;
! std::set<BON::FCO> l = getChildFCOsAs("PrimitiveParts");
! for( std::set<BON::FCO>::iterator i = l.begin(); i != l.end(); ++i)
! {
! Primitive elem(*i);
! ASSERT(elem);
! res.insert(elem);
! }
! return res;
}
--- 261,282 ----
//
//*******************************************************************
! std::string PrimitiveImpl::getScript()
{
! return FCOImpl::getAttribute("Script")->getStringValue();
}
//*******************************************************************
! //
//*******************************************************************
! ParameterBaseImpl::DataType_Type ParameterBaseImpl::getDataType()
{
! std::string val = FCOImpl::getAttribute("DataType")->getStringValue();
! if ( val == "Integer") return Integer_DataType_Type;
! else if ( val == "Double") return Double_DataType_Type;
! else if ( val == "Character") return Character_DataType_Type;
! else if ( val == "Pointer") return Pointer_DataType_Type;
! else throw("None of the possible items");
}
***************
*** 603,609 ****
//
//*******************************************************************
! std::string PrimitiveImpl::getScript()
{
! return getAttribute("Script")->getStringValue();
}
--- 285,291 ----
//
//*******************************************************************
! long ParameterBaseImpl::getSize()
{
! return FCOImpl::getAttribute("Size")->getIntegerValue();
}
***************
*** 612,622 ****
//
//*******************************************************************
! PrimitiveImpl::Firing_Type PrimitiveImpl::getFiring()
{
! std::string val = getAttribute("Firing")->getStringValue();
!
! if ( val == "IFALL") return IFALL_Firing_Type;
! else if ( val == "IFANY") return IFANY_Firing_Type;
! else throw("None of the possible items");
}
--- 294,300 ----
//
//*******************************************************************
! std::string ParamImpl::getInitValue()
{
! return FCOImpl::getAttribute("InitValue")->getStringValue();
}
***************
*** 625,631 ****
//
//*******************************************************************
! long PrimitiveImpl::getPriority()
{
! return getAttribute("Priority")->getIntegerValue();
}
--- 303,309 ----
//
//*******************************************************************
! bool ParamImpl::isGlobal()
{
! return FCOImpl::getAttribute("Global")->getBooleanValue();
}
Index: SFBonExtension.h
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/SF/BON2Interpreter/SFBonExtension.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** SFBonExtension.h 3 Feb 2004 09:35:08 -0000 1.1
--- SFBonExtension.h 16 Mar 2004 23:48:39 -0000 1.2
***************
*** 7,35 ****
///BUP
! // add your include files here
///EUP
namespace SF_BON
{
- class FolderImpl;
- DECLARE_BONEXTENSION( BON::Folder, FolderImpl, Folder );
- class ParameterBaseImpl;
- DECLARE_ABSTRACT_BONEXTENSION( BON::Atom, ParameterBaseImpl, ParameterBase );
- class SignalImpl;
- DECLARE_ABSTRACT_BONEXTENSION( BON::Atom, SignalImpl, Signal );
- class ParamImpl;
- DECLARE_BONEXTENSION( ParameterBase, ParamImpl, Param );
- class InputParamImpl;
- DECLARE_BONEXTENSION( ParameterBase, InputParamImpl, InputParam );
- class OutputParamImpl;
- DECLARE_BONEXTENSION( ParameterBase, OutputParamImpl, OutputParam );
- class OutputSignalImpl;
- DECLARE_BONEXTENSION( Signal, OutputSignalImpl, OutputSignal );
- class InputSignalImpl;
- DECLARE_BONEXTENSION( Signal, InputSignalImpl, InputSignal );
- class DataflowConnImpl;
- DECLARE_BONEXTENSION( BON::Connection, DataflowConnImpl, DataflowConn );
- class ParameterConnImpl;
- DECLARE_BONEXTENSION( BON::Connection, ParameterConnImpl, ParameterConn );
class ProcessingImpl;
DECLARE_ABSTRACT_BONEXTENSION( BON::Model, ProcessingImpl, Processing );
--- 7,15 ----
///BUP
! // add your class definitions here
///EUP
namespace SF_BON
{
class ProcessingImpl;
DECLARE_ABSTRACT_BONEXTENSION( BON::Model, ProcessingImpl, Processing );
***************
*** 38,175 ****
class PrimitiveImpl;
DECLARE_BONEXTENSION( Processing, PrimitiveImpl, Primitive );
!
typedef std::map<std::string, Primitive> PrimitiveTable;
//*******************************************************************
! // FolderImpl class
//*******************************************************************
! class FolderImpl :
! public /*Ex*/ BON::FolderImpl
{
public:
! //
! // kind and subfolder getters
! virtual std::set<Processing> getProcessing();
! virtual std::set<Compound> getCompound();
! virtual std::set<Primitive> getPrimitive();
! virtual std::set<Folder> getFolder();
!
! ///BUP
! ///EUP
};
//*******************************************************************
! // ParameterBaseImpl abstract class
//*******************************************************************
! class ParameterBaseImpl :
! virtual public /*Ex*/ BON::AtomImpl
{
public:
! virtual bool isAbstract() { return true; } // it is an abstract class, it will no be instantiated
! typedef enum
! {
! Integer_DataType_Type,
! Double_DataType_Type,
! Character_DataType_Type,
! Pointer_DataType_Type
! } DataType_Type;
! //
! // connectionEnd getters
! virtual std::set<ParameterConn> getInParameterConnLinks();
! virtual std::set<ParameterConn> getOutParameterConnLinks();
! virtual std::set<ParameterConn> getParameterConnLinks();
! virtual std::multiset<ParameterBase> getParameterConnDsts();
! virtual std::multiset<ParameterBase> getParameterConnSrcs();
! //
! // attribute getters
! virtual long getSize();
! virtual ParameterBaseImpl::DataType_Type getDataType();
! ///BUP
public :
! int size;
! virtual void initialize();
! ///EUP
};
//*******************************************************************
! // SignalImpl abstract class
//*******************************************************************
! class SignalImpl :
! virtual public /*Ex*/ BON::AtomImpl
{
public:
! virtual bool isAbstract() { return true; } // it is an abstract class, it will no be instantiated
! //
! // connectionEnd getters
! virtual std::set<DataflowConn> getInDataflowConnLinks();
! virtual std::set<DataflowConn> getOutDataflowConnLinks();
! virtual std::set<DataflowConn> getDataflowConnLinks();
! virtual std::multiset<Signal> getDataflowConnDsts();
! virtual std::multiset<Signal> getDataflowConnSrcs();
! ///BUP
! friend class PrimitiveImpl;
public :
! virtual void initialize() { port = 0; }
! protected:
! std::set<Signal> connections;
! int yloc;
! int port;
! public:
! void addConnection(Signal signal) { connections.insert(signal); }
! void incrementPort() { port++; }
! void setLocation();
! ///EUP
};
//*******************************************************************
! // ParamImpl class
//*******************************************************************
! class ParamImpl :
! public /*RG*/ ParameterBaseImpl
{
public:
! virtual bool isAbstract() { return false; } // it is not an abstract class
! //
! // attribute getters
! virtual bool isGlobal();
! virtual std::string getInitValue();
!
! ///BUP
! friend class PrimitiveImpl;
! public :
! std::string longName;
! bool listed;
! static std::set<Param> instances;
public :
! void addToList();
! void writeContextDef(FILE *fpt,const std::string &fieldName);
! void writeGlobal(FILE *fpt,bool ext = true);
! void writeContextInit(FILE *fpt,std::string &actorName,const std::string &fieldName);
!
virtual void initialize();
!
! static void writeGlobals(FILE *fpt,bool ext = true);
! ///EUP
};
//*******************************************************************
! // InputParamImpl class
//*******************************************************************
class InputParamImpl :
! public /*RG*/ ParameterBaseImpl
{
public:
- virtual bool isAbstract() { return false; } // it is not an abstract class
! ///BUP
friend class PrimitiveImpl;
--- 18,166 ----
class PrimitiveImpl;
DECLARE_BONEXTENSION( Processing, PrimitiveImpl, Primitive );
! class ParameterBaseImpl;
! DECLARE_BONEXTENSION( BON::Atom, ParameterBaseImpl, ParameterBase );
! class InputParamImpl;
! DECLARE_BONEXTENSION( ParameterBase, InputParamImpl, InputParam );
! class ParamImpl;
! DECLARE_BONEXTENSION( ParameterBase, ParamImpl, Param );
! class SignalImpl;
! DECLARE_BONEXTENSION( BON::Atom, SignalImpl, Signal );
typedef std::map<std::string, Primitive> PrimitiveTable;
//*******************************************************************
! // C L A S S ProcessingImpl
//*******************************************************************
! class ProcessingImpl :
! virtual public BON::ModelImpl
{
public:
! //
! // kind and role getters
! virtual std::set<InputParam> getInputParameters();
! virtual std::set<Signal> getInputSignals();
! virtual std::set<ParameterBase> getOutputParameters();
! virtual std::set<Signal> getOutputSignals();
! virtual std::set<BON::Connection> getPC();
! virtual std::set<Param> getParameters();
! virtual std::set<ParameterBase> geteters();
! virtual std::set<Signal> gets();
! ///BUP
! public :
! void initialize() {}
! virtual void traverse(std::set<Primitive> &primitives) {}
! ///EUP
};
//*******************************************************************
! // C L A S S CompoundImpl
//*******************************************************************
! class CompoundImpl :
! public ProcessingImpl
{
public:
! //
! // kind and role getters
! virtual std::set<Compound> getCompoundParts();
! virtual std::set<BON::Connection> getDFC();
! virtual std::set<Processing> getParts();
! virtual std::set<Primitive> getPrimitiveParts();
! ///BUP
public :
! void initialize();
! virtual void traverse(std::set<Primitive> &primitives);
! ///EUP
};
//*******************************************************************
! // C L A S S PrimitiveImpl
//*******************************************************************
! class PrimitiveImpl :
! public ProcessingImpl
{
public:
! typedef enum
! {
! IFALL_Firing_Type,
! IFANY_Firing_Type
! } Firing_Type;
! //
! // attribute getters
! virtual PrimitiveImpl::Firing_Type getFiring();
! virtual long getPriority();
! virtual std::string getScript();
! ///BUP
!
! private :
! int id;
! int outputPortNo;
! int inputPortNo;
! std::string actorName;
!
! std::set<Param> parameters;
! std::set<InputParam> inputParameters;
! static PrimitiveTable contextTable;
public :
! void initialize();
! void setActorName();
! std::string getActorName() { return actorName; }
! void setPorts(const std::set<BON::FCO> &ports);
! void writeActorCreate(FILE *fpt);
! void writeActorConnect(FILE *fpt);
! void writeContextDef(FILE *fpt);
! void writeContextCreate(FILE *fpt,bool ext = true);
! void writeSetContext(FILE *fpt);
!
! static void writeContextDefs(FILE *fpt);
! static void writeScriptRegs(FILE *fpt);
! static void writeScriptProto(FILE *fpt);
!
! virtual void traverse(std::set<Primitive> &primitives);
!
! ///EUP
};
//*******************************************************************
! // C L A S S ParameterBaseImpl
//*******************************************************************
! class ParameterBaseImpl :
! virtual public BON::AtomImpl
{
public:
! typedef enum
! {
! Integer_DataType_Type,
! Double_DataType_Type,
! Character_DataType_Type,
! Pointer_DataType_Type
! } DataType_Type;
! //
! // attribute getters
! virtual ParameterBaseImpl::DataType_Type getDataType();
! virtual long getSize();
+ ///BUP
public :
! int size;
virtual void initialize();
! ///EUP
};
//*******************************************************************
! // C L A S S InputParamImpl
//*******************************************************************
class InputParamImpl :
! public ParameterBaseImpl
{
public:
! ///BUP
friend class PrimitiveImpl;
***************
*** 178,362 ****
public :
virtual void initialize();
! ///EUP
! };
!
!
! //*******************************************************************
! // OutputParamImpl class
! //*******************************************************************
! class OutputParamImpl :
! public /*RG*/ ParameterBaseImpl
! {
! public:
! virtual bool isAbstract() { return false; } // it is not an abstract class
!
! ///BUP
!
! ///EUP
! };
!
!
! //*******************************************************************
! // OutputSignalImpl class
! //*******************************************************************
! class OutputSignalImpl :
! public /*RG*/ SignalImpl
! {
! public:
! virtual bool isAbstract() { return false; } // it is not an abstract class
!
! ///BUP
! ///EUP
! };
!
!
! //*******************************************************************
! // InputSignalImpl class
! //*******************************************************************
! class InputSignalImpl :
! public /*RG*/ SignalImpl
! {
! public:
! virtual bool isAbstract() { return false; } // it is not an abstract class
!
! ///BUP
! ///EUP
! };
!
!
! //*******************************************************************
! // DataflowConnImpl class
! //*******************************************************************
! class DataflowConnImpl :
! virtual public /*Ex*/ BON::ConnectionImpl
! {
! public:
! virtual bool isAbstract() { return false; } // it is not an abstract class
! //
! // connectionEnd getters
! virtual Signal getSrc();
! virtual Signal getDst();
!
! ///BUP
! ///EUP
! };
!
!
! //*******************************************************************
! // ParameterConnImpl class
! //*******************************************************************
! class ParameterConnImpl :
! virtual public /*Ex*/ BON::ConnectionImpl
! {
! public:
! virtual bool isAbstract() { return false; } // it is not an abstract class
! //
! // connectionEnd getters
! virtual ParameterBase getSrc();
! virtual ParameterBase getDst();
!
! ///BUP
! ///EUP
};
//*******************************************************************
! // ProcessingImpl abstract class
//*******************************************************************
! class ProcessingImpl :
! virtual public /*Ex*/ BON::ModelImpl
{
public:
! virtual bool isAbstract() { return true; } // it is an abstract class, it will no be instantiated
! //
! // kind and role getters
! virtual std::set<Signal> gets();
! virtual std::set<OutputSignal> getOutputSignals();
! virtual std::set<InputSignal> getInputSignals();
! virtual std::set<ParameterConn> getPC();
! virtual std::set<ParameterBase> geteters();
! virtual std::set<Param> getParameters();
! virtual std::set<InputParam> getInputParameters();
! virtual std::set<OutputParam> getOutputParameters();
! ///BUP
public :
! void initialize() {}
! virtual void traverse(std::set<Primitive> &primitives) {}
! ///EUP
! };
! //*******************************************************************
! // CompoundImpl class
! //*******************************************************************
! class CompoundImpl :
! public /*RG*/ ProcessingImpl
! {
! public:
! virtual bool isAbstract() { return false; } // it is not an abstract class
! //
! // kind and role getters
! virtual std::set<DataflowConn> getDFC();
! virtual std::set<Processing> getParts();
! virtual std::set<Compound> getCompoundParts();
! virtual std::set<Primitive> getPrimitiveParts();
! ///BUP
! public :
! void initialize();
! virtual void traverse(std::set<Primitive> &primitives);
! ///EUP
};
//*******************************************************************
! // PrimitiveImpl class
//*******************************************************************
! class PrimitiveImpl :
! public /*RG*/ ProcessingImpl
{
public:
- virtual bool isAbstract() { return false; } // it is not an abstract class
- typedef enum
- {
- IFALL_Firing_Type,
- IFANY_Firing_Type
- } Firing_Type;
- //
- // attribute getters
- virtual std::string getScript();
- virtual PrimitiveImpl::Firing_Type getFiring();
- virtual long getPriority();
! ///BUP
!
! private :
! int id;
! int outputPortNo;
! int inputPortNo;
! std::string actorName;
!
! std::set<Param> parameters;
! std::set<InputParam> inputParameters;
! static PrimitiveTable contextTable;
public :
! void initialize();
! void setActorName();
! std::string getActorName() { return actorName; }
! void setPorts(const std::set<BON::FCO> &ports);
! void writeActorCreate(FILE *fpt);
! void writeActorConnect(FILE *fpt);
! void writeContextDef(FILE *fpt);
! void writeContextCreate(FILE *fpt,bool ext = true);
! void writeSetContext(FILE *fpt);
!
! static void writeContextDefs(FILE *fpt);
! static void writeScriptRegs(FILE *fpt);
! static void writeScriptProto(FILE *fpt);
!
! virtual void traverse(std::set<Primitive> &primitives);
!
! ///EUP
};
--- 169,229 ----
public :
virtual void initialize();
! ///EUP
};
//*******************************************************************
! // C L A S S ParamImpl
//*******************************************************************
! class ParamImpl :
! public ParameterBaseImpl
{
public:
! //
! // attribute getters
! virtual std::string getInitValue();
! virtual bool isGlobal();
! ///BUP
! friend class PrimitiveImpl;
public :
! std::string longName;
! bool listed;
! static std::set<Param> instances;
+ public :
+ void addToList();
+ void writeContextDef(FILE *fpt,const std::string &fieldName);
+ void writeGlobal(FILE *fpt,bool ext = true);
+ void writeContextInit(FILE *fpt,std::string &actorName,const std::string &fieldName);
! virtual void initialize();
! static void writeGlobals(FILE *fpt,bool ext = true);
! ///EUP
};
//*******************************************************************
! // C L A S S SignalImpl
//*******************************************************************
! class SignalImpl :
! virtual public BON::AtomImpl
{
public:
! ///BUP
! friend class PrimitiveImpl;
public :
! virtual void initialize() { port = 0; }
! protected:
! std::set<Signal> connections;
! int yloc;
! int port;
! public:
! void addConnection(Signal signal) { connections.insert(signal); }
! void incrementPort() { port++; }
! void setLocation();
! ///EUP
};
Index: SFBonUserExtension.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/SF/BON2Interpreter/SFBonUserExtension.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** SFBonUserExtension.cpp 3 Feb 2004 10:53:05 -0000 1.2
--- SFBonUserExtension.cpp 16 Mar 2004 23:48:39 -0000 1.3
***************
*** 165,171 ****
void PrimitiveImpl::writeActorConnect(FILE *fpt)
{
! std::set<OutputSignal> list = getOutputSignals();
outputPortNo = list.size();
! for ( std::set<OutputSignal>::iterator it = list.begin() ; it != list.end() ; it++ ) {
Signal signal( *it );
for ( std::set<Signal>::iterator sit = signal->connections.begin() ; sit != signal->connections.end() ; sit++ ) {
--- 165,171 ----
void PrimitiveImpl::writeActorConnect(FILE *fpt)
{
! std::set<Signal> list = getOutputSignals();
outputPortNo = list.size();
! for ( std::set<Signal>::iterator it = list.begin() ; it != list.end() ; it++ ) {
Signal signal( *it );
for ( std::set<Signal>::iterator sit = signal->connections.begin() ; sit != signal->connections.end() ; sit++ ) {
Index: SFInterpreterBON2Component.dsp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/SF/BON2Interpreter/SFInterpreterBON2Component.dsp,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** SFInterpreterBON2Component.dsp 3 Feb 2004 09:35:08 -0000 1.4
--- SFInterpreterBON2Component.dsp 16 Mar 2004 23:48:39 -0000 1.5
***************
*** 223,230 ****
# Begin Source File
- SOURCE=.\PrintDlg.cpp
- # End Source File
- # Begin Source File
-
SOURCE=.\SFBonExtension.cpp
# End Source File
--- 223,226 ----
***************
*** 306,309 ****
--- 302,309 ----
SOURCE=.\Resource.h
+ # End Source File
+ # Begin Source File
+
+ SOURCE=.\SFBonExtension.h
# End Source File
# Begin Source File
More information about the GME-commit
mailing list