The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#############################################################################
## Name:        ext/socket/XS/DatagramSocket.xsp
## Purpose:     XS++ for Wx::DatagramSocket
## Author:      Mattia Barbon
## Created:     24/01/2004
## RCS-ID:      $Id: DatagramSocket.xsp 2079 2007-07-08 21:18:04Z mbarbon $
## Copyright:   (c) 2004 Mattia Barbon
## Licence:     This program is free software; you can redistribute it and/or
##              modify it under the same terms as Perl itself
#############################################################################

%module{Wx};

%typemap{wxSockAddress&}{reference};
%typemap{wxDatagramSocket*}{simple};
%typemap{wxSocketFlags}{simple};

%name{Wx::DatagramSocket} class wxDatagramSocket
{
    wxDatagramSocket(wxSockAddress& addr, wxSocketFlags flags = wxSOCKET_NONE)
        %code{% RETVAL = new wxPliDatagramSocket( CLASS , *addr, flags ); %};
};

%{

size_t
wxDatagramSocket::RecvFrom( addr, buf, nBytes )
    wxSockAddress* addr
    SV* buf
    wxUint32 nBytes
  CODE:
    DO_READ( THIS->RecvFrom( *addr, buffer, nBytes ), buf, nBytes, 0 );
  OUTPUT: RETVAL

size_t
wxDatagramSocket::SendTo( addr, buf, nBytes )
    wxSockAddress* addr
    SV* buf
    wxUint32 nBytes
  CODE:
    DO_WRITE( THIS->SendTo( *addr, buffer, nBytes ), buf, nBytes );
  OUTPUT: RETVAL

%}