Changes to remote connections
authordadubrow
Wed, 16 Dec 2009 10:28:34 -0600
changeset 688 ae5ff180a61d
parent 687 593d05f9d5ca
child 690 139a9d8351fe
Changes to remote connections add javadoc to IConnectionsManager + IConnectionTypeProvider deprecate internal methods and don't use them internally from interface add new interfaces and methods to support host PnP
connectivity/com.nokia.carbide.remoteConnections/schema/deviceDiscoveryAgent.exsd
connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/internal/IConnectedService2.java
connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/internal/IConnection2.java
connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/internal/IDeviceDiscoveryAgent.java
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/connectivity/com.nokia.carbide.remoteConnections/schema/deviceDiscoveryAgent.exsd	Wed Dec 16 10:28:34 2009 -0600
@@ -0,0 +1,102 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="com.nokia.carbide.remoteConnections" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+      <appInfo>
+         <meta.schema plugin="com.nokia.carbide.remoteConnections" id="deviceDiscoveryAgent" name="Device Discovery Agent"/>
+      </appInfo>
+      <documentation>
+         [Enter description of this extension point.]
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <annotation>
+         <appInfo>
+            <meta.element />
+         </appInfo>
+      </annotation>
+      <complexType>
+         <sequence>
+            <element ref="deviceDiscoveryAgent"/>
+         </sequence>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appInfo>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="deviceDiscoveryAgent">
+      <complexType>
+         <attribute name="class" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="java" basedOn=":com.nokia.carbide.remoteconnections.internal.IDeviceDiscoveryAgent"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="since"/>
+      </appInfo>
+      <documentation>
+         [Enter the first release in which this extension point appears.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="examples"/>
+      </appInfo>
+      <documentation>
+         [Enter extension point usage example here.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="apiinfo"/>
+      </appInfo>
+      <documentation>
+         [Enter API information here.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="implementation"/>
+      </appInfo>
+      <documentation>
+         [Enter information about supplied implementation of this extension point.]
+      </documentation>
+   </annotation>
+
+
+</schema>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/internal/IConnectedService2.java	Wed Dec 16 10:28:34 2009 -0600
@@ -0,0 +1,35 @@
+/**
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+package com.nokia.carbide.remoteconnections.internal;
+
+import java.util.Map;
+
+import com.nokia.carbide.remoteconnections.interfaces.IConnectedService;
+
+/**
+ * An extended interface to a connected service
+ * @since 3.0
+ */
+public interface IConnectedService2 extends IConnectedService {
+
+	/**
+	 * Return the properties for this connected service
+	 * @return Map
+	 */
+	Map<String, String> getProperties();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/internal/IConnection2.java	Wed Dec 16 10:28:34 2009 -0600
@@ -0,0 +1,103 @@
+/**
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+package com.nokia.carbide.remoteconnections.internal;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+
+import com.nokia.carbide.remoteconnections.interfaces.IConnection;
+
+/**
+ * An extended interface to a connection
+ * @since 3.0
+ */
+public interface IConnection2 extends IConnection {
+	
+	/**
+	 * Whether this connection is dynamic (managed by an automated process)
+	 * Dynamic connections are not persisted or user editable.
+	 * @return boolean
+	 */
+	boolean isDynamic();
+	
+	/**
+	 * Sets this connection's dynamic attribute.
+	 * @see IConnection2#isDynamic()
+	 * @param dynamic boolean
+	 */
+	void setDynamic(boolean dynamic);
+	
+	/**
+	 * The status of a connection
+	 */
+	public interface IStatus {
+		enum EStatus {
+			READY, NOT_READY, IN_USE, IN_USE_DISCONNECTED
+		};
+		
+		EStatus getEStatus();
+		
+		String getDescription();
+	}
+	
+	/**
+	 * Gets this connection's status
+	 * @return IStatus
+	 */
+	IStatus getStatus();
+
+	/**
+	 * Sets this connection's status
+	 * @see IConnection2#getStatus()
+	 * @param status IStatus
+	 */
+	void setStatus(IStatus status);
+	
+	/**
+	 * A listener for status changes
+	 */
+	public interface IStatusChangedListener {
+		void statusChanged(IStatus status);
+	}
+
+	/**
+	 * Adds a listener for status changes
+	 * @param listener IStatusChangedListener
+	 */
+	void addStatusChangedListener(IStatusChangedListener listener);
+	
+	/**
+	 * Removes a listener for status changes
+	 * @param listener IStatusChangedListener
+	 */
+	void removeStatusChangedListener(IStatusChangedListener listener);
+
+	/**
+	 * An optional icon representing this connection.
+	 * If none is set, the default icon is used.
+	 * @return ImageDescriptor
+	 */
+	ImageDescriptor getImageDescriptor();
+	
+	/**
+	 * Set the image descriptor for this connection.
+	 * @see IConnection2#getImageDescriptor()
+	 * @param imageDescriptor
+	 */
+	void setImageDescriptor(ImageDescriptor imageDescriptor);
+	
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/internal/IDeviceDiscoveryAgent.java	Wed Dec 16 10:28:34 2009 -0600
@@ -0,0 +1,55 @@
+/**
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+package com.nokia.carbide.remoteconnections.internal;
+
+import java.net.URL;
+
+import org.eclipse.core.runtime.CoreException;
+
+/**
+ * An interface to a device discovery agent
+ * @since 3.0
+ */
+public interface IDeviceDiscoveryAgent {
+
+	/**
+	 * Starts agent. Once started, runs until stopped.
+	 * @throws CoreException
+	 */
+	void start() throws CoreException;
+	
+	/**
+	 * Stops agent.
+	 * @throws CoreException
+	 */
+	void stop() throws CoreException;
+	
+	/**
+	 * Returns a URL to specific information about this discovery mechanism,
+	 * troubleshooting, etc.
+	 * @return URL
+	 */
+	URL getInformation();
+	
+	// In addition, there may need to be an additional API to do a deeper form of discovery for
+	// connection mechanisms that require pairing (like BT or Wifi). In these cases, normal discovery
+	// will probably be for already paired devices, however, the user will want to discover all 
+	// potential devices from some UI in order to set up a paired device.
+	// A method for doing this will need to be added.
+	
+}