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

Unified Diff: webrtc/libjingle/session/tunnel/tunnelsessionclient.h

Issue 1175243003: Remove webrtc/libjingle/{examples,session}. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 5 years, 6 months 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: webrtc/libjingle/session/tunnel/tunnelsessionclient.h
diff --git a/webrtc/libjingle/session/tunnel/tunnelsessionclient.h b/webrtc/libjingle/session/tunnel/tunnelsessionclient.h
deleted file mode 100644
index 5fa121c157fa88d033da6a63ee58387b46986ef6..0000000000000000000000000000000000000000
--- a/webrtc/libjingle/session/tunnel/tunnelsessionclient.h
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * libjingle
- * Copyright 2004--2008, Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef __TUNNELSESSIONCLIENT_H__
-#define __TUNNELSESSIONCLIENT_H__
-
-#include <vector>
-
-#include "webrtc/base/criticalsection.h"
-#include "webrtc/base/stream.h"
-#include "webrtc/libjingle/session/sessionclient.h"
-#include "webrtc/libjingle/session/sessionmanager.h"
-#include "webrtc/libjingle/xmllite/qname.h"
-#include "webrtc/libjingle/xmpp/constants.h"
-#include "webrtc/p2p/base/constants.h"
-#include "webrtc/p2p/base/pseudotcp.h"
-#include "webrtc/p2p/base/session.h"
-#include "webrtc/p2p/base/sessiondescription.h"
-
-namespace cricket {
-
-class TunnelSession;
-class TunnelStream;
-
-enum TunnelSessionRole { INITIATOR, RESPONDER };
-
-///////////////////////////////////////////////////////////////////////////////
-// TunnelSessionClient
-///////////////////////////////////////////////////////////////////////////////
-
-// Base class is still abstract
-class TunnelSessionClientBase
- : public SessionClient, public rtc::MessageHandler {
-public:
- TunnelSessionClientBase(const buzz::Jid& jid, SessionManager* manager,
- const std::string &ns);
- virtual ~TunnelSessionClientBase();
-
- const buzz::Jid& jid() const { return jid_; }
- SessionManager* session_manager() const { return session_manager_; }
-
- void OnSessionCreate(Session* session, bool received);
- void OnSessionDestroy(Session* session);
-
- // This can be called on any thread. The stream interface is
- // thread-safe, but notifications must be registered on the creating
- // thread.
- rtc::StreamInterface* CreateTunnel(const buzz::Jid& to,
- const std::string& description);
-
- rtc::StreamInterface* AcceptTunnel(Session* session);
- void DeclineTunnel(Session* session);
-
- // Invoked on an incoming tunnel
- virtual void OnIncomingTunnel(const buzz::Jid &jid, Session *session) = 0;
-
- // Invoked on an outgoing session request
- virtual SessionDescription* CreateOffer(
- const buzz::Jid &jid, const std::string &description) = 0;
- // Invoked on a session request accept to create
- // the local-side session description
- virtual SessionDescription* CreateAnswer(
- const SessionDescription* offer) = 0;
-
-protected:
-
- void OnMessage(rtc::Message* pmsg);
-
- // helper method to instantiate TunnelSession. By overriding this,
- // subclasses of TunnelSessionClient are able to instantiate
- // subclasses of TunnelSession instead.
- virtual TunnelSession* MakeTunnelSession(Session* session,
- rtc::Thread* stream_thread,
- TunnelSessionRole role);
-
- buzz::Jid jid_;
- SessionManager* session_manager_;
- std::vector<TunnelSession*> sessions_;
- std::string namespace_;
- bool shutdown_;
-};
-
-class TunnelSessionClient
- : public TunnelSessionClientBase, public sigslot::has_slots<> {
-public:
- TunnelSessionClient(const buzz::Jid& jid, SessionManager* manager);
- TunnelSessionClient(const buzz::Jid& jid, SessionManager* manager,
- const std::string &ns);
- virtual ~TunnelSessionClient();
-
- virtual bool ParseContent(SignalingProtocol protocol,
- const buzz::XmlElement* elem,
- ContentDescription** content,
- ParseError* error);
- virtual bool WriteContent(SignalingProtocol protocol,
- const ContentDescription* content,
- buzz::XmlElement** elem,
- WriteError* error);
-
- // Signal arguments are this, initiator, description, session
- sigslot::signal4<TunnelSessionClient*, buzz::Jid, std::string, Session*>
- SignalIncomingTunnel;
-
- virtual void OnIncomingTunnel(const buzz::Jid &jid,
- Session *session);
- virtual SessionDescription* CreateOffer(
- const buzz::Jid &jid, const std::string &description);
- virtual SessionDescription* CreateAnswer(
- const SessionDescription* offer);
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// TunnelSession
-// Note: The lifetime of TunnelSession is complicated. It needs to survive
-// until the following three conditions are true:
-// 1) TunnelStream has called Close (tracked via non-null stream_)
-// 2) PseudoTcp has completed (tracked via non-null tcp_)
-// 3) Session has been destroyed (tracked via non-null session_)
-// This is accomplished by calling CheckDestroy after these indicators change.
-///////////////////////////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////////////
-// TunnelStream
-// Note: Because TunnelStream provides a stream interface, its lifetime is
-// controlled by the owner of the stream pointer. As a result, we must support
-// both the TunnelSession disappearing before TunnelStream, and vice versa.
-///////////////////////////////////////////////////////////////////////////////
-
-class PseudoTcpChannel;
-
-class TunnelSession : public sigslot::has_slots<> {
- public:
- // Signalling thread methods
- TunnelSession(TunnelSessionClientBase* client, Session* session,
- rtc::Thread* stream_thread);
-
- virtual rtc::StreamInterface* GetStream();
- bool HasSession(Session* session);
- Session* ReleaseSession(bool channel_exists);
-
- protected:
- virtual ~TunnelSession();
-
- virtual void OnSessionState(BaseSession* session, BaseSession::State state);
- virtual void OnInitiate();
- virtual void OnAccept();
- virtual void OnTerminate();
- virtual void OnChannelClosed(PseudoTcpChannel* channel);
-
- TunnelSessionClientBase* client_;
- Session* session_;
- PseudoTcpChannel* channel_;
-};
-
-///////////////////////////////////////////////////////////////////////////////
-
-} // namespace cricket
-
-#endif // __TUNNELSESSIONCLIENT_H__
« no previous file with comments | « webrtc/libjingle/session/tunnel/securetunnelsessionclient.cc ('k') | webrtc/libjingle/session/tunnel/tunnelsessionclient.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698