| Index: remoting/protocol/jingle_session.cc
|
| diff --git a/remoting/protocol/jingle_session.cc b/remoting/protocol/jingle_session.cc
|
| index ae1009e8b0357869ea3d16cda4209d1f57aa354e..cd33a0fff6f52f12e1e41fe1cd21b6f04b4524fd 100644
|
| --- a/remoting/protocol/jingle_session.cc
|
| +++ b/remoting/protocol/jingle_session.cc
|
| @@ -33,9 +33,9 @@ namespace protocol {
|
| JingleSession::JingleSession(
|
| JingleSessionManager* jingle_session_manager,
|
| cricket::Session* cricket_session,
|
| - Authenticator* authenticator)
|
| + scoped_ptr<Authenticator> authenticator)
|
| : jingle_session_manager_(jingle_session_manager),
|
| - authenticator_(authenticator),
|
| + authenticator_(authenticator.Pass()),
|
| state_(INITIALIZING),
|
| error_(OK),
|
| closing_(false),
|
| @@ -62,8 +62,8 @@ JingleSession::~JingleSession() {
|
| void JingleSession::SendSessionInitiate() {
|
| DCHECK_EQ(authenticator_->state(), Authenticator::MESSAGE_READY);
|
| cricket_session_->Initiate(
|
| - jid_, CreateSessionDescription(candidate_config()->Clone(),
|
| - authenticator_->GetNextMessage()));
|
| + jid_, CreateSessionDescription(
|
| + candidate_config()->Clone(), authenticator_->GetNextMessage()));
|
| }
|
|
|
| void JingleSession::CloseInternal(int result, Error error) {
|
| @@ -172,11 +172,11 @@ const CandidateSessionConfig* JingleSession::candidate_config() {
|
| }
|
|
|
| void JingleSession::set_candidate_config(
|
| - const CandidateSessionConfig* candidate_config) {
|
| + scoped_ptr<CandidateSessionConfig> candidate_config) {
|
| DCHECK(CalledOnValidThread());
|
| DCHECK(!candidate_config_.get());
|
| - DCHECK(candidate_config);
|
| - candidate_config_.reset(candidate_config);
|
| + DCHECK(candidate_config.get());
|
| + candidate_config_ = candidate_config.Pass();
|
| }
|
|
|
| const SessionConfig& JingleSession::config() {
|
| @@ -384,7 +384,7 @@ void JingleSession::AcceptConnection() {
|
| CHECK(content);
|
| const ContentDescription* content_description =
|
| static_cast<const ContentDescription*>(content->description);
|
| - candidate_config_.reset(content_description->config()->Clone());
|
| + candidate_config_ = content_description->config()->Clone();
|
|
|
| SessionManager::IncomingSessionResponse response =
|
| jingle_session_manager_->AcceptConnection(this);
|
| @@ -426,24 +426,25 @@ void JingleSession::AcceptConnection() {
|
| }
|
|
|
| // Connection must be configured by the AcceptConnection() callback.
|
| - CandidateSessionConfig* candidate_config =
|
| + scoped_ptr<CandidateSessionConfig> candidate_config =
|
| CandidateSessionConfig::CreateFrom(config());
|
|
|
| - buzz::XmlElement* auth_reply = NULL;
|
| + scoped_ptr<buzz::XmlElement> auth_reply;
|
| if (authenticator_->state() == Authenticator::MESSAGE_READY)
|
| auth_reply = authenticator_->GetNextMessage();
|
| DCHECK_NE(authenticator_->state(), Authenticator::MESSAGE_READY);
|
| cricket_session_->Accept(
|
| - CreateSessionDescription(candidate_config, auth_reply));
|
| + CreateSessionDescription(candidate_config.Pass(), auth_reply.Pass()));
|
| }
|
|
|
| void JingleSession::ProcessAuthenticationStep() {
|
| DCHECK_EQ(state_, CONNECTED);
|
|
|
| if (authenticator_->state() == Authenticator::MESSAGE_READY) {
|
| - buzz::XmlElement* auth_message = authenticator_->GetNextMessage();
|
| + scoped_ptr<buzz::XmlElement> auth_message =
|
| + authenticator_->GetNextMessage();
|
| cricket::XmlElements message;
|
| - message.push_back(auth_message);
|
| + message.push_back(auth_message.release());
|
| cricket_session_->SendInfoMessage(message);
|
| }
|
| DCHECK_NE(authenticator_->state(), Authenticator::MESSAGE_READY);
|
| @@ -471,9 +472,9 @@ void JingleSession::AddChannelConnector(
|
| }
|
|
|
| channel_connectors_[name] = connector;
|
| - ChannelAuthenticator* authenticator =
|
| + scoped_ptr<ChannelAuthenticator> authenticator =
|
| authenticator_->CreateChannelAuthenticator();
|
| - connector->Connect(authenticator, raw_channel);
|
| + connector->Connect(authenticator.Pass(), raw_channel);
|
|
|
| // Workaround bug in libjingle - it doesn't connect channels if they
|
| // are created after the session is accepted. See crbug.com/89384.
|
| @@ -518,12 +519,12 @@ void JingleSession::SetState(State new_state) {
|
|
|
| // static
|
| cricket::SessionDescription* JingleSession::CreateSessionDescription(
|
| - const CandidateSessionConfig* config,
|
| - const buzz::XmlElement* authenticator_message) {
|
| + scoped_ptr<CandidateSessionConfig> config,
|
| + scoped_ptr<buzz::XmlElement> authenticator_message) {
|
| cricket::SessionDescription* desc = new cricket::SessionDescription();
|
| desc->AddContent(
|
| ContentDescription::kChromotingContentName, kChromotingXmlNamespace,
|
| - new ContentDescription(config, authenticator_message));
|
| + new ContentDescription(config.Pass(), authenticator_message.Pass()));
|
| return desc;
|
| }
|
|
|
|
|