16e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 26e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 36e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// found in the LICENSE file. 46e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 56e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#ifndef CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_CRYPTO_VERIFY_IMPL_H_ 66e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#define CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_CRYPTO_VERIFY_IMPL_H_ 76e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 86e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#include "base/compiler_specific.h" 96e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#include "base/macros.h" 106e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#include "chrome/browser/extensions/api/networking_private/networking_private_service_client.h" 116e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 126e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// Implementation of NetworkingPrivateServiceClient::CryptoVerify using 136e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// networking_private_crypto. 146e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)class CryptoVerifyImpl 156e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) : public extensions::NetworkingPrivateServiceClient::CryptoVerify { 166e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) public: 176e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) CryptoVerifyImpl(); 186e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual ~CryptoVerifyImpl(); 196e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 206e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) // NetworkingPrivateServiceClient::CryptoVerify 216e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual void VerifyDestination(const Credentials& credentials, 226e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) bool* verified, 236e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) std::string* error) OVERRIDE; 246e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual void VerifyAndEncryptCredentials( 256e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) const std::string& network_guid, 266e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) const Credentials& credentials, 276e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) const VerifyAndEncryptCredentialsCallback& callback) OVERRIDE; 286e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual void VerifyAndEncryptData(const Credentials& credentials, 296e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) const std::string& data, 306e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) std::string* base64_encoded_ciphertext, 316e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) std::string* error) OVERRIDE; 326e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 336e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) private: 346e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(CryptoVerifyImpl); 356e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)}; 366e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 376e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#endif // CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_CRYPTO_VERIFY_IMPL_H_ 38