1 package com.neuronrobotics.application.xmpp.GoogleChat;
5 import java.io.IOException;
6 import java.io.InputStream;
7 import java.util.ArrayList;
9 import javax.xml.parsers.DocumentBuilder;
10 import javax.xml.parsers.DocumentBuilderFactory;
11 import javax.xml.parsers.ParserConfigurationException;
13 import org.jivesoftware.smack.Chat;
14 import org.jivesoftware.smack.ChatManager;
15 import org.jivesoftware.smack.ChatManagerListener;
16 import org.jivesoftware.smack.ConnectionConfiguration;
17 import org.jivesoftware.smack.MessageListener;
18 import org.jivesoftware.smack.XMPPConnection;
19 import org.jivesoftware.smack.XMPPException;
20 import org.jivesoftware.smack.packet.Presence;
21 import org.w3c.dom.Document;
22 import org.w3c.dom.Element;
23 import org.w3c.dom.Node;
24 import org.w3c.dom.NodeList;
25 import org.xml.sax.SAXException;
27 import com.neuronrobotics.application.xmpp.IConversationFactory;
39 private static String
username =
"user@gmail.com";
46 private static String
host =
"talk.google.com";
49 private static String
service =
"gmail.com";
52 private static int port = 5222;
67 ArrayList<GoogleChat> googleChats =
new ArrayList<GoogleChat> ();
106 if((MessageListener.class.isInstance(
responder)))
107 throw new RuntimeException(
"Instance of IConversationFactory must also implement org.jivesoftware.smack.MessageListener");
112 presence =
new Presence(Presence.Type.available);
125 DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
126 DocumentBuilder dBuilder;
129 dBuilder = dbFactory.newDocumentBuilder();
130 doc = dBuilder.parse(config);
131 doc.getDocumentElement().normalize();
132 }
catch (ParserConfigurationException e) {
133 throw new RuntimeException(e);
134 }
catch (SAXException e) {
135 throw new RuntimeException(e);
136 }
catch (IOException e) {
137 throw new RuntimeException(e);
140 NodeList nList = doc.getElementsByTagName(
"login");
141 for (
int temp = 0; temp < nList.getLength(); temp++) {
143 Element eElement = (Element)nList.item(temp);
158 NodeList nlList= eElement.getElementsByTagName(sTag).item(0).getChildNodes();
159 Node nValue = (Node) nlList.item(0);
161 return nValue.getNodeValue();
204 Chat chat =
chatmanager.createChat(user, listener);
216 ArrayList<GoogleChat> tmp =
new ArrayList<GoogleChat>();
218 if(c!=
null && c.isAlive() )
222 tmp =
new ArrayList<GoogleChat>();
224 if(c!=
null && c.isAlive() )
ConnectionConfiguration connConfig
IConversationFactory responder
ArrayList< GoogleChat > getChats()
void setLoginInfo(InputStream config)
GoogleChat startChat(String user)
GoogleChatEngine(IConversationFactory responder, String user, String pass)
static String getTagValue(String sTag, Element eElement)
void setup(IConversationFactory responder)
void chatCreated(Chat arg0, boolean arg1)
GoogleChat startChat(String user, MessageListener listener)
XMPPConnection connection
MessageListener getNewMessageListener()
GoogleChatEngine(IConversationFactory responder, InputStream config)
IConversation getConversation()