Index: webrtc/libjingle/examples/call/callclient.h |
diff --git a/webrtc/libjingle/examples/call/callclient.h b/webrtc/libjingle/examples/call/callclient.h |
deleted file mode 100644 |
index 70d3778a68b6694fd91d248283d105e4b799bb04..0000000000000000000000000000000000000000 |
--- a/webrtc/libjingle/examples/call/callclient.h |
+++ /dev/null |
@@ -1,352 +0,0 @@ |
-/* |
- * libjingle |
- * Copyright 2004--2005, 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 WEBRTC_LIBJINGLE_EXAMPLES_CALL_CALLCLIENT_H_ |
-#define WEBRTC_LIBJINGLE_EXAMPLES_CALL_CALLCLIENT_H_ |
- |
-#include <map> |
-#include <string> |
-#include <vector> |
- |
-#include "talk/examples/call/console.h" |
-#include "talk/media/base/mediachannel.h" |
-#include "webrtc/base/scoped_ptr.h" |
-#include "webrtc/base/sslidentity.h" |
-#include "webrtc/libjingle/session/media/mediamessages.h" |
-#include "webrtc/libjingle/session/media/mediasessionclient.h" |
-#include "webrtc/libjingle/xmpp/hangoutpubsubclient.h" |
-#include "webrtc/libjingle/xmpp/presencestatus.h" |
-#include "webrtc/libjingle/xmpp/xmppclient.h" |
-#include "webrtc/p2p/base/session.h" |
- |
-namespace buzz { |
-class PresencePushTask; |
-class PresenceOutTask; |
-class MucInviteRecvTask; |
-class MucInviteSendTask; |
-class FriendInviteSendTask; |
-class DiscoInfoQueryTask; |
-class Muc; |
-class PresenceStatus; |
-class IqTask; |
-class MucRoomConfigTask; |
-class MucRoomLookupTask; |
-class MucPresenceStatus; |
-class XmlElement; |
-class HangoutPubSubClient; |
-struct AvailableMediaEntry; |
-struct MucRoomInfo; |
-} // namespace buzz |
- |
-namespace rtc { |
-class Thread; |
-class NetworkManager; |
-} // namespace rtc |
- |
-namespace cricket { |
-class PortAllocator; |
-class MediaEngineInterface; |
-class MediaSessionClient; |
-class Call; |
-class SessionManagerTask; |
-struct CallOptions; |
-struct MediaStreams; |
-struct StreamParams; |
-} // namespace cricket |
- |
-struct RosterItem { |
- buzz::Jid jid; |
- buzz::PresenceStatus::Show show; |
- std::string status; |
-}; |
- |
-struct StaticRenderedView { |
- StaticRenderedView(const cricket::StaticVideoView& view, |
- cricket::VideoRenderer* renderer) : |
- view(view), |
- renderer(renderer) { |
- } |
- |
- cricket::StaticVideoView view; |
- cricket::VideoRenderer* renderer; |
-}; |
- |
-// Maintain a mapping of (session, ssrc) to rendered view. |
-typedef std::map<std::pair<cricket::Session*, uint32>, |
- StaticRenderedView> StaticRenderedViews; |
- |
-class CallClient: public sigslot::has_slots<> { |
- public: |
- CallClient(buzz::XmppClient* xmpp_client, |
- const std::string& caps_node, |
- const std::string& version); |
- ~CallClient(); |
- |
- cricket::MediaSessionClient* media_client() const { return media_client_; } |
- void SetMediaEngine(cricket::MediaEngineInterface* media_engine) { |
- media_engine_ = media_engine; |
- } |
- void SetAutoAccept(bool auto_accept) { |
- auto_accept_ = auto_accept; |
- } |
- void SetPmucDomain(const std::string &pmuc_domain) { |
- pmuc_domain_ = pmuc_domain; |
- } |
- void SetRender(bool render) { |
- render_ = render; |
- } |
- void SetDataChannelType(cricket::DataChannelType data_channel_type) { |
- data_channel_type_ = data_channel_type; |
- } |
- void SetMultiSessionEnabled(bool multisession_enabled) { |
- multisession_enabled_ = multisession_enabled; |
- } |
- void SetConsole(Console *console) { |
- console_ = console; |
- } |
- void SetPriority(int priority) { |
- my_status_.set_priority(priority); |
- } |
- void SendStatus() { |
- SendStatus(my_status_); |
- } |
- void SendStatus(const buzz::PresenceStatus& status); |
- |
- void ParseLine(const std::string &str); |
- |
- void SendChat(const std::string& to, const std::string msg); |
- void SendData(const std::string& stream_name, |
- const std::string& text); |
- void InviteFriend(const std::string& user); |
- void JoinMuc(const buzz::Jid& room_jid); |
- void JoinMuc(const std::string& room_jid_str); |
- void LookupAndJoinMuc(const std::string& room_name); |
- void InviteToMuc(const std::string& user, const std::string& room); |
- bool InMuc(); |
- const buzz::Jid* FirstMucJid(); |
- void LeaveMuc(const std::string& room); |
- void SetNick(const std::string& muc_nick); |
- void SetPortAllocatorFlags(uint32 flags) { portallocator_flags_ = flags; } |
- void SetAllowLocalIps(bool allow_local_ips) { |
- allow_local_ips_ = allow_local_ips; |
- } |
- |
- void SetSignalingProtocol(cricket::SignalingProtocol protocol) { |
- signaling_protocol_ = protocol; |
- } |
- void SetTransportProtocol(cricket::TransportProtocol protocol) { |
- transport_protocol_ = protocol; |
- } |
- void SetSecurePolicy(cricket::SecurePolicy sdes_policy, |
- cricket::SecurePolicy dtls_policy) { |
- sdes_policy_ = sdes_policy; |
- dtls_policy_ = dtls_policy; |
- } |
- void SetSslIdentity(rtc::SSLIdentity* identity) { |
- ssl_identity_.reset(identity); |
- } |
- |
- typedef std::map<buzz::Jid, buzz::Muc*> MucMap; |
- |
- const MucMap& mucs() const { |
- return mucs_; |
- } |
- |
- void SetShowRosterMessages(bool show_roster_messages) { |
- show_roster_messages_ = show_roster_messages; |
- } |
- |
- private: |
- void AddStream(uint32 audio_src_id, uint32 video_src_id); |
- void RemoveStream(uint32 audio_src_id, uint32 video_src_id); |
- void OnStateChange(buzz::XmppEngine::State state); |
- |
- void InitMedia(); |
- void InitPresence(); |
- void StartXmppPing(); |
- void OnPingTimeout(); |
- void OnRequestSignaling(); |
- void OnSessionCreate(cricket::Session* session, bool initiate); |
- void OnCallCreate(cricket::Call* call); |
- void OnCallDestroy(cricket::Call* call); |
- void OnSessionState(cricket::Call* call, |
- cricket::Session* session, |
- cricket::Session::State state); |
- void OnStatusUpdate(const buzz::PresenceStatus& status); |
- void OnMucInviteReceived(const buzz::Jid& inviter, const buzz::Jid& room, |
- const std::vector<buzz::AvailableMediaEntry>& avail); |
- void OnMucJoined(const buzz::Jid& endpoint); |
- void OnMucStatusUpdate(const buzz::Jid& jid, |
- const buzz::MucPresenceStatus& status); |
- void OnMucLeft(const buzz::Jid& endpoint, int error); |
- void OnPresenterStateChange(const std::string& nick, |
- bool was_presenting, bool is_presenting); |
- void OnAudioMuteStateChange(const std::string& nick, |
- bool was_muted, bool is_muted); |
- void OnRecordingStateChange(const std::string& nick, |
- bool was_recording, bool is_recording); |
- void OnRemoteMuted(const std::string& mutee_nick, |
- const std::string& muter_nick, |
- bool should_mute_locally); |
- void OnMediaBlocked(const std::string& blockee_nick, |
- const std::string& blocker_nick); |
- void OnHangoutRequestError(const std::string& node, |
- const buzz::XmlElement* stanza); |
- void OnHangoutPublishAudioMuteError(const std::string& task_id, |
- const buzz::XmlElement* stanza); |
- void OnHangoutPublishPresenterError(const std::string& task_id, |
- const buzz::XmlElement* stanza); |
- void OnHangoutPublishRecordingError(const std::string& task_id, |
- const buzz::XmlElement* stanza); |
- void OnHangoutRemoteMuteError(const std::string& task_id, |
- const std::string& mutee_nick, |
- const buzz::XmlElement* stanza); |
- void OnDevicesChange(); |
- void OnMediaStreamsUpdate(cricket::Call* call, |
- cricket::Session* session, |
- const cricket::MediaStreams& added, |
- const cricket::MediaStreams& removed); |
- void OnSpeakerChanged(cricket::Call* call, |
- cricket::Session* session, |
- const cricket::StreamParams& speaker_stream); |
- void OnRoomLookupResponse(buzz::MucRoomLookupTask* task, |
- const buzz::MucRoomInfo& room_info); |
- void OnRoomLookupError(buzz::IqTask* task, |
- const buzz::XmlElement* stanza); |
- void OnRoomConfigResult(buzz::MucRoomConfigTask* task); |
- void OnRoomConfigError(buzz::IqTask* task, |
- const buzz::XmlElement* stanza); |
- void OnDataReceived(cricket::Call*, |
- const cricket::ReceiveDataParams& params, |
- const rtc::Buffer& payload); |
- buzz::Jid GenerateRandomMucJid(); |
- |
- // Depending on |enable|, render (or don't) all the streams in |session|. |
- void RenderAllStreams(cricket::Call* call, |
- cricket::Session* session, |
- bool enable); |
- |
- // Depending on |enable|, render (or don't) the streams in |video_streams|. |
- void RenderStreams(cricket::Call* call, |
- cricket::Session* session, |
- const std::vector<cricket::StreamParams>& video_streams, |
- bool enable); |
- |
- // Depending on |enable|, render (or don't) the supplied |stream|. |
- void RenderStream(cricket::Call* call, |
- cricket::Session* session, |
- const cricket::StreamParams& stream, |
- bool enable); |
- void AddStaticRenderedView( |
- cricket::Session* session, |
- uint32 ssrc, int width, int height, int framerate, |
- int x_offset, int y_offset); |
- bool RemoveStaticRenderedView(uint32 ssrc); |
- void RemoveCallsStaticRenderedViews(cricket::Call* call); |
- void SendViewRequest(cricket::Call* call, cricket::Session* session); |
- bool SelectFirstDesktopScreencastId(cricket::ScreencastId* screencastid); |
- |
- static const std::string strerror(buzz::XmppEngine::Error err); |
- |
- void PrintRoster(); |
- bool FindJid(const std::string& name, |
- buzz::Jid* found_jid, |
- cricket::CallOptions* options); |
- bool PlaceCall(const std::string& name, cricket::CallOptions options); |
- bool InitiateAdditionalSession(const std::string& name, |
- cricket::CallOptions options); |
- void TerminateAndRemoveSession(cricket::Call* call, const std::string& id); |
- void PrintCalls(); |
- void SwitchToCall(uint32 call_id); |
- void Accept(const cricket::CallOptions& options); |
- void Reject(); |
- void Quit(); |
- |
- void GetDevices(); |
- void PrintDevices(const std::vector<std::string>& names); |
- |
- void SetVolume(const std::string& level); |
- |
- cricket::Session* GetFirstSession() { return sessions_[call_->id()][0]; } |
- void AddSession(cricket::Session* session) { |
- sessions_[call_->id()].push_back(session); |
- } |
- |
- void PrintStats() const; |
- void SetupAcceptedCall(); |
- |
- typedef std::map<std::string, RosterItem> RosterMap; |
- |
- Console *console_; |
- buzz::XmppClient* xmpp_client_; |
- rtc::Thread* worker_thread_; |
- rtc::NetworkManager* network_manager_; |
- cricket::PortAllocator* port_allocator_; |
- cricket::SessionManager* session_manager_; |
- cricket::SessionManagerTask* session_manager_task_; |
- cricket::MediaEngineInterface* media_engine_; |
- cricket::DataEngineInterface* data_engine_; |
- cricket::MediaSessionClient* media_client_; |
- MucMap mucs_; |
- |
- cricket::Call* call_; |
- typedef std::map<uint32, std::vector<cricket::Session *> > SessionMap; |
- SessionMap sessions_; |
- |
- buzz::HangoutPubSubClient* hangout_pubsub_client_; |
- bool incoming_call_; |
- bool auto_accept_; |
- std::string pmuc_domain_; |
- bool render_; |
- cricket::DataChannelType data_channel_type_; |
- bool multisession_enabled_; |
- cricket::VideoRenderer* local_renderer_; |
- StaticRenderedViews static_rendered_views_; |
- uint32 static_views_accumulated_count_; |
- uint32 screencast_ssrc_; |
- |
- buzz::PresenceStatus my_status_; |
- buzz::PresencePushTask* presence_push_; |
- buzz::PresenceOutTask* presence_out_; |
- buzz::MucInviteRecvTask* muc_invite_recv_; |
- buzz::MucInviteSendTask* muc_invite_send_; |
- buzz::FriendInviteSendTask* friend_invite_send_; |
- RosterMap* roster_; |
- uint32 portallocator_flags_; |
- |
- bool allow_local_ips_; |
- cricket::SignalingProtocol signaling_protocol_; |
- cricket::TransportProtocol transport_protocol_; |
- cricket::SecurePolicy sdes_policy_; |
- cricket::SecurePolicy dtls_policy_; |
- rtc::scoped_ptr<rtc::SSLIdentity> ssl_identity_; |
- std::string last_sent_to_; |
- |
- bool show_roster_messages_; |
-}; |
- |
-#endif // WEBRTC_LIBJINGLE_EXAMPLES_CALL_CALLCLIENT_H_ |