Currently ILEFunction and PGMFunction handle a lot of things like i.e. resolving or loading that could be reused across multiple instan, or split it up to better handle i.e. missing functionality without crashing.
Something like (hierarchy matches how you):
MIObject (wrap _RSLOBJ)
PGMFunction (wrap _PGMCALL)
ILEServiceProgram (wrap _ILELOAD), can be loaded from paths or MIObject
ILESymbol (wrap _ILESYM), could be used for either code or data
ILEFunction (wrap _ILECALL), could either wrap ILESymbol for code or be distinct _ILESYM caller
You'd want to handle the easy case of loading a program/library directly with these classes still, to avoid boilerplate for the simple case.
Currently
ILEFunctionandPGMFunctionhandle a lot of things like i.e. resolving or loading that could be reused across multiple instan, or split it up to better handle i.e. missing functionality without crashing.Something like (hierarchy matches how you):
MIObject(wrap_RSLOBJ)PGMFunction(wrap_PGMCALL)ILEServiceProgram(wrap_ILELOAD), can be loaded from paths orMIObjectILESymbol(wrap_ILESYM), could be used for either code or dataILEFunction(wrap_ILECALL), could either wrapILESymbolfor code or be distinct_ILESYMcallerYou'd want to handle the easy case of loading a program/library directly with these classes still, to avoid boilerplate for the simple case.