1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 package org.marre.sms.transport;
36
37 import java.io.IOException;
38 import java.util.Properties;
39
40 import org.marre.sms.SmsAddress;
41 import org.marre.sms.SmsException;
42 import org.marre.sms.SmsMessage;
43
44 /***
45 * Interface for an SMS transport.
46 *
47 * This interface is used to transfer an smsj message to the sms server.
48 *
49 * @author Markus Eriksson
50 * @version $Id: SmsTransport.java,v 1.12 2005/11/26 16:31:59 c95men Exp $
51 */
52 public interface SmsTransport
53 {
54 /***
55 * Initializes the transport.
56 *
57 * Please see each transport for information on what properties that are available.
58 *
59 * @param props Properties used to configure this transport.
60 * @throws SmsException If there was a problem with the configuration.
61 */
62 void init(Properties props) throws SmsException;
63
64 /***
65 * Connects to the SMS server.
66 *
67 * @throws SmsException Indicates a sms related problem.
68 * @throws IOException Inidicates a failure to communicate with the SMS server.
69 */
70 void connect() throws SmsException, IOException;
71
72 /***
73 * Pings the SMS sender.
74 *
75 * Should be used to keep the connection alive.
76 *
77 * @throws SmsException Indicates a sms related problem.
78 * @throws IOException Inidicates a failure to communicate with the SMS server.
79 */
80 void ping() throws SmsException, IOException;
81
82 /***
83 * Sends an SmsMessage to the given destination.
84 *
85 * This method returns a local identifier for the message. This messageid can then be used to query the
86 * status, cancel or replace the sent SMS. The format of the identifier is specific to the SmsTransport
87 * implementation. The SmsTransport implementation may decide how long the message id is valid.
88 *
89 * Depending on the implementation this method is blocking or non-blocking.
90 *
91 * It is possible that the returned identifier is null. This indicates that the actual transport
92 * doesn't handle message ids.
93 *
94 * @param msg The Message to send
95 * @param dest Destination address
96 * @param sender Sender address
97 * @return a local identifier for the message.
98 * @throws SmsException Indicates a sms related problem.
99 * @throws IOException Inidicates a failure to communicate with the SMS server.
100 */
101 String send(SmsMessage msg, SmsAddress dest, SmsAddress sender) throws SmsException, IOException;
102
103 /***
104 * Disconnects from the SMS server.
105 *
106 * @throws SmsException Indicates a sms related problem.
107 * @throws IOException Inidicates a failure to communicate with the SMS server.
108 */
109 void disconnect() throws SmsException, IOException;
110 }