Index: webrtc/p2p/base/packettransportinternal.h |
diff --git a/webrtc/p2p/base/packettransportinterface.h b/webrtc/p2p/base/packettransportinternal.h |
similarity index 78% |
rename from webrtc/p2p/base/packettransportinterface.h |
rename to webrtc/p2p/base/packettransportinternal.h |
index 04130ef040b811cb726da637addad134ed587c5f..ab756050789775b4917b3688e05cdf92cc9d574e 100644 |
--- a/webrtc/p2p/base/packettransportinterface.h |
+++ b/webrtc/p2p/base/packettransportinternal.h |
@@ -8,12 +8,13 @@ |
* be found in the AUTHORS file in the root of the source tree. |
*/ |
-#ifndef WEBRTC_P2P_BASE_PACKETTRANSPORTINTERFACE_H_ |
-#define WEBRTC_P2P_BASE_PACKETTRANSPORTINTERFACE_H_ |
+#ifndef WEBRTC_P2P_BASE_PACKETTRANSPORTINTERNAL_H_ |
+#define WEBRTC_P2P_BASE_PACKETTRANSPORTINTERNAL_H_ |
#include <string> |
#include <vector> |
+#include "webrtc/api/packettransportinterface.h" |
// This is included for PacketOptions. |
#include "webrtc/base/asyncpacketsocket.h" |
#include "webrtc/base/sigslot.h" |
@@ -28,10 +29,9 @@ struct PacketOptions; |
struct PacketTime; |
struct SentPacket; |
-class PacketTransportInterface : public sigslot::has_slots<> { |
+class PacketTransportInternal : public virtual webrtc::PacketTransportInterface, |
+ public sigslot::has_slots<> { |
public: |
- virtual ~PacketTransportInterface() {} |
- |
// Identify the object for logging and debug purpose. |
virtual std::string debug_name() const = 0; |
@@ -67,20 +67,20 @@ class PacketTransportInterface : public sigslot::has_slots<> { |
virtual int GetError() = 0; |
// Emitted when the writable state, represented by |writable()|, changes. |
- sigslot::signal1<PacketTransportInterface*> SignalWritableState; |
+ sigslot::signal1<PacketTransportInternal*> SignalWritableState; |
- // Emitted when the PacketTransportInterface is ready to send packets. "Ready |
+ // Emitted when the PacketTransportInternal is ready to send packets. "Ready |
// to send" is more sensitive than the writable state; a transport may be |
// writable, but temporarily not able to send packets. For example, the |
// underlying transport's socket buffer may be full, as indicated by |
// SendPacket's return code and/or GetError. |
- sigslot::signal1<PacketTransportInterface*> SignalReadyToSend; |
+ sigslot::signal1<PacketTransportInternal*> SignalReadyToSend; |
// Emitted when receiving state changes to true. |
- sigslot::signal1<PacketTransportInterface*> SignalReceivingState; |
+ sigslot::signal1<PacketTransportInternal*> SignalReceivingState; |
// Signalled each time a packet is received on this channel. |
- sigslot::signal5<PacketTransportInterface*, |
+ sigslot::signal5<PacketTransportInternal*, |
const char*, |
size_t, |
const rtc::PacketTime&, |
@@ -88,10 +88,13 @@ class PacketTransportInterface : public sigslot::has_slots<> { |
SignalReadPacket; |
// Signalled each time a packet is sent on this channel. |
- sigslot::signal2<PacketTransportInterface*, const rtc::SentPacket&> |
+ sigslot::signal2<PacketTransportInternal*, const rtc::SentPacket&> |
SignalSentPacket; |
+ |
+ protected: |
+ PacketTransportInternal* GetInternal() { return this; } |
}; |
} // namespace rtc |
-#endif // WEBRTC_P2P_BASE_PACKETTRANSPORTINTERFACE_H_ |
+#endif // WEBRTC_P2P_BASE_PACKETTRANSPORTINTERNAL_H_ |