The Great Migrations APplication Interface is a set of C# implemented libraries that implement the gmSL capabilities in .NET form. The gmSL API is capable of doing anything that can be done in a translation script, and the gmAPI allows the migration specialist to do the same using native C# code.
The original request behind the development of gmAPI was to be able to retrieve information from VBI files via C#. It would look like the gmSL API. Of course, we would have to build the services library gmSC (and probably more of gmBasic) as an EntryPoint DLL , export the service functions, and then also declare them using [dllimport] in the C#. Finally, the status of gmAPI has been changed to "supporting all of the capabilities of the scripting language" but having many capabilities that go beyond it like the Execute.gmPL() capability and many of the gmNI service methods that were not included with gmSL. The current implementation of gmAPI as released consists of the following components:
This ANSI-C dynamic-link library (DLL) implements the service class and gmBasic hosted methods used by gmAPI.
This C# assembly implements the four namespaces Opcodes, Enums, Model, and Services the make up the actual C# implementation of gmAPI
This C# library completely replaces the machinery in wpfsubsystem.gmsl. Using this assembly, migrations that take VB6 forms to WPF can now be written entirely in C#.
This C# assembly is used to compute information about files, lines, methods/props/events, controls, libs, operations, and occurrences of coding patterns associated with a set of ASP or VBP files. The information itself is derived from the binary information files produced by translation scripts.