diff --git a/build/resources/META-INF/smack-config.xml b/build/resources/META-INF/smack-config.xml index 6d373de68..6bf897374 100644 --- a/build/resources/META-INF/smack-config.xml +++ b/build/resources/META-INF/smack-config.xml @@ -15,4 +15,10 @@ 30000 + + Smack + + pc + \ No newline at end of file diff --git a/source/org/jivesoftware/smack/SmackConfiguration.java b/source/org/jivesoftware/smack/SmackConfiguration.java index 3a1b09ec4..71ced02a6 100644 --- a/source/org/jivesoftware/smack/SmackConfiguration.java +++ b/source/org/jivesoftware/smack/SmackConfiguration.java @@ -79,6 +79,8 @@ public final class SmackConfiguration { private static int packetReplyTimeout = 5000; private static int keepAliveInterval = 30000; + private static String identityName = "Smack"; + private static String identityType = "pc"; private SmackConfiguration() { } @@ -120,6 +122,12 @@ public final class SmackConfiguration { else if (parser.getName().equals("keepAliveInterval")) { keepAliveInterval = parseIntProperty(parser, keepAliveInterval); } + else if (parser.getName().equals("identityName")) { + identityName = parser.nextText(); + } + else if (parser.getName().equals("identityType")) { + identityType = parser.nextText(); + } } eventType = parser.next(); } @@ -195,6 +203,52 @@ public final class SmackConfiguration { keepAliveInterval = interval; } + /** + * Returns the name of the client that will be returned when asked for the client identity + * in a disco request. The name could be any value you need to identity this client. + * + * @return the name of the client that will be returned when asked for the client identity + * in a disco request. + */ + public static String getIdentityName() { + return identityName; + } + + /** + * Sets the name of the client that will be returned when asked for the client identity + * in a disco request. The name could be any value you need to identity this client. + * + * @param name the name of the client that will be returned when asked for the client identity + * in a disco request. + */ + public static void setIdentityName(String name) { + identityName = name; + } + + /** + * Returns the type of client that will be returned when asked for the client identity in a + * disco request. The valid types are defined by the category client. Follow this link to learn + * the possible types: Jabber::Registrar. + * + * @return the type of client that will be returned when asked for the client identity in a + * disco request. + */ + public static String getIdentityType() { + return identityType; + } + + /** + * Sets the type of client that will be returned when asked for the client identity in a + * disco request. The valid types are defined by the category client. Follow this link to learn + * the possible types: Jabber::Registrar. + * + * @param type the type of client that will be returned when asked for the client identity in a + * disco request. + */ + public static void setIdentityType(String type) { + identityType = type; + } + private static void parseClassToLoad(XmlPullParser parser) throws Exception { String className = parser.nextText(); // Attempt to load the class so that the class can get initialized