diff -r 2455ef1f5bbc -r d5e927d5853b javaextensions/datagram/datagram/javasrc/com/nokia/mj/impl/gcf/protocol/datagram/DatagramPermissionImpl.java --- 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