WSNewLinkCallbackFunction (C Function)
is a WSTP type that describes a function pointer to a function taking a WSLinkServer object, and a WSLINK object as arguments and returning void.
Details
- The function WSRegisterCallbackFunctionWithLinkServer() allows a program to 'install' a callback function with a link server object. The link server object will call the callback function when a program has connected to the link server endpoint. The WSLINK object can be used to communicate with the new program.
- A WSNewLinkCallbackFunction has the following form:
- void function(WSLinkServer s, WSLINK l);
- The link server will handle incoming connections asynchronously if the program registers a callback function. The callback function must take any necessary steps to guard shared data structures against asynchronous access.
- To use the new WSLINK object, the program must call WSActivate() on the link object prior to other link operations.
Examples
Basic Examples (1)
#include "wstp.h"
void NewLinkCallbackFunction(WSLinkServer server, WSLINK link);
WSLinkServer startLinkServer(WSENV env)
{
WSLinkServer theServer;
int error;
theServer = WSNewLinkServer(env, NULL /* No context object
for this example */, &error);
if(error != WSEOK)
{ /* Handle error */ }
WSRegisterCallbackFunctionWithLinkServer(theServer,
NewLinkCallbackFunction);
return theServer;
}
void NewLinkCallbackFunction(WSLinkServer server, WSLINK link)
{
WSActivate(link);
WSPutFunction(link,"Print",1);
WSPutString(link, "Hello Client Program");
WSEndPacket(link);
WSFlush(link);
...
WSClose(link);
}