connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/interfaces/AbstractConnection.java
--- a/connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/interfaces/AbstractConnection.java Thu Dec 17 10:38:24 2009 -0600
+++ b/connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/interfaces/AbstractConnection.java Thu Dec 17 11:28:11 2009 -0600
@@ -18,25 +18,60 @@
package com.nokia.carbide.remoteconnections.interfaces;
-import com.nokia.carbide.remoteconnections.interfaces.IConnection;
-import com.nokia.carbide.remoteconnections.interfaces.IConnectionType;
-
import java.util.HashMap;
import java.util.Map;
+import org.eclipse.jface.resource.ImageDescriptor;
+
+import com.nokia.carbide.remoteconnections.internal.IConnection2;
+import com.nokia.carbide.remoteconnections.internal.IConnection2.IStatus.EStatus;
+import com.nokia.cpp.internal.api.utils.core.Check;
+import com.nokia.cpp.internal.api.utils.core.ListenerList;
+
/**
* A standard implementation of IConnection
*/
-public abstract class AbstractConnection implements IConnection {
+public abstract class AbstractConnection implements IConnection2 {
+
+ public class Status implements IStatus {
+ private EStatus estatus;
+ private String description;
+
+ public Status(EStatus estatus, String description) {
+ this.estatus = estatus;
+ this.description = description;
+ }
+
+ public EStatus getEStatus() {
+ return estatus;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setEStatus(EStatus estatus) {
+ this.estatus = estatus;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+ }
private final IConnectionType connectionType;
private final Map<String, String> settings;
private String name;
private String id;
+ private boolean dynamic;
+ private IStatus status;
+ private ImageDescriptor imageDescriptor;
+ private ListenerList<IStatusChangedListener> listeners;
public AbstractConnection(IConnectionType connectionType, Map<String, String> settings) {
this.connectionType = connectionType;
this.settings = new HashMap<String, String>(settings);
+ status = new Status(EStatus.NOT_READY, ""); //$NON-NLS-1$
}
public void dispose() {
@@ -71,4 +106,49 @@
settings.putAll(newSettings);
}
+ public boolean isDynamic() {
+ return dynamic;
+ }
+
+ public void setDynamic(boolean dynamic) {
+ this.dynamic = dynamic;
+ }
+
+ public IStatus getStatus() {
+ return status;
+ }
+
+ public void setStatus(IStatus status) {
+ Check.checkArg(status);
+ this.status = status;
+ }
+
+ public void addStatusChangedListener(IStatusChangedListener listener) {
+ if (listeners == null)
+ listeners = new ListenerList<IStatusChangedListener>();
+ listeners.add(listener);
+ }
+
+ public void removeStatusChangedListener(IStatusChangedListener listener) {
+ if (listeners != null)
+ listeners.remove(listener);
+ }
+
+ public void fireStatusChanged() {
+ if (listeners == null)
+ return;
+ for (IStatusChangedListener listener : listeners) {
+ listener.statusChanged(status);
+ }
+ }
+
+ public ImageDescriptor getImageDescriptor() {
+ return imageDescriptor;
+ }
+
+ public void setImageDescriptor(ImageDescriptor imageDescriptor) {
+ this.imageDescriptor = imageDescriptor;
+ }
+
+
}