CDeviceInfo.java
上传用户:shunchung
上传日期:2013-04-07
资源大小:438k
文件大小:5k
源码类别:

手机短信编程

开发平台:

Java

  1. // jSMSEngine API.
  2. // An open-source API package for sending and receiving SMS via a GSM device.
  3. // Copyright (C) 2002-2006, Thanasis Delenikas, Athens/GREECE
  4. // Web Site: http://www.jsmsengine.org
  5. //
  6. // jSMSEngine is a package which can be used in order to add SMS processing
  7. // capabilities in an application. jSMSEngine is written in Java. It allows you
  8. // to communicate with a compatible mobile phone or GSM Modem, and
  9. // send / receive SMS messages.
  10. //
  11. // jSMSEngine is distributed under the LGPL license.
  12. //
  13. // This library is free software; you can redistribute it and/or
  14. // modify it under the terms of the GNU Lesser General Public
  15. // License as published by the Free Software Foundation; either
  16. // version 2.1 of the License, or (at your option) any later version.
  17. // This library is distributed in the hope that it will be useful,
  18. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  19. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  20. // Lesser General Public License for more details.
  21. // You should have received a copy of the GNU Lesser General Public
  22. // License along with this library; if not, write to the Free Software
  23. // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  24. //
  25. package org.jsmsengine;
  26. /**
  27. This class keeps information and statistics about the usage of the
  28. GSM device. Information held in this object is updated automatically
  29. from jSMSEngine API during the initial connection. From then on, its
  30. up to the programmer to call the necessary refresh function in order
  31. to get refreshed info if needed.
  32. <br><br>
  33. The class contains an object of the subclass named CStatistics, which
  34. holds counters for the traffic of SMS messages (in/out). These counters
  35. are updated automatically, when the in/out operations are performed,
  36. so they are always up to date.
  37. @see CService#refreshDeviceInfo
  38. @see CService#getDeviceInfo
  39. */
  40. public class CDeviceInfo
  41. {
  42. protected String manufacturer;
  43. protected String model;
  44. protected String serialNo;
  45. protected String imsi;
  46. protected String swVersion;
  47. protected int batteryLevel;
  48. protected int signalLevel;
  49. protected CStatistics statistics;
  50. /**
  51. Default constructor of the class.
  52. */
  53. public CDeviceInfo()
  54. {
  55. manufacturer = "";
  56. model = "";
  57. serialNo = "";
  58. imsi = "";
  59. swVersion = "";
  60. batteryLevel = 0;
  61. signalLevel = 0;
  62. statistics = new CStatistics();
  63. }
  64. /**
  65. Returns the manufacturer of the device.
  66. @return  the manufacturer of the device.
  67. */
  68. public String getManufacturer() { return manufacturer; }
  69. /**
  70. Returns the model of the device.
  71. @return  the model of the device.
  72. */
  73. public String getModel() { return model; }
  74. /**
  75. Returns the serial no of the device.
  76. @return  the serial no of the device.
  77. */
  78. public String getSerialNo() { return serialNo; }
  79. /**
  80. Returns the IMSI (International Mobile Subscriber Identity) of the device.
  81. This information depends on the device and/or the smartcard and is not
  82. always available.
  83. @return  the IMSI of the device.
  84. */
  85. public String getImsi() { return imsi; }
  86. /**
  87. Returns the software version of the device.
  88. @return  the software version of the device.
  89. */
  90. public String getSwVersion() { return swVersion; }
  91. /**
  92. Returns the battery level of the device. A value of 100 means fully
  93. charged battery. A value of 0 means empty battery.
  94. @return  the battery level of the device.
  95. */
  96. public int getBatteryLevel() { return batteryLevel; }
  97. /**
  98. Returns the signal status of the device. A value of 100 means full signal.
  99. A value of 0 means no signal.
  100. <br>
  101. <strong>
  102. Note: the scale is logarithmic, not linear!
  103. </strong>
  104. @return  the signal status of the device.
  105. */
  106. public int getSignalLevel() { return signalLevel; }
  107. /**
  108. Returns the statistics object which keeps statistics for incoming /
  109. outgoing messages.
  110. @return  a CStatistics objects.
  111. */
  112. public CStatistics getStatistics() { return statistics; }
  113. /**
  114. This subclass keeps counters for incoming / outgoing messages.
  115. @see CService#refreshDeviceInfo()
  116. @see CService#getDeviceInfo()
  117. */
  118. public class CStatistics
  119. {
  120. protected int totalIn;
  121. protected int totalOut;
  122. /**
  123. Default constructor of the class.
  124. */
  125. public CStatistics()
  126. {
  127. totalIn = 0;
  128. totalOut = 0;
  129. }
  130. /**
  131. Returns the total number of incoming messages processed
  132. by jSMSEngine.
  133. @return  the number of incoming messages.
  134. */
  135. public int getTotalIn() { return totalIn; }
  136. /**
  137. Returns the total number of outgoing messages dispatched
  138. by jSMSEngine.
  139. @return  the number of outgoing messages.
  140. */
  141. public int getTotalOut() { return totalOut; }
  142. protected void incTotalIn() { totalIn ++; }
  143. protected void incTotalOut() { totalOut ++;} 
  144. }