connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/interfaces/AbstractConnection.java
branchRCL_2_4
changeset 857 d66843399035
parent 0 fb279309251b
equal deleted inserted replaced
855:3f37e327885c 857:d66843399035
    16 */
    16 */
    17 
    17 
    18 
    18 
    19 package com.nokia.carbide.remoteconnections.interfaces;
    19 package com.nokia.carbide.remoteconnections.interfaces;
    20 
    20 
    21 import com.nokia.carbide.remoteconnections.interfaces.IConnection;
       
    22 import com.nokia.carbide.remoteconnections.interfaces.IConnectionType;
       
    23 
       
    24 import java.util.HashMap;
    21 import java.util.HashMap;
    25 import java.util.Map;
    22 import java.util.Map;
       
    23 
       
    24 import org.eclipse.jface.resource.ImageDescriptor;
       
    25 
       
    26 import com.nokia.carbide.remoteconnections.internal.api.IConnection2;
       
    27 import com.nokia.carbide.remoteconnections.internal.api.IConnection2.IConnectionStatus.EConnectionStatus;
       
    28 import com.nokia.cpp.internal.api.utils.core.Check;
       
    29 import com.nokia.cpp.internal.api.utils.core.ListenerList;
    26 
    30 
    27 /**
    31 /**
    28  * A standard implementation of IConnection
    32  * A standard implementation of IConnection
    29  */
    33  */
    30 public abstract class AbstractConnection implements IConnection {
    34 public abstract class AbstractConnection implements IConnection2 {
       
    35 	
       
    36 	public static class ConnectionStatus implements IConnectionStatus {
       
    37 		private EConnectionStatus estatus;
       
    38 		private String shortDescription;
       
    39 		private String longDescription;
       
    40 		
       
    41 		public ConnectionStatus(EConnectionStatus estatus, String shortDescription, String longDescription) {
       
    42 			this.estatus = estatus;
       
    43 			this.shortDescription = shortDescription;
       
    44 			this.longDescription = longDescription;
       
    45 		}
       
    46 
       
    47 		public EConnectionStatus getEConnectionStatus() {
       
    48 			return estatus;
       
    49 		}
       
    50 		
       
    51 		public String getShortDescription() {
       
    52 			return shortDescription;
       
    53 		}
       
    54 
       
    55 		public String getLongDescription() {
       
    56 			return longDescription;
       
    57 		}
       
    58 		
       
    59 		public void setEStatus(EConnectionStatus estatus) {
       
    60 			this.estatus = estatus;
       
    61 		}
       
    62 
       
    63 		public void setDescriptions(String shortDescription, String longDescription) {
       
    64 			this.shortDescription = shortDescription;
       
    65 			this.longDescription = longDescription;
       
    66 		}
       
    67 	}
    31 
    68 
    32 	private final IConnectionType connectionType;
    69 	private final IConnectionType connectionType;
    33 	private final Map<String, String> settings;
    70 	private final Map<String, String> settings;
    34 	private String name;
    71 	private String name;
    35 	private String id;
    72 	private String id;
       
    73 	private boolean dynamic;
       
    74 	private IConnectionStatus status;
       
    75 	private ImageDescriptor imageDescriptor;
       
    76 	private ListenerList<IConnectionStatusChangedListener> listeners;
    36 
    77 
    37 	public AbstractConnection(IConnectionType connectionType, Map<String, String> settings) {
    78 	public AbstractConnection(IConnectionType connectionType, Map<String, String> settings) {
    38 		this.connectionType = connectionType;
    79 		this.connectionType = connectionType;
    39 		this.settings = new HashMap<String, String>(settings);
    80 		this.settings = new HashMap<String, String>(settings);
       
    81 		status = new ConnectionStatus(EConnectionStatus.NONE, "", ""); //$NON-NLS-1$ //$NON-NLS-2$
    40 	}
    82 	}
    41 
    83 
    42 	public void dispose() {
    84 	public void dispose() {
    43 	}
    85 	}
    44 
    86 
    69 	public synchronized void updateSettings(Map<String, String> newSettings) {
   111 	public synchronized void updateSettings(Map<String, String> newSettings) {
    70 //		System.out.println("settings update, thread="+Thread.currentThread().getId());
   112 //		System.out.println("settings update, thread="+Thread.currentThread().getId());
    71 		settings.putAll(newSettings);
   113 		settings.putAll(newSettings);
    72 	}
   114 	}
    73 
   115 
       
   116 	public boolean isDynamic() {
       
   117 		return dynamic;
       
   118 	}
       
   119 	
       
   120 	public void setDynamic(boolean dynamic) {
       
   121 		this.dynamic = dynamic;
       
   122 	}
       
   123 	
       
   124 	public IConnectionStatus getStatus() {
       
   125 		return status;
       
   126 	}
       
   127 
       
   128 	public void setStatus(IConnectionStatus status) {
       
   129 		Check.checkArg(status);
       
   130 		this.status = status;
       
   131 		fireStatusChanged();
       
   132 	}
       
   133 	
       
   134 	public void addStatusChangedListener(IConnectionStatusChangedListener listener) {
       
   135 		if (listeners == null)
       
   136 			listeners = new ListenerList<IConnectionStatusChangedListener>();
       
   137 		listeners.add(listener);
       
   138 	}
       
   139 	
       
   140 	public void removeStatusChangedListener(IConnectionStatusChangedListener listener) {
       
   141 		if (listeners != null)
       
   142 			listeners.remove(listener);
       
   143 	}
       
   144 	
       
   145 	public void fireStatusChanged() {
       
   146 		if (listeners == null)
       
   147 			return;
       
   148 		for (IConnectionStatusChangedListener listener : listeners) {
       
   149 			listener.statusChanged(status);
       
   150 		}
       
   151 	}
       
   152 
       
   153 	public ImageDescriptor getImageDescriptor() {
       
   154 		return imageDescriptor;
       
   155 	}
       
   156 	
       
   157 	public void setImageDescriptor(ImageDescriptor imageDescriptor) {
       
   158 		this.imageDescriptor = imageDescriptor;
       
   159 	}
       
   160 	
       
   161 
    74 }
   162 }