Chromium Code Reviews| Index: chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api.cc |
| diff --git a/chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api.cc b/chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..d5029cce0c50ea51ad8923ade97ebb2086ccf69d |
| --- /dev/null |
| +++ b/chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api.cc |
| @@ -0,0 +1,135 @@ |
| +// 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. |
| + |
| +#include "chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api.h" |
| + |
| +#include "base/logging.h" |
| +#include "chrome/browser/extensions/api/enterprise_platform_keys/token_method_nss.h" |
| +#include "chrome/common/extensions/api/enterprise_platform_keys.h" |
| +#include "chrome/common/extensions/api/enterprise_platform_keys_internal.h" |
| + |
| +namespace { |
| +const char kErrorInvalidToken[] = "Token is invalid."; |
| +} |
| + |
| +namespace extensions { |
| + |
| +namespace enterprise_platform_keys { |
| + |
| +namespace impl = nss; |
| + |
| +namespace api_epk = api::enterprise_platform_keys; |
| +namespace api_epki = api::enterprise_platform_keys_internal; |
| + |
| +const char kTokenIdUser[] = "user"; |
| + |
| +TokenMethodExtensionFunction::TokenMethodExtensionFunction() { |
| +} |
| + |
| +TokenMethodExtensionFunction::~TokenMethodExtensionFunction() { |
| +} |
| + |
| +void TokenMethodExtensionFunction::SendResponse(bool success) { |
| + ChromeAsyncExtensionFunction::SendResponse(success); |
| +} |
| + |
| +void TokenMethodExtensionFunction::SetResults( |
| + scoped_ptr<base::ListValue> results) { |
| + results_ = results.Pass(); |
| +} |
| + |
| +bool TokenMethodExtensionFunction::ValidateToken(const std::string& token_id) { |
| + // For now, the user token is the only valid one. |
| + if (token_id != kTokenIdUser) { |
| + SetError(kErrorInvalidToken); |
| + return false; |
| + } |
| + return true; |
| +} |
| + |
| +Generate::Generate() { |
| +} |
| +Generate::~Generate() { |
| +} |
| + |
| +bool Generate::RunImpl() { |
| + scoped_ptr<api_epki::GenerateKey::Params> params( |
| + api_epki::GenerateKey::Params::Create(*args_)); |
| + EXTENSION_FUNCTION_VALIDATE(params && ValidateToken(params->token_id)); |
| + impl::Generate(this, params.Pass()); |
| + return true; |
| +} |
| + |
| +Sign::Sign() { |
| +} |
| + |
| +Sign::~Sign() { |
| +} |
| + |
| +bool Sign::RunImpl() { |
| + scoped_ptr<api_epki::Sign::Params> params( |
| + api_epki::Sign::Params::Create(*args_)); |
| + EXTENSION_FUNCTION_VALIDATE(params && ValidateToken(params->token_id)); |
| + impl::Sign(this, params.Pass()); |
| + return true; |
| +} |
| + |
| +GetCerts::GetCerts() { |
| +} |
| + |
| +GetCerts::~GetCerts() { |
| +} |
| + |
| +bool GetCerts::RunImpl() { |
| + scoped_ptr<api_epk::GetCertificates::Params> params( |
| + api_epk::GetCertificates::Params::Create(*args_)); |
| + EXTENSION_FUNCTION_VALIDATE(params && ValidateToken(params->token_id)); |
| + impl::GetCerts(this, params.Pass()); |
| + return true; |
| +} |
| + |
| +ImportCert::ImportCert() { |
| +} |
| + |
| +ImportCert::~ImportCert() { |
| +} |
| + |
| +bool ImportCert::RunImpl() { |
| + scoped_ptr<api_epk::ImportCertificate::Params> params( |
| + api_epk::ImportCertificate::Params::Create(*args_)); |
| + EXTENSION_FUNCTION_VALIDATE(params && ValidateToken(params->token_id)); |
| + impl::Import(this, params.Pass()); |
| + return true; |
| +} |
| + |
| +RemoveCert::RemoveCert() { |
| +} |
| + |
| +RemoveCert::~RemoveCert() { |
| +} |
| + |
| +bool RemoveCert::RunImpl() { |
| + scoped_ptr<api_epk::RemoveCertificate::Params> params( |
| + api_epk::RemoveCertificate::Params::Create(*args_)); |
| + EXTENSION_FUNCTION_VALIDATE(params && ValidateToken(params->token_id)); |
| + impl::Remove(this, params.Pass()); |
| + return true; |
| +} |
| + |
| +GetTokens::~GetTokens() { |
| +} |
| + |
| +bool GetTokens::RunImpl() { |
| + EXTENSION_FUNCTION_VALIDATE(args_->empty()); |
| + |
| + std::vector<std::string> token_ids; |
| + token_ids.push_back(kTokenIdUser); |
| + results_ = api_epki::GetTokens::Results::Create(token_ids); |
| + SendResponse(true); |
| + return true; |
|
not at google - send to devlin
2014/05/05 21:09:24
overriding ExtensionFunction::Run rather than RunI
pneubeck (no reviews)
2014/05/06 14:07:21
Done.
|
| +} |
| + |
| +} // namespace enterprise_platform_keys |
| + |
| +} // namespace extensions |