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

Unified Diff: remoting/protocol/jingle_session_manager.cc

Issue 7312013: Minor cleanups in JingleSession and JingleSessionManager. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address comments. Created 9 years, 5 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: remoting/protocol/jingle_session_manager.cc
diff --git a/remoting/protocol/jingle_session_manager.cc b/remoting/protocol/jingle_session_manager.cc
index 93ae125103bbfa9295da50751e9227fa49e059a8..6db3a0d851baf3e90e38568916310c45f3c72e56 100644
--- a/remoting/protocol/jingle_session_manager.cc
+++ b/remoting/protocol/jingle_session_manager.cc
@@ -26,6 +26,20 @@ using buzz::XmlElement;
namespace remoting {
namespace protocol {
+// static
+JingleSessionManager* JingleSessionManager::CreateNotSandboxed() {
+ return new JingleSessionManager(NULL, NULL, NULL);
+}
+
+// static
+JingleSessionManager* JingleSessionManager::CreateSandboxed(
+ talk_base::NetworkManager* network_manager,
+ talk_base::PacketSocketFactory* socket_factory,
+ PortAllocatorSessionFactory* port_allocator_session_factory) {
+ return new JingleSessionManager(network_manager, socket_factory,
+ port_allocator_session_factory);
+}
+
JingleSessionManager::JingleSessionManager(
talk_base::NetworkManager* network_manager,
talk_base::PacketSocketFactory* socket_factory,
@@ -42,7 +56,7 @@ JingleSessionManager::JingleSessionManager(
}
JingleSessionManager::~JingleSessionManager() {
- DCHECK(closed_);
+ Close();
}
void JingleSessionManager::Init(
@@ -127,21 +141,6 @@ Session* JingleSessionManager::Connect(
jingle_session->set_candidate_config(candidate_config);
jingle_session->set_receiver_token(receiver_token);
- // TODO(sergeyu): Does this need to be asynchronous?
- MessageLoop::current()->PostTask(FROM_HERE, task_factory_.NewRunnableMethod(
- &JingleSessionManager::DoConnect, jingle_session, host_jid,
- host_public_key, receiver_token, state_change_callback));
- return jingle_session;
-}
-
-void JingleSessionManager::DoConnect(
- JingleSession* jingle_session,
- const std::string& host_jid,
- const std::string& host_public_key,
- const std::string& receiver_token,
- Session::StateChangeCallback* state_change_callback) {
- DCHECK(CalledOnValidThread());
-
cricket::Session* cricket_session = cricket_session_manager_->CreateSession(
local_jid_, kChromotingXmlNamespace);
@@ -153,6 +152,8 @@ void JingleSessionManager::DoConnect(
cricket_session->Initiate(host_jid, CreateClientSessionDescription(
jingle_session->candidate_config()->Clone(), receiver_token,
jingle_session->GetEncryptedMasterKey()));
+
+ return jingle_session;
}
void JingleSessionManager::OnSessionCreate(
@@ -186,7 +187,7 @@ void JingleSessionManager::OnSessionDestroy(cricket::Session* cricket_session) {
}
}
-void JingleSessionManager::AcceptConnection(
+bool JingleSessionManager::AcceptConnection(
JingleSession* jingle_session,
cricket::Session* cricket_session) {
DCHECK(CalledOnValidThread());
@@ -194,7 +195,7 @@ void JingleSessionManager::AcceptConnection(
// Reject connection if we are closed.
if (closed_) {
cricket_session->Reject(cricket::STR_TERMINATE_DECLINE);
- return;
+ return false;
}
const cricket::SessionDescription* session_description =
@@ -230,24 +231,20 @@ void JingleSessionManager::AcceptConnection(
case protocol::SessionManager::INCOMPATIBLE: {
cricket_session->Reject(cricket::STR_TERMINATE_INCOMPATIBLE_PARAMETERS);
- jingle_session->ReleaseSession();
- jingle_session->Close();
- delete jingle_session;
- break;
+ return false;
}
case protocol::SessionManager::DECLINE: {
cricket_session->Reject(cricket::STR_TERMINATE_DECLINE);
- jingle_session->ReleaseSession();
- jingle_session->Close();
- delete jingle_session;
- break;
+ return false;
}
default: {
NOTREACHED();
}
}
+
+ return true;
}
void JingleSessionManager::SessionDestroyed(JingleSession* jingle_session) {
@@ -265,7 +262,7 @@ void JingleSessionManager::OnJingleInfo(
const std::vector<talk_base::SocketAddress>& stun_hosts) {
DCHECK(CalledOnValidThread());
- if (port_allocator_.get()) {
+ if (http_port_allocator_) {
// TODO(ajwong): Avoid string processing if log-level is low.
std::string stun_servers;
for (size_t i = 0; i < stun_hosts.size(); ++i) {

Powered by Google App Engine
This is Rietveld 408576698