![JAR search and dependency download from the Maven repository](/logo.png)
ie.omk.smpp.message.QueryLastMsgs Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of smppapi Show documentation
Show all versions of smppapi Show documentation
Java Implementation of the Short Message Peer to Peer API.
The newest version!
package ie.omk.smpp.message;
import ie.omk.smpp.Address;
import ie.omk.smpp.util.GSMConstants;
import ie.omk.smpp.util.SMPPIO;
import java.io.OutputStream;
/**
* Query the last number of messages sent from a certain ESME. Relevant
* inherited fields from SMPPPacket:
*
* source
*
*
* @author Oran Kelly
* @version 1.0
*/
public class QueryLastMsgs extends ie.omk.smpp.message.SMPPRequest {
/** Number of messages to look up */
private int msgCount;
/**
* Construct a new QueryLastMsgs.
*/
public QueryLastMsgs() {
super(QUERY_LAST_MSGS);
msgCount = 0;
}
/**
* Construct a new QueryLastMsgs with specified sequence number.
*
* @param seqNum
* The sequence number to use
* @deprecated
*/
public QueryLastMsgs(int seqNum) {
super(QUERY_LAST_MSGS, seqNum);
msgCount = 0;
}
/**
* Set the number of messages to look up. The minimum number of messages to
* query is 1 and the maximum is 100.
*
* @param n
* The message count (1 <= n <= 100)
* @throws ie.omk.smpp.message.InvalidParameterValueException
* if the count is set outside the valid range.
*/
public void setMsgCount(int n) throws InvalidParameterValueException {
if (n > 0 && n <= 100) {
this.msgCount = n;
} else {
throw new InvalidParameterValueException(
"Message count must be between 1 and 100", n);
}
}
/** Get the number of messages being requested. */
public int getMsgCount() {
return msgCount;
}
public int getBodyLength() {
int len = (source != null) ? source.getLength() : 3;
// 1 1-byte integer
return len + 1;
}
/**
* Write a byte representation of this packet to an OutputStream
*
* @param out
* The OutputStream to write to
* @throws java.io.IOException
* if there's an error writing to the output stream.
*/
protected void encodeBody(OutputStream out) throws java.io.IOException {
if (source != null) {
source.writeTo(out);
} else {
// Write ton=0(null), npi=0(null), address=\0(nul)
new Address(GSMConstants.GSM_TON_UNKNOWN,
GSMConstants.GSM_NPI_UNKNOWN, "").writeTo(out);
}
SMPPIO.writeInt(msgCount, 1, out);
}
public void readBodyFrom(byte[] body, int offset)
throws SMPPProtocolException {
source = new Address();
source.readFrom(body, offset);
offset += source.getLength();
msgCount = SMPPIO.bytesToInt(body, offset++, 1);
}
/**
* Convert this packet to a String. Not to be interpreted programmatically,
* it's just dead handy for debugging!
*/
public String toString() {
return new String("query_last_msgs");
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy