[WIP] ComponentPath and ChannelPath properties for Sockets and Inputs.#1489
Open
chrisdembia wants to merge 5 commits intomainfrom
Open
[WIP] ComponentPath and ChannelPath properties for Sockets and Inputs.#1489chrisdembia wants to merge 5 commits intomainfrom
chrisdembia wants to merge 5 commits intomainfrom
Conversation
This fixes an issue where a default-constructed ComponentPath would have garbage values for Path::_separator and Path::_isAbsolute (the default Path constructor did not initialize these members).
The move to ChannelPath is functional, but in a very intermediate state.
…ponentPath_property
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
@aseth1 , @klshrinidhi and I just chatted about changes I had initiated to convert the property within Sockets and Inputs to use ComponentPath and ChannelPath instead of std::string. The primary goal of these changes for 4.0 is to help fix bug #1420, but the changes also provide substantial cleanup of the code. The plan is for @klshrinidhi to finish this PR by tackling the tasks listed below, to get this PR merged, and then to fix #1420 in a separate pull request. If finishing these changes takes too long, then we should just fix #1420 the quick way and finish these changes after 4.0.
To-do list:
Component::getRelativePath()).readSimplePropertyFromStream()).setConnecteePath(std::string)andappendConnecteePath(std::string).setConnecteePath(ComponentPath)), and use these in Input::findAndConnect(), etc.isListas an argument; this should be obtained by the new baseConnectorby asking the property if it is a list (I can clarify this in person).Channel::getPathName()is unnecessary (replaced bygetAbsolutePath()andgetRelativePath()) and if so, delete it.operator>>(std::istream& in, ComponentPath&)parseConnecteeName()helper function, and related tests.@klshrinidhi please feel free to chat with me about these changes.
See the branch ComponentPath_property_sandbox for my first shot at rearranging the class hierarchy for Sockets and Inputs.
This change is