javaextensions/datagram/datagram/javasrc/com/nokia/mj/impl/gcf/protocol/datagram/DatagramPermissionImpl.java
branchRCL_3
changeset 71 d5e927d5853b
parent 66 2455ef1f5bbc
child 83 26b2b12093af
--- a/javaextensions/datagram/datagram/javasrc/com/nokia/mj/impl/gcf/protocol/datagram/DatagramPermissionImpl.java	Wed Sep 01 12:33:18 2010 +0100
+++ b/javaextensions/datagram/datagram/javasrc/com/nokia/mj/impl/gcf/protocol/datagram/DatagramPermissionImpl.java	Tue Sep 14 21:06:50 2010 +0300
@@ -25,6 +25,13 @@
 
 public class DatagramPermissionImpl extends PermissionBase
 {
+    /**
+     * Constants for identifying the target/uri of connection: client or server
+     */
+     public static String CLIENT_TARGET = "datagram://*";
+     public static String SERVER_TARGET = "datagram://";
+
+     private String iTarget;
 
     /**
      * Returns the question (as localized text) associated with the security
@@ -37,6 +44,7 @@
     public DatagramPermissionImpl(String uri)
     {
         super(uri);
+        iTarget = uri;
     }
 
     public String getSecurityPromptQuestion(int aInteractionMode)
@@ -56,6 +64,10 @@
 
     public String toString()
     {
+        if (SERVER_TARGET.equals(iTarget))
+        {
+            return "javax.microedition.io.Connector.datagramreceiver";
+        }
         return "javax.microedition.io.Connector.datagram";
     }
 
@@ -63,7 +75,12 @@
     {
         if (p instanceof DatagramPermissionImpl)
         {
-            return true;
+            DatagramPermissionImpl o = (DatagramPermissionImpl)p;
+            if ((iTarget != null && iTarget.equals(o.getTarget()))
+                || (iTarget == null && o.getTarget() == null))
+            {
+                return true;
+            }
         }
         return false;
     }
@@ -88,4 +105,8 @@
         return null;
     }
 
+    String getTarget()
+    {
+        return iTarget;
+    }
 }
\ No newline at end of file