debian man page for xpaconvert

Query: xpaconvert

OS: debian

Section: 7

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

xpaconvert(7)							SAORD Documentation						     xpaconvert(7)

NAME
XPAConvert - Converting the XPA API to 2.0
SYNOPSIS
This document describes tips for converting from xpa 1.0 (Xt-based xpa) to xpa 2.0 (socket-based xpa).
DESCRIPTION
The following are tips for converting from xpa 1.0 (Xt-based xpa) to xpa 2.0 (socket-based xpa). The changes are straight-forward and almost can be done automatically (we used editor macros for most of the conversion). o The existence of the cpp XPA_VERSION directive to distinguish between 1.0 (where it is not defined) and 2.0 (where it is defined). o Remove the first widget argument from all send and receive server callbacks. Also change first 2 arguments from XtPointer to void *. For example: #ifdef XPA_VERSION static void XPAReceiveFile(client_data, call_data, paramlist, buf, len) void *client_data; void *call_data; char *paramlist; char *buf; int len; #else static void XPAReceiveFile(w, client_data, call_data, paramlist, buf, len) Widget w; XtPointer client_data; XtPointer call_data; char *paramlist; char *buf; int len; #endif o Server callbacks should be declared as returning int instead of void. They now should return 0 for no errors, -1 for error. o The mode flags have changed when defining XPA server callbacks. The old S flag (save buffer) is replaced by freebuf=false. The old E flag (empty buffer is OK) is no longer used (it was an artifact of the X implementation). o Change NewXPACommand() to XPAcmdNew(), with the new calling sequence: xpa = NewXPACommand(toplevel, NULL, prefix, NULL); is changed to: xpa = XPACmdNew(xclass, name); o Change the AddXPACommand() subroutine name to XPACmdAdd (with the same calling sequence): AddXPACommand(xpa, "file", " display a new file requires: filename", NULL, NULL, NULL, XPAReceiveFile, text, NULL); is changed to: XPACmdAdd(xpa, "file", " display a new file requires: filename", NULL, NULL, NULL, XPAReceiveFile, text, NULL); o The XPAXtAppInput() routine should be called just before XtAppMainLoop() to add xpa fds to the Xt event loop: /* add the xpas to the Xt loop */ XPAXtAddInput(app, NULL); /* process events */ XtAppMainLoop(app); o Change NewXPA() to XPANew() and call XPAXtAddInput() if the XtAppMainLoop routine already has been entered: xpa = NewXPA(saotng->xim->toplevel, prefix, xparoot, "FITS data or image filename options: file type", XPASendData, new, NULL, XPAReceiveData, new, "SE"); is changed to: sprintf(tbuf, "%s.%s", prefix, xparoot); xpa = XPANew("SAOTNG", tbuf, "FITS data or image filename options: file type", XPASendData, new, NULL, XPAReceiveData, new, "SE"); XPAXtAddInput(XtWidgetToApplicationContext(saotng->xim->toplevel), xpa); o Change XPAInternalReceiveCommand() to XPACmdInternalReceive() remove first argument in the calling sequence): XPAInternalReceiveCommand(im->saotng->xim->toplevel, im->saotng, im->saotng->commands, "zoom reset", NULL, 0); is changed to: XPACmdInternalReceive(im->saotng, im->saotng->commands, "zoom reset", NULL, 0); o Change DestroyXPA to XPAFree: DestroyXPA(im->dataxpa); is changed to: XPAFree(im->dataxpa);
SEE ALSO
See xpa(7) for a list of XPA help pages version 2.1.14 June 7, 2012 xpaconvert(7)
Related Man Pages
xpa(3tcl) - debian
xpaget(3) - debian
xpanslookup(3) - debian
xpaset(3) - debian
xpasetfd(3) - debian
Similar Topics in the Unix Linux Community
BUY GODREJ INDUSTRY FUTURES