The DgnPlatformNet help doc mentions MacroConfigurationAdmin. Help doesn't tell us its purpose, nor how one would use it. It's somehow related to configuration variables.
MacroConfigurationAdmin
What is MacroConfigurationAdmin?
Jon Summers said:What is MacroConfigurationAdmin?
I think it's an aspect of NET API internal implementation.
The class itself is sealed and as visible in decompiled code, is a wrapper of some custom (not public C++ API) native code.
Jon Summers said:Help doesn't tell us its purpose, nor how one would use it.
There is no reason to use it. Did you find any class that requests e.g. to inject MacroConfigurationAdmin? The only place where it's used in constructor injection of MacroFileProcessor, which seems to be used nowhere, so I guess it's again something internal or the implementation and API design have not been finished yet.
With regards,
Jan
Bentley Accredited Developer: iTwin Platform - AssociateLabyrinth Technology | dev.notes() | cad.point
Hi Jon Summers,
Although I suggested we implement an intuitive isolation model (by location path) using: "Assemblies" (public) and "System\Assemblies" (private); we did not make changes towards implementing this and this makes it more difficult to scale and verify public APIs vs. private APIs. Our general rule of thumb is if we publish an API as public it will appear in the documentation (chm/html files) and 3rd party developers can use it. This helps most of the time, but with .NET libraries and not knowing/establishing solid boundary contexts for public and private there are and will be exceptions.
Given that, the lack of being able to find much documentation on MacroConfigurataionAdmin (and related: MacroFileProcessor, ProcessTopLevelFile, ...) were added in MSCE U8 primarily for ProjectWise-specific integration/managed workspace support within the platform products and therefore most other related API calls will not be directly public/published/accessible. I believe we can explicitly block/override known cases like this from being published in the docs so I will check to see if we can make this happen.
The ConfigurationManager APIs should provide almost everything you may need, but if there is something more specific you are looking to achieve please feel free to ask and I will try to find recommendations.
HTH,Bob
Answer Verified By: Jon Summers