I am attempting to embed Python in a C++ app and have a question before I get too far into it.
Is is possible to to dynamically create an extension module? eg, I want a module name spam and I have a stuct that contains all my method names, and a pointer to the proper c++ function to call ### Suto Code ### typedef struct _COMMAND { CHAR Name[64]; fCommand Function; struct _COMMAND* pLast; struct _COMMAND* pNext; } COMMAND, *PCOMMAND; ### End Sudo Code ### What I would like to do is something like ### Sudo Code ### class MyClass { MyClass(PCOMMAND pCommand ) {pComd = pCommand;} static PyObject* spam_Func(PyObject *self, PyObject *args) { PCHAR sLine = NULL; if (!PyArg_ParseTuple(args, "z", &sLine)) return NULL; pCmd->Function(sLine); Py_RETURN_NONE; } static PCOMMAND pCmd; }; static PyMethodDef Methods[] = {0} PCOMMAND pCommand = pCommands; while(pCommand) { MyClass* cmd = new MyClass(pCommand); Methods[pCommand->Name, cmd->spam_Func, METH_VARARGS, ""]; pCommand = pCommand->pNext; } Methods[NULL, NULL, 0, NULL]; PyMODINIT_FUNC initspam(void) { (void) Py_InitModule("spam", Methods); } ### End Sudo Code ### Now I know my Sudo code wont work or I wouldnt be asking, but is it possible to do something like that. The reason I ask is there are about 150 commands, plus plugins can add and remove commands when they get loaded or unloaded so I will need to add / remove their commands from the spam module as well. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor