Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(24)

Unified Diff: third_party/libjingle_xmpp/xmpp/xmppsocket.h

Issue 2443903004: Add xmllite and xmpp sources to third_party/ (Closed)
Patch Set: Fix GN and sort includes Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/libjingle_xmpp/xmpp/xmppsocket.h
diff --git a/third_party/libjingle_xmpp/xmpp/xmppsocket.h b/third_party/libjingle_xmpp/xmpp/xmppsocket.h
new file mode 100644
index 0000000000000000000000000000000000000000..2a97eedf500fce48b69bf4c4f2d233d124f0485d
--- /dev/null
+++ b/third_party/libjingle_xmpp/xmpp/xmppsocket.h
@@ -0,0 +1,66 @@
+// Copyright 2004 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef WEBRTC_LIBJINGLE_XMPP_XMPPSOCKET_H_
+#define WEBRTC_LIBJINGLE_XMPP_XMPPSOCKET_H_
+
+#include "third_party/libjingle_xmpp/xmpp/asyncsocket.h"
+#include "third_party/libjingle_xmpp/xmpp/xmppengine.h"
+#include "webrtc/base/asyncsocket.h"
+#include "webrtc/base/buffer.h"
+#include "webrtc/base/sigslot.h"
+
+// The below define selects the SSLStreamAdapter implementation for
+// SSL, as opposed to the SSLAdapter socket adapter.
+// #define USE_SSLSTREAM
+
+namespace rtc {
+ class StreamInterface;
+ class SocketAddress;
+};
+extern rtc::AsyncSocket* cricket_socket_;
+
+namespace buzz {
+
+class XmppSocket : public buzz::AsyncSocket, public sigslot::has_slots<> {
+public:
+ XmppSocket(buzz::TlsOptions tls);
+ ~XmppSocket();
+
+ virtual buzz::AsyncSocket::State state();
+ virtual buzz::AsyncSocket::Error error();
+ virtual int GetError();
+
+ virtual bool Connect(const rtc::SocketAddress& addr);
+ virtual bool Read(char * data, size_t len, size_t* len_read);
+ virtual bool Write(const char * data, size_t len);
+ virtual bool Close();
+ virtual bool StartTls(const std::string & domainname);
+
+ sigslot::signal1<int> SignalCloseEvent;
+
+private:
+ void CreateCricketSocket(int family);
+#ifndef USE_SSLSTREAM
+ void OnReadEvent(rtc::AsyncSocket * socket);
+ void OnWriteEvent(rtc::AsyncSocket * socket);
+ void OnConnectEvent(rtc::AsyncSocket * socket);
+ void OnCloseEvent(rtc::AsyncSocket * socket, int error);
+#else // USE_SSLSTREAM
+ void OnEvent(rtc::StreamInterface* stream, int events, int err);
+#endif // USE_SSLSTREAM
+
+ rtc::AsyncSocket * cricket_socket_;
+#ifdef USE_SSLSTREAM
+ rtc::StreamInterface *stream_;
+#endif // USE_SSLSTREAM
+ buzz::AsyncSocket::State state_;
+ rtc::Buffer buffer_;
+ buzz::TlsOptions tls_;
+};
+
+} // namespace buzz
+
+#endif // WEBRTC_LIBJINGLE_XMPP_XMPPSOCKET_H_
+

Powered by Google App Engine
This is Rietveld 408576698