Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package dragorn421;
- import java.awt.Desktop;
- import java.io.IOException;
- import java.net.URI;
- import java.net.URISyntaxException;
- import java.nio.charset.Charset;
- public class SkypeAPI
- {
- final static public String SKYPE_PROTOCOL = "skype:";
- final static private Charset UTF_8_CHARSET = Charset.forName("UTF-8");
- private SkypeAPI() {}
- static public boolean runSkypeOrFocusIt()
- {
- return SkypeAPI.runURI(SkypeAPI.SKYPE_PROTOCOL + "?");
- }
- static public boolean call(final String contact, final String... additionalContacts)
- {
- return SkypeAPI.call(false, contact, additionalContacts);
- }
- static public boolean call(final boolean video, final String contact, final String... additionalContacts)
- {
- return SkypeAPI.callTopic(video, null, contact, additionalContacts);
- }
- static public boolean callTopic(final String topicName, final String contact, final String... additionalContacts)
- {
- return SkypeAPI.callTopic(false, topicName, contact, additionalContacts);
- }
- static public boolean callTopic(final boolean video, final String topicName, final String contact, final String... additionalContacts)
- {
- String contacts = contact;
- for(final String c : additionalContacts)
- contacts += (";" + c);
- return SkypeAPI.runURI(SkypeAPI.SKYPE_PROTOCOL + contacts + "?call" + ((topicName==null)?(""):("&topic=" + SkypeAPI.escapeString(topicName))) + ((video)?("&video=true"):("")));
- }
- static public boolean createGroup(final String contact, final String... additionalContacts)
- {
- return SkypeAPI.createGroupTopic(null, contact, additionalContacts);
- }
- static public boolean createGroupTopic(final String topicName, final String contact, final String... additionalContacts)
- {
- String contacts = contact;
- for(final String c : additionalContacts)
- contacts += (";" + c);
- return SkypeAPI.runURI(SkypeAPI.SKYPE_PROTOCOL + contacts + "?chat" +
- ((topicName==null)?(""):("&topic=" + SkypeAPI.escapeString(topicName))));
- }
- static public boolean runURI(final String uriS)
- {
- Swagg421.p(uriS);
- URI uri;
- try {
- uri = new URI(uriS);
- } catch (URISyntaxException e) {
- e.printStackTrace();
- return false;
- }
- try {
- Desktop.getDesktop().browse(uri);
- } catch (IOException e) {
- e.printStackTrace();
- return false;
- }
- return true;
- }
- public static String escapeString(String s)
- {
- String hexa, es = "";
- for(final byte b : s.getBytes(SkypeAPI.UTF_8_CHARSET))
- {
- if(Character.isLetterOrDigit(b))
- {
- es += new String(new byte[]{b}, SkypeAPI.UTF_8_CHARSET);
- continue;
- }
- hexa = Integer.toString(b, 16);
- if(hexa.length() == 1)
- hexa = ("0" + hexa);
- es += ("%" + hexa);
- }
- return es;
- }
- public static String unescapeString(String s)
- {
- final byte bytes[] = s.getBytes();
- String es = "";
- for(int i=0;i<bytes.length;i++)
- {
- if(bytes[i] == '%')
- {
- es += new String(new byte[]{(byte) Integer.parseInt(new String(new byte[]{bytes[i+1], bytes[i+2]}, SkypeAPI.UTF_8_CHARSET), 16)}, SkypeAPI.UTF_8_CHARSET);
- i += 2;
- }
- else
- es += new String(new byte[]{bytes[i]}, SkypeAPI.UTF_8_CHARSET);
- }
- return es;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement