PA_ReceiveDataFromServer


version 2003


PA_ReceiveDataFromServer (pluginRef; dataRef; dataKind; data) → long

Parameter Type Description
pluginRef long ID number of plugin's server instance
dataRef long ID number of data to be read
dataKind long Type (4-byte OSType) of data to be read
data char * Requested data
Function result long Received data size in bytes

Description

Provided the 4D plug-in is running a server instance of an plug-in on the server machine, calling PA_ReceiveDataFromServer lets the 4D plug-in request data from the server instance of that plug-in from a client machine .

Before the call:

• The 4D plug-in passes the ID number of the plug-in's server instance in pluginRef . This number is the resource ID number of the 4BNX resource for this 4D plug-in.

• The 4D plug-in passes the type of data (4 byte OSType) and the data ID number requested in dataKind and dataRef. These values can be whatever is required, using private conventions.

After the call, the 4D plug-in obtains the reply to the request in the buffer pointed to by data , and returns its size in bytes.

Example

We receive the picture sent in the example given in PA_SendDataToServer .

   #define   kMY_PLUG_SERVERID   ((long)16789)
   #define   kDATA_PICTUREKIND   'PICT'
   #define   kDATA_TEXTKIND      'TEXT'
   #define   kDATA_BIZARRE      '?¿?¿'
 
   PA_Handle   thePict;
   long      pictSize;
   char      *ptr;
   pictSize = ReceiveDataFromServer(kMY_PLUG_SERVERID, 0x100, kDATA_PICTUREKIND, 0L);
   if( PA_GetLastError() == eER_NoErr)
   {
      thePict = PA_NewHandle(pictSize);
      if(thePict)
      {
      ptr = PA_LockHandle(thePict);
         pictSize = ReceiveDataFromServer(kMY_PLUG_SERVERID, 0x100, kDATA_PICTUREKIND, ptr);
      PA_UnlockHandle(thePict);
      /* . . . do something with the picture . . .*/
      }
   }

See Also

PA_SendDataToServer .

Error Handling

Use PA_GetLastError to see if an error occurred