Changeset 38:925ca77b7361 in finroc_plugins_composite_ports
- Timestamp:
- 09.01.2022 09:10:44 (2 years ago)
- Branch:
- default
- Phase:
- public
- Tags:
- tip
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tInterfaceBase.cpp
r36 r38 191 191 192 192 //! Connector with operations for custom connecting attached 193 const core::tConnectionFlags cRETAIN_FLAGS_FOR_CHILD_CONNECTIONS = core::tConnectionFlag::SCHEDULING_NEUTRAL | core::tConnectionFlag::DIRECTION_TO_SOURCE | core::tConnectionFlag::DIRECTION_TO_DESTINATION; 194 193 195 class tConversionConnector : public core::tConnector 194 196 { … … 202 204 tConnector(source_port, destination_port, connect_options, this->connect_options.conversion_operations), 203 205 connect_options(connect_options), 204 original_flags(connect_options.flags )206 original_flags(connect_options.flags.Raw() & cRETAIN_FLAGS_FOR_CHILD_CONNECTIONS.Raw()) 205 207 {} 206 208 207 const core::tConnectOptions& C onnectOptions() const209 const core::tConnectOptions& ChildConnectOptions() const 208 210 { 209 211 connect_options.flags = original_flags; … … 211 213 } 212 214 213 const core::tConnectOptions& ConnectOptions(const core::tConnectionFlag direction_flag) const 214 { 215 const core::tConnectOptions& ChildConnectOptions(const core::tConnectionFlag direction_flag) const 216 { 217 connect_options.flags = original_flags; 215 218 connect_options.flags.Set(core::tConnectionFlag::DIRECTION_TO_SOURCE, direction_flag == core::tConnectionFlag::DIRECTION_TO_SOURCE); 216 219 connect_options.flags.Set(core::tConnectionFlag::DIRECTION_TO_DESTINATION, direction_flag == core::tConnectionFlag::DIRECTION_TO_DESTINATION); … … 994 997 if (partner_is_destination) 995 998 { 996 primary_backend.custom_connect_function(*this, other, conversion_connector->C onnectOptions());999 primary_backend.custom_connect_function(*this, other, conversion_connector->ChildConnectOptions()); 997 1000 } 998 1001 else 999 1002 { 1000 primary_backend.custom_connect_function(other, *this, conversion_connector->C onnectOptions());1003 primary_backend.custom_connect_function(other, *this, conversion_connector->ChildConnectOptions()); 1001 1004 } 1002 1005 primary_backend.operation_on_all_elements_pending = false; … … 1012 1015 { 1013 1016 core::tConnectionFlag direction = (this->IsOutputPort() == this_backend.second->IsOutputPort() ? partner_is_destination : (!partner_is_destination)) ? core::tConnectionFlag::DIRECTION_TO_DESTINATION : core::tConnectionFlag::DIRECTION_TO_SOURCE; 1014 this_backend.second->ConnectTo(*other_backend.second, conversion_connector->C onnectOptions(direction));1015 this_backend.second->ConnectChildPortsByName(*other_backend.second, conversion_connector->C onnectOptions(direction));1017 this_backend.second->ConnectTo(*other_backend.second, conversion_connector->ChildConnectOptions(direction)); 1018 this_backend.second->ConnectChildPortsByName(*other_backend.second, conversion_connector->ChildConnectOptions(direction)); 1016 1019 } 1017 1020 }
Note: See TracChangeset
for help on using the changeset viewer.