/*
* Copyright (C) 2005 Luca Veltri - University of Parma - Italy
*
* This file is part of MjSip (http://www.mjsip.org)
*
* MjSip is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* MjSip is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with MjSip; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Author(s):
* Luca Veltri (luca.veltri@unipr.it)
*/
package org.zoolu.net;
import java.net.DatagramPacket;
//import java.net.InetAddress;
/** UdpPacket provides a uniform interface to UDP packets,
* regardless J2SE or J2ME is used.
*/
public class UdpPacket
{
/** The DatagramPacket */
DatagramPacket packet;
/** Creates a new UdpPacket */
UdpPacket(DatagramPacket packet)
{ this.packet=packet;
}
/**Gets the DatagramPacket */
DatagramPacket getDatagramPacket()
{ return packet;
}
/**Sets the DatagramPacket */
void setDatagramPacket(DatagramPacket packet)
{ this.packet=packet;
}
/** Creates a new UdpPacket */
public UdpPacket(byte[] buf, int length)
{ packet=new DatagramPacket(buf,length);
}
/** Creates a new UdpPacket */
public UdpPacket(byte[] buf, int length, IpAddress ipaddr, int port)
{ packet=new DatagramPacket(buf,length,ipaddr.getInetAddress(),port);
}
/** Creates a new UdpPacket */
public UdpPacket(byte[] buf, int offset, int length)
{ packet=new DatagramPacket(buf,offset,length);
}
/** Creates a new UdpPacket */
public UdpPacket(byte[] buf, int offset, int length, IpAddress ipaddr, int port)
{ packet=new DatagramPacket(buf,offset,length,ipaddr.getInetAddress(),port);
}
/** Gets the IP address of the machine to which this datagram is being sent or from which the datagram was received. */
public IpAddress getIpAddress()
{ return new IpAddress(packet.getAddress());
}
/** Gets the data received or the data to be sent. */
public byte[] getData()
{ return packet.getData();
}
/** Gets the length of the data to be sent or the length of the data received. */
public int getLength()
{ return packet.getLength();
}
/** Gets the offset of the data to be sent or the offset of the data received. */
public int getOffset()
{ return packet.getOffset();
}
/** Gets the port number on the remote host to which this datagram is being sent or from which the datagram was received. */
public int getPort()
{ return packet.getPort();
}
/** Sets the IP address of the machine to which this datagram is being sent. */
public void setIpAddress(IpAddress ipaddr)
{ packet.setAddress(ipaddr.getInetAddress());
}
/** Sets the data buffer for this packet. */
public void setData(byte[] buf)
{ packet.setData(buf);
}
/** Sets the data buffer for this packet. */
public void setData(byte[] buf, int offset, int length)
{ packet.setData(buf,offset,length);
}
/** Sets the length for this packet. */
public void setLength(int length)
{ packet.setLength(length);
}
/** Sets the port number on the remote host to which this datagram is being sent. */
public void setPort(int iport)
{ packet.setPort(iport);
}
}