| Index: chrome/browser/extensions/api/gcd_private/privet_v3_session.h
|
| diff --git a/chrome/browser/extensions/api/gcd_private/privet_v3_session.h b/chrome/browser/extensions/api/gcd_private/privet_v3_session.h
|
| deleted file mode 100644
|
| index 8a29a5f27c081b6b4d0bb3f36f75a9d14f390cae..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/extensions/api/gcd_private/privet_v3_session.h
|
| +++ /dev/null
|
| @@ -1,138 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef CHROME_BROWSER_EXTENSIONS_API_GCD_PRIVATE_PRIVET_V3_SESSION_H_
|
| -#define CHROME_BROWSER_EXTENSIONS_API_GCD_PRIVATE_PRIVET_V3_SESSION_H_
|
| -
|
| -#include <stdint.h>
|
| -
|
| -#include <memory>
|
| -#include <string>
|
| -
|
| -#include "base/callback.h"
|
| -#include "base/gtest_prod_util.h"
|
| -#include "base/macros.h"
|
| -#include "base/memory/weak_ptr.h"
|
| -#include "chrome/common/extensions/api/gcd_private.h"
|
| -#include "net/url_request/url_fetcher.h"
|
| -
|
| -namespace base {
|
| -class DictionaryValue;
|
| -}
|
| -
|
| -namespace crypto {
|
| -class P224EncryptedKeyExchange;
|
| -}
|
| -
|
| -namespace extensions {
|
| -
|
| -class PrivetV3ContextGetter;
|
| -
|
| -// Manages secure communication between browser and local Privet device.
|
| -class PrivetV3Session {
|
| - private:
|
| - class FetcherDelegate;
|
| -
|
| - public:
|
| - typedef extensions::api::gcd_private::PairingType PairingType;
|
| - typedef extensions::api::gcd_private::Status Result;
|
| -
|
| - typedef base::Callback<
|
| - void(Result result, const base::DictionaryValue& response)> InitCallback;
|
| -
|
| - typedef base::Callback<void(Result result)> ResultCallback;
|
| - typedef base::Callback<void(Result result,
|
| - const base::DictionaryValue& response)>
|
| - MessageCallback;
|
| -
|
| - PrivetV3Session(const scoped_refptr<PrivetV3ContextGetter>& context_getter,
|
| - const net::HostPortPair& host_port);
|
| - ~PrivetV3Session();
|
| -
|
| - // Initializes session. Queries /privet/info and returns supported pairing
|
| - // types in callback.
|
| - void Init(const InitCallback& callback);
|
| -
|
| - // Starts pairing by calling /privet/v3/pairing/start.
|
| - void StartPairing(PairingType pairing_type, const ResultCallback& callback);
|
| -
|
| - // Confirms pairing code by calling /privet/v3/pairing/confirm.
|
| - // Calls /privet/v3/pairing/auth after pairing.
|
| - void ConfirmCode(const std::string& code, const ResultCallback& callback);
|
| -
|
| - // TODO(vitalybuka): Make HTTPS request to device with certificate validation.
|
| - void SendMessage(const std::string& api,
|
| - const base::DictionaryValue& input,
|
| - const MessageCallback& callback);
|
| -
|
| - private:
|
| - friend class PrivetV3SessionTest;
|
| - FRIEND_TEST_ALL_PREFIXES(PrivetV3SessionTest, Pairing);
|
| - FRIEND_TEST_ALL_PREFIXES(PrivetV3SessionTest, SendMessage);
|
| -
|
| - void OnInfoDone(const InitCallback& callback,
|
| - Result result,
|
| - const base::DictionaryValue& response);
|
| - void OnPairingStartDone(const ResultCallback& callback,
|
| - Result result,
|
| - const base::DictionaryValue& response);
|
| - void OnPairingConfirmDone(const ResultCallback& callback,
|
| - Result result,
|
| - const base::DictionaryValue& response);
|
| - void OnPairedHostAddedToContext(const std::string& auth_code,
|
| - const ResultCallback& callback);
|
| - void OnAuthenticateDone(const ResultCallback& callback,
|
| - Result result,
|
| - const base::DictionaryValue& response);
|
| -
|
| - void RunCallback(const base::Closure& callback);
|
| - void StartGetRequest(const std::string& api, const MessageCallback& callback);
|
| - void StartPostRequest(const std::string& api,
|
| - const base::DictionaryValue& input,
|
| - const MessageCallback& callback);
|
| - void SwitchToHttps();
|
| - GURL CreatePrivetURL(const std::string& path) const;
|
| - net::URLFetcher* CreateFetcher(const std::string& api,
|
| - net::URLFetcher::RequestType request_type,
|
| - const MessageCallback& callback);
|
| - void DeleteFetcher(const FetcherDelegate* fetcher);
|
| - void Cancel();
|
| -
|
| - // Endpoint for the current session.
|
| - net::HostPortPair host_port_;
|
| -
|
| - // Provides context for client_.
|
| - scoped_refptr<PrivetV3ContextGetter> context_getter_;
|
| -
|
| - // Current authentication token.
|
| - std::string privet_auth_token_;
|
| -
|
| - // ID of the session received from pairing/start.
|
| - std::string session_id_;
|
| -
|
| - // Device commitment received from pairing/start.
|
| - std::string commitment_;
|
| -
|
| - // Key exchange algorithm for pairing.
|
| - std::unique_ptr<crypto::P224EncryptedKeyExchange> spake_;
|
| -
|
| - // HTTPS port of the device.
|
| - uint16_t https_port_ = 0;
|
| -
|
| - // If true, HTTPS will be used.
|
| - bool use_https_ = false;
|
| -
|
| - // List of fetches to cancel when session is destroyed.
|
| - std::vector<std::unique_ptr<FetcherDelegate>> fetchers_;
|
| -
|
| - // Intercepts POST requests. Used by tests only.
|
| - base::Callback<void(const base::DictionaryValue&)> on_post_data_;
|
| -
|
| - base::WeakPtrFactory<PrivetV3Session> weak_ptr_factory_;
|
| - DISALLOW_COPY_AND_ASSIGN(PrivetV3Session);
|
| -};
|
| -
|
| -} // namespace extensions
|
| -
|
| -#endif // CHROME_BROWSER_EXTENSIONS_API_GCD_PRIVATE_PRIVET_V3_SESSION_H_
|
|
|