diff --git a/src/pedro/pedroxmpp.h b/src/pedro/pedroxmpp.h
index 63d3d59e3369f837e473e0352af4b88a178527b4..34b6d039067a2faf76c8584dc4584782c55ee770 100644 (file)
--- a/src/pedro/pedroxmpp.h
+++ b/src/pedro/pedroxmpp.h
* Authors:
* Bob Jamison
*
- * Copyright (C) 2005 Bob Jamison
+ * Copyright (C) 2005-2006 Bob Jamison
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
#include <stdio.h>
#include <vector>
+#include <map>
#include <string>
*/
static const int EVENT_DISCONNECTED = 11;
+ /**
+ * Client has begun speaking to the server in SSL. This is usually
+ * emitted just before EVENT_CONNECTED, since authorization has not
+ * yet taken place.
+ */
+ static const int EVENT_SSL_STARTED = 12;
+
/**
* Client has successfully registered a new account on a server.
* The server is in getFrom(), the user in getTo()
static const int EVENT_REGISTRATION_NEW = 20;
/**
- * Client has successfully modified an existing account on a server.
+ * Client has successfully changed the password of an existing account on a server.
* The server is in getFrom(), the user in getTo()
*/
- static const int EVENT_REGISTRATION_MODIFY = 21;
+ static const int EVENT_REGISTRATION_CHANGE_PASS = 21;
/**
* Client has successfully cancelled an existing account on a server.
/**
*
*/
- virtual DOMString getJid()
- { return jid; }
+ virtual void setJid(const DOMString &val)
+ { jid = val; }
/**
*
*/
- virtual int getMsgId()
- { return msgId++; }
+ virtual DOMString getJid()
+ { return jid; }
- /**
- *
- */
- virtual void setDoRegister(bool val)
- { doRegister = val; }
/**
*
*/
- virtual bool getDoRegister()
- { return doRegister; }
+ virtual int getMsgId()
+ { return msgId++; }
*/
virtual void rosterShow(const DOMString &jid, const DOMString &show);
+ //#######################
+ //# REGISTRATION
+ //#######################
+
+ /**
+ * Set whether the client should to in-band registration
+ * before authentication. Causes inBandRegistrationNew() to be called
+ * synchronously, before async is started.
+ */
+ virtual void setDoRegister(bool val)
+ { doRegister = val; }
+
+ /**
+ * Change the password of an existing account with a server
+ */
+ bool inBandRegistrationChangePassword(const DOMString &newPassword);
+
+ /**
+ * Cancel an existing account with a server
+ */
+ bool inBandRegistrationCancel();
+
+
//#######################
//# CHAT (individual)
//#######################
*
*/
virtual std::vector<XmppUser>
- XmppClient::groupChatGetUserList(const DOMString &groupJid);
+ groupChatGetUserList(const DOMString &groupJid);
/**
*
/**
*
*/
- virtual int outputStreamOpen(const DOMString &jid,
+ virtual bool outputStreamOpen(const DOMString &jid,
const DOMString &streamId);
/**
*
*/
- virtual int outputStreamWrite(int streamId,
- const unsigned char *buf, unsigned long len);
+ virtual bool outputStreamWrite(const DOMString &streamId,
+ const std::vector<unsigned char> &buf);
/**
*
*/
- virtual int outputStreamClose(int streamId);
+ virtual bool outputStreamClose(const DOMString &streamId);
/**
*
*/
- virtual int inputStreamOpen(const DOMString &jid,
+ virtual bool inputStreamOpen(const DOMString &jid,
const DOMString &streamId,
const DOMString &iqId);
/**
*
*/
- virtual int inputStreamAvailable(int streamId);
-
- /**
- *
- */
- virtual std::vector<unsigned char> inputStreamRead(int streamId);
-
- /**
- *
- */
- virtual bool inputStreamClosing(int streamId);
-
- /**
- *
- */
- virtual int inputStreamClose(int streamId);
+ virtual bool inputStreamClose(const DOMString &streamId);
//#######################
bool iqAuthenticate(const DOMString &streamId);
- bool inBandRegistration();
+ /**
+ * Register a new account with a server. Not done by user
+ */
+ bool inBandRegistrationNew();
bool keepGoing;
std::vector<XmppGroupChat *>groupChats;
- static const int outputStreamCount = 16;
+ //#### Roster
+ std::vector<XmppUser>roster;
+
- XmppStream *outputStreams[outputStreamCount];
+ //#### Streams
+
+ bool processInBandByteStreamMessage(Element *root);
+
+ DOMString streamPacket;
- static const int inputStreamCount = 16;
+ std::map<DOMString, XmppStream *> outputStreams;
- XmppStream *inputStreams[inputStreamCount];
+ std::map<DOMString, XmppStream *> inputStreams;
- static const int fileSendCount = 16;
- XmppStream *fileSends[fileSendCount];
+ //#### File send
+
+ bool processFileMessage(Element *root);
+
+ std::map<DOMString, XmppStream *> fileSends;
- std::vector<XmppUser>roster;
};