Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / extensions / api / networking_private / crypto_verify_impl.h
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_CRYPTO_VERIFY_IMPL_H_
6 #define CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_CRYPTO_VERIFY_IMPL_H_
7
8 #include "base/compiler_specific.h"
9 #include "base/macros.h"
10 #include "chrome/browser/extensions/api/networking_private/networking_private_service_client.h"
11
12 // Implementation of NetworkingPrivateServiceClient::CryptoVerify using
13 // networking_private_crypto.
14 class CryptoVerifyImpl
15     : public extensions::NetworkingPrivateServiceClient::CryptoVerify {
16  public:
17   CryptoVerifyImpl();
18   virtual ~CryptoVerifyImpl();
19
20   // NetworkingPrivateServiceClient::CryptoVerify
21   virtual void VerifyDestination(const Credentials& credentials,
22                                  bool* verified,
23                                  std::string* error) OVERRIDE;
24   virtual void VerifyAndEncryptCredentials(
25       const std::string& network_guid,
26       const Credentials& credentials,
27       const VerifyAndEncryptCredentialsCallback& callback) OVERRIDE;
28   virtual void VerifyAndEncryptData(const Credentials& credentials,
29                                     const std::string& data,
30                                     std::string* base64_encoded_ciphertext,
31                                     std::string* error) OVERRIDE;
32
33  private:
34   DISALLOW_COPY_AND_ASSIGN(CryptoVerifyImpl);
35 };
36
37 #endif  // CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_CRYPTO_VERIFY_IMPL_H_