12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- package de.tudarmstadt.informatik.hostage;
- import android.content.Context;
- import android.content.SharedPreferences;
- import android.preference.PreferenceManager;
- /**
- * Saves the amount of active connections and limits them to a specific number.
- *
- * @author Wulf Pfeiffer
- * @author Lars Pandikow
- */
- public class ConnectionRegister {
- /** Active connections . **/
- private static int openConnections = 0;
- /** Context in which ConnectionRegister is created. **/
- private Context context;
- /**
- * Constructor sets context.
- *
- * @param context
- * Context in which ConnectionRegister is created.
- */
- public ConnectionRegister(Context context) {
- this.context = context;
- }
- /**
- * Deregisters a active connection if at least one active connection is
- * registered.
- *
- * @return true if the connection has been successfully unregistered, else
- * false.
- */
- public boolean closeConnection() {
- if (openConnections > 0) {
- openConnections--;
- return true;
- } else {
- return false;
- }
- }
- /**
- * Returns the maximum number of active connections.
- *
- * @return maximum number of active connections.
- */
- public int getMaxConnections() {
- SharedPreferences defaultPref = PreferenceManager
- .getDefaultSharedPreferences(context);
- return defaultPref.getInt("max_connections", 5);
- }
- /**
- * Returns the number of active connections.
- *
- * @return number of active connections.
- */
- public int getOpenConnections() {
- return openConnections;
- }
- /**
- * Returns if there are new connections allowed or not.
- *
- * @return true if a new connection is allowed, else false.
- */
- public boolean isConnectionFree() {
- return getMaxConnections() == 0
- || openConnections < getMaxConnections();
- }
- /**
- * Registers a new active connection if there are connections allowed.
- *
- * @return true if a new connection has been successfully registered, else
- * false.
- */
- public boolean newOpenConnection() {
- if (isConnectionFree()) {
- openConnections++;
- return true;
- } else {
- return false;
- }
- }
- }
|