Merge branch 'subtree'
[fanfix.git] / src / be / nikiroo / utils / serial / server / ConnectActionClientString.java
index 8b5ec2af1bb56da102c9c80c5d431bef558f1049..3005cee56b5ab7cbe24a0f3056c6498731ab3e95 100644 (file)
@@ -16,28 +16,43 @@ import be.nikiroo.utils.Version;
  */
 public class ConnectActionClientString extends ConnectActionClient {
        /**
-        * Create a new {@link ConnectActionClientString} with the current
-        * application version (see {@link Version#getCurrentVersion()}) as the
-        * client version.
+        * Create a new {@link ConnectActionClientString}.
         * 
         * @param s
         *            the socket to bind to
+        * @param key
+        *            an optional key to encrypt all the communications (if NULL,
+        *            everything will be sent in clear text)
         */
-       public ConnectActionClientString(Socket s) {
-               super(s);
+       public ConnectActionClientString(Socket s, String key) {
+               super(s, key);
        }
 
        /**
-        * Create a new {@link ConnectActionClientString} with the current
-        * application version (see {@link Version#getCurrentVersion()}) as the
-        * client version.
+        * Create a new {@link ConnectActionClientString}.
+        * 
+        * @param s
+        *            the socket to bind to
+        * @param key
+        *            an optional key to encrypt all the communications (if NULL,
+        *            everything will be sent in clear text)
+        * @param clientVersion
+        *            the version of this client
+        */
+       public ConnectActionClientString(Socket s, String key, Version clientVersion) {
+               super(s, key, clientVersion);
+       }
+
+       /**
+        * Create a new {@link ConnectActionClientString}.
         * 
         * @param host
         *            the host to bind to
         * @param port
         *            the port to bind to
-        * @param ssl
-        *            TRUE for an SSL connection, FALSE for plain text
+        * @param key
+        *            an optional key to encrypt all the communications (if NULL,
+        *            everything will be sent in clear text)
         * 
         * @throws IOException
         *             in case of I/O error
@@ -47,9 +62,9 @@ public class ConnectActionClientString extends ConnectActionClient {
         *             if the port parameter is outside the specified range of valid
         *             port values, which is between 0 and 65535, inclusive
         */
-       public ConnectActionClientString(String host, int port, boolean ssl)
+       public ConnectActionClientString(String host, int port, String key)
                        throws IOException {
-               super(host, port, ssl);
+               super(host, port, key);
        }
 
        /**
@@ -59,10 +74,11 @@ public class ConnectActionClientString extends ConnectActionClient {
         *            the host to bind to
         * @param port
         *            the port to bind to
-        * @param ssl
-        *            TRUE for an SSL connection, FALSE for plain text
-        * @param version
-        *            the client version
+        * @param key
+        *            an optional key to encrypt all the communications (if NULL,
+        *            everything will be sent in clear text)
+        * @param clientVersion
+        *            the version of this client
         * 
         * @throws IOException
         *             in case of I/O error
@@ -72,21 +88,9 @@ public class ConnectActionClientString extends ConnectActionClient {
         *             if the port parameter is outside the specified range of valid
         *             port values, which is between 0 and 65535, inclusive
         */
-       public ConnectActionClientString(String host, int port, boolean ssl,
-                       Version version) throws IOException {
-               super(host, port, ssl, version);
-       }
-
-       /**
-        * Create a new {@link ConnectActionClientString}.
-        * 
-        * @param s
-        *            the socket to bind to
-        * @param version
-        *            the client version
-        */
-       public ConnectActionClientString(Socket s, Version version) {
-               super(s, version);
+       public ConnectActionClientString(String host, int port, String key,
+                       Version clientVersion) throws IOException {
+               super(host, port, key, clientVersion);
        }
 
        /**
@@ -103,4 +107,59 @@ public class ConnectActionClientString extends ConnectActionClient {
        public String send(String data) throws IOException {
                return action.sendString(data);
        }
+
+       // Deprecated //
+
+       /**
+        * @deprecated SSL support has been replaced by key-based encryption.
+        *             <p>
+        *             Please use the version with key encryption (this deprecated
+        *             version uses an empty key when <tt>ssl</tt> is TRUE and no
+        *             key (NULL) when <tt>ssl</tt> is FALSE).
+        */
+       @Deprecated
+       public ConnectActionClientString(String host, int port, boolean ssl)
+                       throws IOException {
+               this(host, port, ssl ? "" : null);
+       }
+
+       /**
+        * @deprecated SSL support has been replaced by key-based encryption.
+        *             <p>
+        *             Please use the version with key encryption (this deprecated
+        *             version uses an empty key when <tt>ssl</tt> is TRUE and no
+        *             key (NULL) when <tt>ssl</tt> is FALSE).
+        */
+       @Deprecated
+       public ConnectActionClientString(String host, int port, boolean ssl,
+                       Version version) throws IOException {
+               this(host, port, ssl ? "" : null, version);
+       }
+
+       /**
+        * @deprecated SSL support has been replaced by key-based encryption.
+        *             <p>
+        *             Please use the version with key encryption (this deprecated
+        *             version uses an empty key when <tt>ssl</tt> is TRUE and no
+        *             key (NULL) when <tt>ssl</tt> is FALSE).
+        */
+       @SuppressWarnings("unused")
+       @Deprecated
+       public ConnectActionClientString(Socket s, boolean ssl) throws IOException {
+               this(s, ssl ? "" : null);
+       }
+
+       /**
+        * @deprecated SSL support has been replaced by key-based encryption.
+        *             <p>
+        *             Please use the version with key encryption (this deprecated
+        *             version uses an empty key when <tt>ssl</tt> is TRUE and no
+        *             key (NULL) when <tt>ssl</tt> is FALSE).
+        */
+       @SuppressWarnings("unused")
+       @Deprecated
+       public ConnectActionClientString(Socket s, boolean ssl, Version version)
+                       throws IOException {
+               this(s, ssl ? "" : null, version);
+       }
 }
\ No newline at end of file