Weekly report for 26 June 2011 on Project "dotNET Interaction Mechanism for Scilab + Environment Abstraction Layer"
This week I have added main classes, which will represent abstraction tools for object-oriented environments:
ScilabAbstractEnvironment class will contain virtual functions, that now are mostly in ScilabObjectsCPP.cpp and wrap.cpp/unwrap.cpp. To interact with new object-oriented environments, this abstract class must be inherited and implemented. I have already added class ScilabJavaEnvironment, but did not provide any implementation yet. Actually, this functionality from ScilabObjects.CPP will be moved to this class. I will also implement a class ScilabDonNetEnvironment for interaction with .NET (dNIMS part of a project).
ScilabAbstractEnvironmentFactory will provide a Environment, corresponding to given macro name. For now it contains one function getEnvironmentByMacroName and two maps:
macrosMap_ - map of macros to EnvironmentType
environmentsMap_ - map of EnvironmentType to Environments
EnvironmentType is an enum, which for now contains two elements: JAVA and DOTNET.
Environments will be created at first time, when they are requested (a macro, requiring this Environment is called).
Next week
I will switch to using ScilabAbstractEnvironment in gateway instead of using functions from ScilabObjectsCPP.cpp. I will also provide abstractions for wrappers.