diff options
Diffstat (limited to 'sca-cpp/trunk/components/chat')
-rw-r--r-- | sca-cpp/trunk/components/chat/chat-sender.cpp | 4 | ||||
-rw-r--r-- | sca-cpp/trunk/components/chat/chat-sender2.cpp | 4 | ||||
-rw-r--r-- | sca-cpp/trunk/components/chat/chat-sendreceiver.cpp | 4 | ||||
-rw-r--r-- | sca-cpp/trunk/components/chat/xmpp.hpp | 16 |
4 files changed, 21 insertions, 7 deletions
diff --git a/sca-cpp/trunk/components/chat/chat-sender.cpp b/sca-cpp/trunk/components/chat/chat-sender.cpp index 0672292a06..a4cabef8de 100644 --- a/sca-cpp/trunk/components/chat/chat-sender.cpp +++ b/sca-cpp/trunk/components/chat/chat-sender.cpp @@ -118,8 +118,8 @@ private: const failable<value> start(const list<value>& params) { // Extract the the XMPP JID and password const list<value> props = params; - const value jid = ((lambda<value(list<value>)>)car(props))(list<value>()); - const value pass = ((lambda<value(list<value>)>)cadr(props))(list<value>()); + const value jid = ((lambda<value(const list<value>&)>)car(props))(list<value>()); + const value pass = ((lambda<value(const list<value>&)>)cadr(props))(list<value>()); // Create an XMPP client session XMPPClient xc(jid, pass, false); diff --git a/sca-cpp/trunk/components/chat/chat-sender2.cpp b/sca-cpp/trunk/components/chat/chat-sender2.cpp index b230d130c1..0e00728022 100644 --- a/sca-cpp/trunk/components/chat/chat-sender2.cpp +++ b/sca-cpp/trunk/components/chat/chat-sender2.cpp @@ -41,7 +41,7 @@ namespace sender { /** * Post an item to an XMPP JID. */ -const failable<value> post(const lambda<value(const list<value>&)> jid, const lambda<value(const list<value>&)> pass, const lambda<value(const list<value>&)> to, const lambda<value(const list<value>&)> msg, const list<value>& params) { +const failable<value> post(const lambda<value(const list<value>&)>& jid, const lambda<value(const list<value>&)>& pass, const lambda<value(const list<value>&)>& to, const lambda<value(const list<value>&)>& msg, const list<value>& params) { const value vjid = jid(mklist<value>("get", params)); const value vpass = pass(mklist<value>("get", params)); @@ -69,7 +69,7 @@ const failable<value> post(const lambda<value(const list<value>&)> jid, const la */ class chatSender { public: - chatSender(const lambda<value(const list<value>&)> jid, const lambda<value(const list<value>&)> pass, const lambda<value(const list<value>&)> to, const lambda<value(const list<value>&)> msg) : jid(jid), pass(pass), to(to), msg(msg) { + chatSender(const lambda<value(const list<value>&)>& jid, const lambda<value(const list<value>&)>& pass, const lambda<value(const list<value>&)>& to, const lambda<value(const list<value>&)>& msg) : jid(jid), pass(pass), to(to), msg(msg) { } const value operator()(const list<value>& params) const { diff --git a/sca-cpp/trunk/components/chat/chat-sendreceiver.cpp b/sca-cpp/trunk/components/chat/chat-sendreceiver.cpp index aac8d69f6c..bfbd32b9ae 100644 --- a/sca-cpp/trunk/components/chat/chat-sendreceiver.cpp +++ b/sca-cpp/trunk/components/chat/chat-sendreceiver.cpp @@ -131,8 +131,8 @@ const failable<value> start(const list<value>& params) { const bool hasRelay = !isNil(cddr(params)); const value rel = hasRelay? car(params) : value(lambda<value(const list<value>&)>()); const list<value> props = hasRelay? cdr(params) : params; - const value jid = ((lambda<value(list<value>)>)car(props))(list<value>()); - const value pass = ((lambda<value(list<value>)>)cadr(props))(list<value>()); + const value jid = ((lambda<value(const list<value>&)>)car(props))(list<value>()); + const value pass = ((lambda<value(const list<value>&)>)cadr(props))(list<value>()); // Create an XMPP client session XMPPClient xc(jid, pass, false); diff --git a/sca-cpp/trunk/components/chat/xmpp.hpp b/sca-cpp/trunk/components/chat/xmpp.hpp index e5f423c270..aa006029fa 100644 --- a/sca-cpp/trunk/components/chat/xmpp.hpp +++ b/sca-cpp/trunk/components/chat/xmpp.hpp @@ -76,6 +76,20 @@ public: debug("chat::xmppclient::copy"); } + const XMPPClient& operator=(const XMPPClient& xc) { + debug("chat::xmppclient::operator="); + if(this == &xc) + return *this; + owner = false; + ctx = xc.ctx; + conn = xc.conn; + listener = xc.listener; + connecting = xc.connecting; + connected = xc.connected; + disconnecting = xc.disconnecting; + return *this; + } + ~XMPPClient() { debug("chat::~xmppclient"); extern const failable<bool> disconnect(XMPPClient& xc); @@ -98,7 +112,7 @@ private: friend const failable<bool> disconnect(XMPPClient& xc); friend const failable<bool> listen(const lambda<failable<bool>(const value&, const value&, XMPPClient&)>& listener, XMPPClient& xc); - const bool owner; + bool owner; xmpp_ctx_t* ctx; xmpp_conn_t* conn; lambda<failable<bool>(const value&, const value&, XMPPClient&)> listener; |