-
-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Custom Symbol/Library loading logic #84
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome stuff! I've left some general nitpicks, but all in all this looks great.
Codecov Report
@@ Coverage Diff @@
## master #84 +/- ##
==========================================
+ Coverage 89.21% 89.46% +0.25%
==========================================
Files 108 109 +1
Lines 5172 5230 +58
Branches 444 445 +1
==========================================
+ Hits 4614 4679 +65
+ Misses 552 545 -7
Partials 6 6
Continue to review full report at Codecov.
|
Also adds beginning support infrastructure for custom library and symbol loading logic
A bunch of changes requested by the original dev
Added needed using and removed unnecessary property from NativeLibraryBase
AdvancedDLSupport.Tests/Tests/Integration/CustomLoadingLogicTests.cs
Outdated
Show resolved
Hide resolved
@@ -57,7 +58,7 @@ public abstract class PlatformLoaderBase : IPlatformLoader | |||
/// <returns>A platform loader for the current platform..</returns> | |||
/// <exception cref="PlatformNotSupportedException">Thrown if the current platform is not supported.</exception> | |||
[PublicAPI, NotNull, Pure] | |||
public static IPlatformLoader SelectPlatformLoader() | |||
private static IPlatformLoader SelectPlatformLoader() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note to self: run an attribute cleanup sometime in the future.
This PR will add the ability for library users to add user loading logic to both library and library symbol loading.
Unfortunately, this is currently untested, Windows tests won't compile on my current setup
With these changes, it is possible to support API's like OpenGL and Vulkan because they export methods to look up the rest of their API's.