20 for (
unsigned int i = 0; i <
numEntries; ++i )
22 Finfo* foo = entries[i];
28 dest_.push_back( entries[i] );
34 for( vector< SrcFinfo* >::iterator i =
37 for( vector< Finfo* >::iterator i =
43 const Eref& tgt,
const string& field,
const string& arg )
const
49 const Eref& tgt,
const string& field,
string& returnValue )
const
81 for (
unsigned int i = 0; i <
src_.size(); ++i ) {
85 for (
unsigned int i = 0; i < tgt->
src_.size(); ++i ) {
86 if ( !tgt->
src_[i]->checkTarget(
dest_[i] ) )
108 assert( m->
e1() == srcElm );
110 if ( srcElm == destElm && srcElm->
id() !=
Id() ) {
111 if (
dest_.size() > 0 ) {
112 cout <<
"Error: SharedFinfo::addMsg: MessageId " << mid <<
114 "Source Element == DestElement == " << srcElm->
getName() <<
115 endl <<
"Recommend that you individually set up messages for" <<
116 " the components of the SharedFinfo, to ensure that the " <<
117 "direction of messaging is consistent.\n";
123 for (
unsigned int i = 0; i <
src_.size(); ++i ) {
126 cerr <<
"Error:SharedFinfo::addMsg: Failed on MessageId " <<
127 mid <<
", unrecoverable\n";
133 for (
unsigned int i = 0; i < tgt->
src_.size(); ++i ) {
134 if ( !tgt->
src_[i]->addMsg(
dest_[i], mid, destElm ) ) {
136 cerr <<
"Error:SharedFinfo::addMsg: Failed on MessageId " <<
137 mid <<
", unrecoverable\n";
160 vector< string > ret;
161 for ( vector< SrcFinfo* >::const_iterator i =
src_.begin();
162 i !=
src_.end(); ++i )
163 ret.push_back( (*i)->name() );
169 vector< string > ret;
170 for ( vector< Finfo* >::const_iterator i =
dest_.begin();
171 i !=
dest_.end(); ++i )
172 ret.push_back( (*i)->name() );
string rttiType() const
This always returns void. We need to check the subsidiary Finfos.
const vector< Finfo * > & dest() const
bool addMsg(const Finfo *target, ObjId mid, Element *src) const
const vector< SrcFinfo * > & src() const
vector< string > innerDest() const
vector< string > innerSrc() const
void registerFinfo(Cinfo *c)
void registerFinfo(Finfo *f)
bool strSet(const Eref &tgt, const string &field, const string &arg) const
vector< SrcFinfo * > src_
SharedFinfo(const string &name, const string &doc, Finfo **entries, unsigned int numEntries)
bool checkTarget(const Finfo *target) const
static const Msg * getMsg(ObjId m)
bool strGet(const Eref &tgt, const string &field, string &returnValue) const
const string & getName() const