void PukeController::MessageDispatch(int fd, PukeMessage *pm) { try { /* * Get the object id, this may produce a errorNuSuchWidget */ PObject *obj = id2pobject(fd, pm->iWinId); /* * Call the message hanlder for the widget */ obj->messageHandler(fd, pm); } catch(errorNoSuchWidget &err){ PukeMessage pmRet; pmRet.iCommand = PUKE_INVALID; pmRet.iWinId = pm->iWinId; pmRet.iArg = 0; pmRet.iTextSize = 0; emit outputMessage(fd, &pmRet); return; } catch (errorCommandFailed &err){ PukeMessage pmRet; pmRet.iCommand = err.command(); pmRet.iWinId = pm->iWinId; pmRet.iArg = err.iarg(); pmRet.iTextSize = 0; emit outputMessage(fd, &pmRet); return; } }
void PukeController::MessageDispatch(int fd, PukeMessage *pm) /*FOLD00*/ { try { /* * Get the object id, this may produce a errorNuSuchWidget */ PObject *obj = id2pobject(fd, pm->iWinId); /* * Call the message hanlder for the widget */ obj->messageHandler(fd, pm); } catch(errorNoSuchWidget &err){ PukeMessage pmRet; pmRet.iCommand = PUKE_INVALID; pmRet.iWinId = pm->iWinId; pmRet.iArg = 0; pmRet.iTextSize = 0; emit outputMessage(fd, &pmRet); return; } catch(errorCommandFailed &err){ PukeMessage pmRet; pmRet.iCommand = err.command(); pmRet.iWinId = pm->iWinId; pmRet.iArg = err.iarg(); pmRet.iTextSize = 0; emit outputMessage(fd, &pmRet); return; } catch(errorInvalidSet &err){ if(err.from() != 0) warning("Controller-ERROR: Tried setting a %s to a %s", err.from()->className(), err.to()); else warning("Controller-ERROR: Tried setting a UNKOWN-0 to a %s", err.to()); PukeMessage pmRet; pmRet.iCommand = pm->iCommand; pmRet.iWinId = pm->iWinId; pmRet.iArg = 0; pmRet.iTextSize = 0; emit outputMessage(fd, &pmRet); return; } }