- switch((enum eAxWin_IPCMessageTypes) Msg->ID)
- {
- // --- Ping message (reset timeout and get server version)
- case IPCMSG_PING:
- _SysDebug(" IPC_Handle: IPCMSG_PING");
- if( Msg->Size < 4 ) return;
- if( Msg->Flags & IPCMSG_FLAG_RETURN )
- {
- tIPCMsg_ReturnInt *ret = (void*)Msg->Data;
- Msg->ID = IPCMSG_PING;
- Msg->Size = sizeof(*ret);
- ret->Value = AXWIN_VERSION;
- IPCType->SendMessage(Ident, sizeof(*Msg)+sizeof(*ret), Msg);
- }
- break;
-
- // -- Get display count
- case IPCMSG_GETDISPLAYCOUNT:
- rv = IPC_Msg_GetDisplayCount(client, Msg);
- break;
-
- // --- Get display dimensions
- case IPCMSG_GETDISPLAYDIMS:
- rv = IPC_Msg_GetDisplayDims(client, Msg);
- break;
-
- // --- Send a message
- case IPCMSG_SENDMSG:
- _SysDebug(" IPC_Handle: IPCMSG_SENDMSG %i", ((tIPCMsg_SendMsg*)Msg->Data)->ID);
- rv = IPC_Msg_SendMsg(client, Msg);
- break;
-
- // --- Create window
- case IPCMSG_CREATEWIN:
- _SysDebug(" IPC_Handle: IPCMSG_CREATEWIN");
- rv = IPC_Msg_CreateWin(client, Msg);
- break;
- // TODO: Destroy window
-
- // --- Set window title
- case IPCMSG_SETWINTITLE:
- _SysDebug(" IPC_Handle: IPCMSG_SETWINTITLE");
- rv = IPC_Msg_SetWindowTitle(client, Msg);
- break;
-
- // --- Give a window focus
- case IPCMSG_FOCUSWINDOW:
- _SysDebug(" IPC_Handle: IPCMSG_FOCUSWINDOW");
- rv = IPC_Msg_FocusWindow(client, Msg);
- break;
- // --- Show/Hide a window
- case IPCMSG_SHOWWINDOW:
- _SysDebug(" IPC_Handle: IPCMSG_SHOWWINDOW");
- rv = IPC_Msg_ShowWindow(client, Msg);
- break;
- case IPCMSG_DECORATEWINDOW:
- _SysDebug(" IPC_Handle: IPCMSG_DECORATEWINDOW");
- rv = IPC_Msg_DecorateWindow(client, Msg);
- break;
- // --- Move/Resize a window
- case IPCMSG_SETWINPOS:
- _SysDebug(" IPC_Handle: IPCMSG_SETWINPOS");
- rv = IPC_Msg_SetWinPos(client, Msg);
- break;
-
- // --- Unknown message
- default: