1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- 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
- */
- 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;
- }
-
- /**
- * 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;
- }
- }
-
- /**
- * 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;
- }
- }
-
- }
|