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.
This means that JServices can access parameters and services via Omni-style registered members, and are furnished with a logger, a JApplication pointer, and an Init() callback with proper exception handling.
There's a bigger change under the hood that made this possible: JANA2 has always had a problem with circular dependencies due to all of the member function templates. Among other things, this is why we need to #include<JANA/JEvent.h> whenever we declare a subclass of JFactoryT. In this pull request we finally resolve this problem by splitting JApplication.h into JApplicationFwd.h (which contains the class definition and forward declarations of the member templates) and JApplication.h (which contains the member template definitions and also pulls in JApplicationFwd.h). This way, anything that doesn't explicitly need the problematic member template definitions won't get them, and everything looks the same to users downstream.