LDicomNet::OnSend

#include "ltdic.h"

virtual L_VOID LDicomNet::OnSend(nError, nType, nBytes)

L_INT nError;

/* error code */

L_UCHAR nType;

/* type of message/data sent */

L_UINT32 nBytes;

/* number of bytes of data sent */

Notifies a connection that data was sent. This function is available in the Medical Suite Toolkit.

Parameter

Description

nError

Error code. Refer to Return Codes.

nType

The type of data that was sent. Possible values are:

 

Value

Meaning

 

PDU_UNKNOWN

[0x00] Unknown data sent.

 

PDU_ASSOCIATE_REQUEST

[0x01] Associate Request message sent

 

PDU_ASSOCIATE_ACCEPT

[0x02] Associate Accept message sent

 

PDU_ASSOCIATE_REJECT

[0x03] Associate Reject message sent

 

PDU_DATA_TRANSFER

[0x04] Data transfer made.

 

PDU_RELEASE_REQUEST

[0x05] Release Request message sent

 

PDU_RELEASE_RESPONSE

[0x06] Release Response message sent

 

PDU_ABORT

[0x07] Abort message sent.

nBytes

Number of bytes of data actually sent.

Returns

None.

Comments

When one of the LDicomNet::SendXXX functions is called, the message is not sent immediately. It is placed in a Network queue and sent later. When the data is actually sent, this callback function is called to let the calling AE know that the data has been sent.

To customize this function, you must derive a class from LDicomNet and override this function.

Required DLLs and Libraries

LTDIC

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application

See Also

Functions:

LDicomNet::SendCCancelRequest, LDicomNet::SendCEchoRequest, LDicomNet::SendCEchoResponse, LDicomNet::SendCFindRequest, LDicomNet::SendCFindResponse, LDicomNet::SendCGetRequest, LDicomNet::SendCGetResponse, LDicomNet::SendCMoveRequest, LDicomNet::SendCMoveResponse, LDicomNet::SendCStoreRequest, LDicomNet::SendCStoreResponse, LDicomNet::SendNReportRequest, LDicomNet::SendNReportResponse, LDicomNet::SendNGetRequest, LDicomNet::SendNGetResponse, LDicomNet::SendNSetRequest, LDicomNet::SendNSetResponse, LDicomNet::SendNActionRequest, LDicomNet::SendNActionResponse, LDicomNet::SendNCreateRequest, LDicomNet::SendNCreateResponse, LDicomNet::SendNDeleteRequest, LDicomNet::SendNDeleteResponse

Topics:

Sending Messages

Example

//LMyDicomNet is a class derived from LDicomNet
//In class LMyDicomNet, all events (virtual functions OnXXX())  have been 
//overridden so that they can be processed.  Each event displays a MessageBox 
//identifying the event, the IP that generated the event, the IP that received the event and
//any other relevant data.

//For the entire derived class, see (hyperlink)LMyDicomNet class

//OnSend()
L_VOID   LMyDicomNet::OnSend(L_INT nError, L_UCHAR nType, L_UINT32 nBytes)
{
   CString strMsg, strTmp, strType;
   
   strMsg = "*** OnSend ***\n";
   strTmp = "Unknown";
   if (nError == DICOM_SUCCESS)
   {
      switch(nType)
      {         
      case PDU_ASSOCIATE_REQUEST:
         strType = "PDU_ASSOCIATE_REQUEST";
         break;
         
      case PDU_ASSOCIATE_ACCEPT:
         strType = "PDU_ASSOCIATE_ACCEPT";
         break;
         
      case PDU_ASSOCIATE_REJECT:
         strType = "PDU_ASSOCIATE_REJECT";
         break;
         
      case PDU_DATA_TRANSFER:  
         strType = "PDU_DATA_TRANSFER";
         break;
         
      case PDU_RELEASE_REQUEST:  
         strType = "PDU_RELEASE_REQUEST";
         break;
         
      case PDU_RELEASE_RESPONSE: 
         strType = "PDU_RELEASE_RESPONSE";
         break;
         
      case PDU_ABORT:
         strType = "PDU_ABORT";
         break;
      }
      strTmp.Format("\nType[%s]\nlSize[%d]", strType, nBytes);
   }
   else
   {
      strTmp.Format("Error[%d]\n",nError);
   }
   strMsg = strMsg + strTmp;
   AfxMessageBox(strMsg);
}