Abstract:
A system and method for porting a software application from a native object oriented programming system to a target object oriented programming system is presented. The native object oriented programming system includes an application framework layer built on a set of defined native foundation classes and an operating system layer running a native operating system. The target object oriented programming system also includes an application framework layer and an operating system layer. However, the application framework layer is built on a different set of foundation classes and the target operating system is different than the native operating system. A software application that has been implemented to interface with the native object oriented programming system via an application programming interface (API) built on the defined native foundation classes may be ported to run on the target operating system in a functionally equivalent manner as if running on the native object oriented programming system using the method of the invention. The method includes defining a set of target object oriented programming system data types in terms of the native object oriented programming system data types, and then emulating the defined native foundation classes by mapping the native API method invocations to template library calls.