001package com.github.theholywaffle.teamspeak3.api.wrapper; 002 003/* 004 * #%L 005 * TeamSpeak 3 Java API 006 * %% 007 * Copyright (C) 2014 Bert De Geyter 008 * %% 009 * Permission is hereby granted, free of charge, to any person obtaining a copy 010 * of this software and associated documentation files (the "Software"), to deal 011 * in the Software without restriction, including without limitation the rights 012 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 013 * copies of the Software, and to permit persons to whom the Software is 014 * furnished to do so, subject to the following conditions: 015 * 016 * The above copyright notice and this permission notice shall be included in 017 * all copies or substantial portions of the Software. 018 * 019 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 020 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 021 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 022 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 023 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 024 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 025 * THE SOFTWARE. 026 * #L% 027 */ 028 029import com.github.theholywaffle.teamspeak3.api.CodecEncryptionMode; 030import com.github.theholywaffle.teamspeak3.api.HostBannerMode; 031import com.github.theholywaffle.teamspeak3.api.HostMessageMode; 032import com.github.theholywaffle.teamspeak3.api.VirtualServerProperty; 033 034import java.util.Date; 035import java.util.Map; 036 037public class VirtualServerInfo extends VirtualServer { 038 039 public VirtualServerInfo(Map<String, String> map) { 040 super(map); 041 } 042 043 public int getAntifloodPointsNeededCommandBlock() { 044 return getInt(VirtualServerProperty.VIRTUALSERVER_ANTIFLOOD_POINTS_NEEDED_COMMAND_BLOCK); 045 } 046 047 public int getAntifloodPointsNeedIpBlock() { 048 return getInt(VirtualServerProperty.VIRTUALSERVER_ANTIFLOOD_POINTS_NEEDED_IP_BLOCK); 049 } 050 051 public int getAntifloodPointsTickReduce() { 052 return getInt(VirtualServerProperty.VIRTUALSERVER_ANTIFLOOD_POINTS_TICK_REDUCE); 053 } 054 055 public long getBandwidthReceivedLastMinute() { 056 return getInt(VirtualServerProperty.CONNECTION_BANDWIDTH_RECEIVED_LAST_MINUTE_TOTAL); 057 } 058 059 public long getBandwidthReceivedLastSecond() { 060 return getLong(VirtualServerProperty.CONNECTION_BANDWIDTH_RECEIVED_LAST_SECOND_TOTAL); 061 } 062 063 public long getBandwidthSentLastMinute() { 064 return getLong(VirtualServerProperty.CONNECTION_BANDWIDTH_SENT_LAST_MINUTE_TOTAL); 065 } 066 067 public long getBandwidthSentLastSecond() { 068 return getLong(VirtualServerProperty.CONNECTION_BANDWIDTH_SENT_LAST_SECOND_TOTAL); 069 } 070 071 public int getChannelsOnline() { 072 return getInt(VirtualServerProperty.VIRTUALSERVER_CHANNELSONLINE); 073 } 074 075 public CodecEncryptionMode getCodecEncryptionMode() { 076 final int encryptionMode = getInt(VirtualServerProperty.VIRTUALSERVER_CODEC_ENCRYPTION_MODE); 077 for (final CodecEncryptionMode m : CodecEncryptionMode.values()) { 078 if (m.getIndex() == encryptionMode) { 079 return m; 080 } 081 } 082 return CodecEncryptionMode.UNKNOWN; 083 } 084 085 public int getComplaintAutobanCount() { 086 return getInt(VirtualServerProperty.VIRTUALSERVER_COMPLAIN_AUTOBAN_COUNT); 087 } 088 089 public long getComplaintAutobanTime() {// SEC 090 return getLong(VirtualServerProperty.VIRTUALSERVER_COMPLAIN_AUTOBAN_TIME); 091 } 092 093 public long getComplaintRemoveTime() { 094 return getLong(VirtualServerProperty.VIRTUALSERVER_COMPLAIN_REMOVE_TIME); 095 } 096 097 public long getControlBytesReceived() { 098 return getLong(VirtualServerProperty.CONNECTION_BYTES_RECEIVED_CONTROL); 099 } 100 101 public long getControlBytesSent() { 102 return getLong(VirtualServerProperty.CONNECTION_BYTES_SENT_CONTROL); 103 } 104 105 public long getControlPacketsReceived() { 106 return getLong(VirtualServerProperty.CONNECTION_PACKETS_RECEIVED_CONTROL); 107 } 108 109 public long getControlPacketsSent() { 110 return getLong(VirtualServerProperty.CONNECTION_PACKETS_SENT_CONTROL); 111 } 112 113 public Date getCreatedDate() { 114 return new Date(getLong(VirtualServerProperty.VIRTUALSERVER_CREATED) * 1000); 115 } 116 117 public int getDefaultChannelAdminGroup() { 118 return getInt(VirtualServerProperty.VIRTUALSERVER_DEFAULT_CHANNEL_ADMIN_GROUP); 119 } 120 121 public int getDefaultChannelGroup() { 122 return getInt(VirtualServerProperty.VIRTUALSERVER_DEFAULT_CHANNEL_GROUP); 123 } 124 125 public int getDefaultServerGroup() { 126 return getInt(VirtualServerProperty.VIRTUALSERVER_DEFAULT_SERVER_GROUP); 127 } 128 129 public long getDownloadQuota() { 130 return getLong(VirtualServerProperty.VIRTUALSERVER_DOWNLOAD_QUOTA); 131 } 132 133 public String getFileBase() { 134 return get(VirtualServerProperty.VIRTUALSERVER_FILEBASE); 135 } 136 137 public long getFiletransferBandwidthReceived() { 138 return getLong(VirtualServerProperty.CONNECTION_FILETRANSFER_BANDWIDTH_RECEIVED); 139 } 140 141 public long getFiletransferBandwidthSent() { 142 return getLong(VirtualServerProperty.CONNECTION_FILETRANSFER_BANDWIDTH_SENT); 143 } 144 145 public long getFiletransferBytesReceived() { 146 return getLong(VirtualServerProperty.CONNECTION_FILETRANSFER_BYTES_RECEIVED_TOTAL); 147 } 148 149 public long getFiletransferBytesSent() { 150 return getLong(VirtualServerProperty.CONNECTION_FILETRANSFER_BYTES_SENT_TOTAL); 151 } 152 153 public int getHostbannerGfxInterval() { 154 return getInt(VirtualServerProperty.VIRTUALSERVER_HOSTBANNER_GFX_INTERVAL); 155 } 156 157 public String getHostbannerGfxUrl() { 158 return get(VirtualServerProperty.VIRTUALSERVER_HOSTBANNER_GFX_URL); 159 } 160 161 public HostBannerMode getHostbannerMode() { 162 final int hostbannerMode = getInt(VirtualServerProperty.VIRTUALSERVER_HOSTBANNER_MODE); 163 for (final HostBannerMode m : HostBannerMode.values()) { 164 if (m.getIndex() == hostbannerMode) { 165 return m; 166 } 167 } 168 return HostBannerMode.UNKNOWN; 169 } 170 171 public String getHostbannerUrl() { 172 return get(VirtualServerProperty.VIRTUALSERVER_HOSTBANNER_URL); 173 } 174 175 public String getHostbuttonGfxUrl() { 176 return get(VirtualServerProperty.VIRTUALSERVER_HOSTBUTTON_GFX_URL); 177 } 178 179 public String getHostbuttonTooltip() { 180 return get(VirtualServerProperty.VIRTUALSERVER_HOSTBUTTON_TOOLTIP); 181 } 182 183 public String getHostbuttonUrl() { 184 return get(VirtualServerProperty.VIRTUALSERVER_HOSTBUTTON_URL); 185 } 186 187 public String getHostMessage() { 188 return get(VirtualServerProperty.VIRTUALSERVER_HOSTMESSAGE); 189 } 190 191 public HostMessageMode getHostMessageMode() { 192 final int hostmessageMode = getInt(VirtualServerProperty.VIRTUALSERVER_HOSTMESSAGE_MODE); 193 for (final HostMessageMode m : HostMessageMode.values()) { 194 if (m.getIndex() == hostmessageMode) { 195 return m; 196 } 197 } 198 return HostMessageMode.UNKNOWN; 199 } 200 201 public int getIconId() { 202 return getInt(VirtualServerProperty.VIRTUALSERVER_ICON_ID); 203 } 204 205 public String getIp() { 206 return get(VirtualServerProperty.VIRTUALSERVER_IP); 207 } 208 209 public long getKeepAliveBytesReceived() { 210 return getLong(VirtualServerProperty.CONNECTION_BYTES_RECEIVED_KEEPALIVE); 211 } 212 213 public long getKeepAliveBytesSent() { 214 return getLong(VirtualServerProperty.CONNECTION_BYTES_SENT_KEEPALIVE); 215 } 216 217 public long getKeepAlivePacketsReceived() { 218 return getLong(VirtualServerProperty.CONNECTION_PACKETS_RECEIVED_KEEPALIVE); 219 } 220 221 public long getKeepAlivePacketsSent() { 222 return getLong(VirtualServerProperty.CONNECTION_PACKETS_SENT_KEEPALIVE); 223 } 224 225 public String getMachineId() { 226 return get(VirtualServerProperty.VIRTUALSERVER_MACHINE_ID); 227 } 228 229 public long getMaxDownloadBandwidth() { 230 return getLong(VirtualServerProperty.VIRTUALSERVER_MAX_DOWNLOAD_TOTAL_BANDWIDTH); 231 } 232 233 public long getMaxUploadBandwidth() { 234 return getLong(VirtualServerProperty.VIRTUALSERVER_MAX_UPLOAD_TOTAL_BANDWIDTH); 235 } 236 237 public int getMinClientsInChannelBeforeForcedSilence() { 238 return getInt(VirtualServerProperty.VIRTUALSERVER_MIN_CLIENTS_IN_CHANNEL_BEFORE_FORCED_SILENCE); 239 } 240 241 public int getMinimumClientVersion() { 242 return getInt(VirtualServerProperty.VIRTUALSERVER_MIN_CLIENT_VERSION); 243 } 244 245 public long getMonthlyBytesDownloaded() { 246 return getLong(VirtualServerProperty.VIRTUALSERVER_MONTH_BYTES_DOWNLOADED); 247 } 248 249 public long getMonthlyBytesUploaded() { 250 return getLong(VirtualServerProperty.VIRTUALSERVER_MONTH_BYTES_UPLOADED); 251 } 252 253 public int getNeededIdentitySecurityLevel() { 254 return getInt(VirtualServerProperty.VIRTUALSERVER_NEEDED_IDENTITY_SECURITY_LEVEL); 255 } 256 257 public String getPassword() { 258 return get(VirtualServerProperty.VIRTUALSERVER_PASSWORD); 259 } 260 261 public String getPhoneticName() { 262 return get(VirtualServerProperty.VIRTUALSERVER_NAME_PHONETIC); 263 } 264 265 public double getPing() { 266 return getDouble(VirtualServerProperty.VIRTUALSERVER_TOTAL_PING); 267 } 268 269 public String getPlatform() { 270 return get(VirtualServerProperty.VIRTUALSERVER_PLATFORM); 271 } 272 273 public double getPrioritySpeakerDimmModificator() { 274 return getDouble(VirtualServerProperty.VIRTUALSERVER_PRIORITY_SPEAKER_DIMM_MODIFICATOR); 275 } 276 277 public int getReservedSlots() { 278 return getInt(VirtualServerProperty.VIRTUALSERVER_RESERVED_SLOTS); 279 } 280 281 public long getSpeechBytesReceived() { 282 return getLong(VirtualServerProperty.CONNECTION_BYTES_RECEIVED_SPEECH); 283 } 284 285 public long getSpeechBytesSent() { 286 return getLong(VirtualServerProperty.CONNECTION_BYTES_SENT_SPEECH); 287 } 288 289 public long getSpeechPacketsReceived() { 290 return getLong(VirtualServerProperty.CONNECTION_PACKETS_RECEIVED_SPEECH); 291 } 292 293 public long getSpeechPacketsSent() { 294 return getLong(VirtualServerProperty.CONNECTION_PACKETS_SENT_SPEECH); 295 } 296 297 public long getTotalBytesDownloaded() { 298 return getLong(VirtualServerProperty.VIRTUALSERVER_TOTAL_BYTES_DOWNLOADED); 299 } 300 301 public long getTotalBytesReceived() { 302 return getLong(VirtualServerProperty.CONNECTION_BYTES_RECEIVED_TOTAL); 303 } 304 305 public long getTotalBytesSent() { 306 return getLong(VirtualServerProperty.CONNECTION_BYTES_SENT_TOTAL); 307 } 308 309 public long getTotalBytesUploaded() { 310 return getLong(VirtualServerProperty.VIRTUALSERVER_TOTAL_BYTES_UPLOADED); 311 } 312 313 public int getTotalClientConnections() { 314 return getInt(VirtualServerProperty.VIRTUALSERVER_CLIENT_CONNECTIONS); 315 } 316 317 public double getTotalControlPacketloss() { 318 return getDouble(VirtualServerProperty.VIRTUALSERVER_TOTAL_PACKETLOSS_CONTROL); 319 } 320 321 public double getTotalKeepAlivePacketloss() { 322 return getDouble(VirtualServerProperty.VIRTUALSERVER_TOTAL_PACKETLOSS_KEEPALIVE); 323 } 324 325 public double getTotalPacketloss() { 326 return getDouble(VirtualServerProperty.VIRTUALSERVER_TOTAL_PACKETLOSS_TOTAL); 327 } 328 329 public long getTotalPacketsReceived() { 330 return getLong(VirtualServerProperty.CONNECTION_PACKETS_RECEIVED_TOTAL); 331 } 332 333 public long getTotalPacketsSent() { 334 return getLong(VirtualServerProperty.CONNECTION_PACKETS_SENT_TOTAL); 335 } 336 337 public int getTotalQueryClientConnections() { 338 return getInt(VirtualServerProperty.VIRTUALSERVER_QUERY_CLIENT_CONNECTIONS); 339 } 340 341 public double getTotalSpeechPacketloss() { 342 return getDouble(VirtualServerProperty.VIRTUALSERVER_TOTAL_PACKETLOSS_SPEECH); 343 } 344 345 public long getUploadQuota() { 346 return getLong(VirtualServerProperty.VIRTUALSERVER_UPLOAD_QUOTA); 347 } 348 349 public String getVersion() { 350 return get(VirtualServerProperty.VIRTUALSERVER_VERSION); 351 } 352 353 public String getWelcomeMessage() { 354 return get(VirtualServerProperty.VIRTUALSERVER_WELCOMEMESSAGE); 355 } 356 357 public boolean hasPassword() { 358 return getBoolean(VirtualServerProperty.VIRTUALSERVER_FLAG_PASSWORD); 359 } 360 361 public boolean isAskingPrivilegeKey() { 362 return getBoolean(VirtualServerProperty.VIRTUALSERVER_ASK_FOR_PRIVILEGEKEY); 363 } 364 365 public boolean isLoggingChannel() { 366 return getBoolean(VirtualServerProperty.VIRTUALSERVER_LOG_CHANNEL); 367 } 368 369 public boolean isLoggingClient() { 370 return getBoolean(VirtualServerProperty.VIRTUALSERVER_LOG_CLIENT); 371 } 372 373 public boolean isLoggingFileTransfer() { 374 return getBoolean(VirtualServerProperty.VIRTUALSERVER_LOG_FILETRANSFER); 375 } 376 377 public boolean isLoggingPermissions() { 378 return getBoolean(VirtualServerProperty.VIRTUALSERVER_LOG_PERMISSIONS); 379 } 380 381 public boolean isLoggingQuery() { 382 return getBoolean(VirtualServerProperty.VIRTUALSERVER_LOG_QUERY); 383 } 384 385 public boolean isLoggingServer() { 386 return getBoolean(VirtualServerProperty.VIRTUALSERVER_LOG_SERVER); 387 } 388 389 public boolean isWeblistEnabled() { 390 return getBoolean(VirtualServerProperty.VIRTUALSERVER_WEBLIST_ENABLED); 391 } 392}