void Wire::SetValue(void* value, AgilartDataTypes valueType) { list<ConnectionPoint*>::iterator i; for ( i = this->connectionPoints->begin(); i != this->connectionPoints->end(); i++ ) { if ( ( *i )->Direction() == DIRECTION_OUT ) continue; AgilartDataTypes receiverType = (*i)->DataType(); InConnectionPoint* receiver = (InConnectionPoint *) ( *i ); if( receiverType == ANY ) { receiver->SetDataType( valueType ); receiver->SetValue( value ); } else { void* targetValue = Convert::ToTypeInstance( value, valueType, receiverType ); receiver->SetValue( targetValue ); } } }