Introduction to gmAPI
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:
Component | Description |
SCMoperations.dll | This ANSI-C dynamic-link library (DLL) implements the service class and gmBasic hosted methods used by gmAPI. |
gmslLibrary.dll | This C# assembly implements the four namespaces Opcodes, Enums, Model, and Services the make up the actual C# implementation of gmAPI |
wpfSubsystem.dll | 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#. |
gmMetrics.exe | 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. |