| Index: chrome/browser/extensions/api/gcd_private/gcd_private_api.cc
|
| diff --git a/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc b/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc
|
| index b01e6f486a860947a1ebe56c5d34dd62f8298bd6..b646a2138cf05869eea66276676ad5aa867b061c 100644
|
| --- a/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc
|
| +++ b/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc
|
| @@ -124,7 +124,9 @@ class GcdPrivateAPIImpl : public EventRouter::Observer,
|
| int port,
|
| ConfirmationCodeCallback callback);
|
|
|
| - void ConfirmCode(int session_id, SessionEstablishedCallback callback);
|
| + void ConfirmCode(int session_id,
|
| + const std::string& code,
|
| + SessionEstablishedCallback callback);
|
|
|
| void SendMessage(int session_id,
|
| const std::string& api,
|
| @@ -229,6 +231,7 @@ class GcdPrivateSessionHolder
|
| void Start(const ConfirmationCodeCallback& callback);
|
|
|
| void ConfirmCode(
|
| + const std::string& code,
|
| const GcdPrivateAPIImpl::SessionEstablishedCallback& callback);
|
|
|
| void SendMessage(const std::string& api,
|
| @@ -240,9 +243,9 @@ class GcdPrivateSessionHolder
|
| private:
|
| // local_discovery::PrivetV3Session::Delegate implementation.
|
| virtual void OnSetupConfirmationNeeded(
|
| - const std::string& confirmation_code) OVERRIDE;
|
| - virtual void OnSessionEstablished() OVERRIDE;
|
| - virtual void OnCannotEstablishSession() OVERRIDE;
|
| + const std::string& confirmation_code,
|
| + api::gcd_private::ConfirmationType confirmation_type) OVERRIDE;
|
| + virtual void OnSessionStatus(api::gcd_private::Status status) OVERRIDE;
|
|
|
| scoped_ptr<local_discovery::PrivetHTTPClient> http_client_;
|
| scoped_ptr<local_discovery::PrivetV3Session> privet_session_;
|
| @@ -371,6 +374,7 @@ void GcdPrivateAPIImpl::EstablishSession(const std::string& ip_address,
|
| }
|
|
|
| void GcdPrivateAPIImpl::ConfirmCode(int session_id,
|
| + const std::string& code,
|
| SessionEstablishedCallback callback) {
|
| GCDSessionMap::iterator found = sessions_.find(session_id);
|
|
|
| @@ -379,7 +383,7 @@ void GcdPrivateAPIImpl::ConfirmCode(int session_id,
|
| return;
|
| }
|
|
|
| - found->second->ConfirmCode(callback);
|
| + found->second->ConfirmCode(code, callback);
|
| }
|
|
|
| void GcdPrivateAPIImpl::SendMessage(int session_id,
|
| @@ -551,9 +555,10 @@ void GcdPrivateSessionHolder::Start(const ConfirmationCodeCallback& callback) {
|
| }
|
|
|
| void GcdPrivateSessionHolder::ConfirmCode(
|
| + const std::string& code,
|
| const GcdPrivateAPIImpl::SessionEstablishedCallback& callback) {
|
| session_established_callback_ = callback;
|
| - privet_session_->ConfirmCode();
|
| + privet_session_->ConfirmCode(code);
|
| }
|
|
|
| void GcdPrivateSessionHolder::SendMessage(
|
| @@ -578,22 +583,16 @@ void GcdPrivateSessionHolder::DeleteRequest(GcdPrivateRequest* request) {
|
| }
|
|
|
| void GcdPrivateSessionHolder::OnSetupConfirmationNeeded(
|
| - const std::string& confirmation_code) {
|
| - confirm_callback_.Run(gcd_private::STATUS_SUCCESS,
|
| - confirmation_code,
|
| - gcd_private::CONFIRMATION_TYPE_DISPLAYCODE);
|
| + const std::string& confirmation_code,
|
| + gcd_private::ConfirmationType confirmation_type) {
|
| + confirm_callback_.Run(
|
| + gcd_private::STATUS_SUCCESS, confirmation_code, confirmation_type);
|
|
|
| confirm_callback_.Reset();
|
| }
|
|
|
| -void GcdPrivateSessionHolder::OnSessionEstablished() {
|
| - session_established_callback_.Run(gcd_private::STATUS_SUCCESS);
|
| -
|
| - session_established_callback_.Reset();
|
| -}
|
| -
|
| -void GcdPrivateSessionHolder::OnCannotEstablishSession() {
|
| - session_established_callback_.Run(gcd_private::STATUS_SESSIONERROR);
|
| +void GcdPrivateSessionHolder::OnSessionStatus(gcd_private::Status status) {
|
| + session_established_callback_.Run(status);
|
|
|
| session_established_callback_.Reset();
|
| }
|
| @@ -796,6 +795,7 @@ bool GcdPrivateConfirmCodeFunction::RunAsync() {
|
|
|
| gcd_api->ConfirmCode(
|
| params->session_id,
|
| + params->code,
|
| base::Bind(&GcdPrivateConfirmCodeFunction::OnSessionEstablishedCallback,
|
| this));
|
|
|
|
|