summaryrefslogtreecommitdiffstats
path: root/src/pedro/work/test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/pedro/work/test.cpp')
-rw-r--r--src/pedro/work/test.cpp149
1 files changed, 149 insertions, 0 deletions
diff --git a/src/pedro/work/test.cpp b/src/pedro/work/test.cpp
new file mode 100644
index 000000000..be0676ebc
--- /dev/null
+++ b/src/pedro/work/test.cpp
@@ -0,0 +1,149 @@
+
+
+#include <stdio.h>
+
+#include "pedroxmpp.h"
+
+//########################################################################
+//# T E S T
+//########################################################################
+
+
+class TestListener : public Pedro::XmppEventListener
+{
+public:
+ TestListener(){}
+
+ virtual ~TestListener(){}
+
+ virtual void processXmppEvent(const Pedro::XmppEvent &evt)
+ {
+ int typ = evt.getType();
+ switch (typ)
+ {
+ case Pedro::XmppEvent::EVENT_STATUS:
+ {
+ printf("STATUS: %s\n", evt.getData().c_str());
+ break;
+ }
+ case Pedro::XmppEvent::EVENT_ERROR:
+ {
+ printf("ERROR: %s\n", evt.getData().c_str());
+ break;
+ }
+ case Pedro::XmppEvent::EVENT_CONNECTED:
+ {
+ printf("CONNECTED\n");
+ break;
+ }
+ case Pedro::XmppEvent::EVENT_DISCONNECTED:
+ {
+ printf("DISCONNECTED\n");
+ break;
+ }
+ case Pedro::XmppEvent::EVENT_MESSAGE:
+ {
+ printf("MESSAGE\n");
+ printf("from : %s\n", evt.getFrom().c_str());
+ printf("msg : %s\n", evt.getData().c_str());
+ break;
+ }
+ case Pedro::XmppEvent::EVENT_PRESENCE:
+ {
+ printf("PRESENCE\n");
+ printf("from : %s\n", evt.getFrom().c_str());
+ printf("presence : %d\n", evt.getPresence());
+ break;
+ }
+ case Pedro::XmppEvent::EVENT_MUC_MESSAGE:
+ {
+ printf("MUC GROUP MESSAGE\n");
+ printf("group: %s\n", evt.getGroup().c_str());
+ printf("from : %s\n", evt.getFrom().c_str());
+ printf("msg : %s\n", evt.getData().c_str());
+ break;
+ }
+ case Pedro::XmppEvent::EVENT_MUC_JOIN:
+ {
+ printf("MUC JOIN\n");
+ printf("group: %s\n", evt.getGroup().c_str());
+ printf("from : %s\n", evt.getFrom().c_str());
+ printf("presence: %d\n", evt.getPresence());
+ break;
+ }
+ case Pedro::XmppEvent::EVENT_MUC_LEAVE:
+ {
+ printf("MUC LEAVE\n");
+ printf("group: %s\n", evt.getGroup().c_str());
+ printf("from : %s\n", evt.getFrom().c_str());
+ printf("presence: %d\n", evt.getPresence());
+ break;
+ }
+ case Pedro::XmppEvent::EVENT_MUC_PRESENCE:
+ {
+ printf("MUC PRESENCE\n");
+ printf("group : %s\n", evt.getGroup().c_str());
+ printf("from : %s\n", evt.getFrom().c_str());
+ printf("presence: %d\n", evt.getPresence());
+ break;
+ }
+
+ }
+ }
+};
+
+
+bool doTest()
+{
+ printf("############ TESTING\n");
+
+ char *groupJid = "inkscape@conference.gristle.org";
+
+ Pedro::XmppClient client;
+ TestListener listener;
+ client.addXmppEventListener(listener);
+
+ //Host, port, user, pass, resource
+ if (!client.connect("jabber.org.uk", 443, "ishmal", "PASSWORD", "myclient"))
+ {
+ printf("Connect failed\n");
+ return false;
+ }
+
+ //Group jabber id, nick, pass
+ client.groupChatJoin(groupJid, "mynick", "");
+
+ client.pause(8000);
+
+ //Group jabber id, nick, msg
+ //client.groupChatMessage(groupJid, "hello, world");
+
+ client.pause(3000);
+
+ //client.groupChatGetUserList(groupJid);
+
+ client.pause(3000);
+
+ //client.groupChatPrivateMessage("inkscape2@conference.gristle.org",
+ // "ishmal", "hello, world");
+ client.message("ishmal@jabber.org.uk/https", "hey, bob");
+
+ client.pause(60000);
+
+ //Group jabber id, nick
+ client.groupChatLeave(groupJid, "mynick");
+
+ client.pause(1000000);
+
+ client.disconnect();
+
+ return true;
+}
+
+int main(int argc, char **argv)
+{
+ if (!doTest())
+ return 1;
+ return 0;
+}
+