Versioned API client architecture
Unfortunately the IPC implementation I made a post about a while back was completely useless as there is no IL2CPP API to get a class' static field data. So now I'm falling back to manual memory interop.
For this, I need to handle many different versions of both Mono and IL2CPP. I need to expose methods such as these;
The implementation of these methods and internal details (like linked lists or hashmaps) frequently changes between the (~8) versions. The crux of the problem is that working with this API requires some initialization, which is also different between all versions.
I need a solution where I infer some basic information (Mono or IL2CPP), then run the code which fetches the initial data (some addresses, tokens) and finally return the correct class for the corresponding version.
I need to be very clear that I'm using .NET Standard 2.0; I don't have access to
My initial naive idea was this:
For this, I need to handle many different versions of both Mono and IL2CPP. I need to expose methods such as these;
The implementation of these methods and internal details (like linked lists or hashmaps) frequently changes between the (~8) versions. The crux of the problem is that working with this API requires some initialization, which is also different between all versions.
I need a solution where I infer some basic information (Mono or IL2CPP), then run the code which fetches the initial data (some addresses, tokens) and finally return the correct class for the corresponding version.
I need to be very clear that I'm using .NET Standard 2.0; I don't have access to
static abstract.My initial naive idea was this: