diff options
author | wconner <wconner@google.com> | 2022-05-27 08:34:30 -0700 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2022-05-27 08:35:22 -0700 |
commit | 83428a56eaafbc33fdb97bd6f382d1ed39ad9845 (patch) | |
tree | 385d29d6c6d762163c91e5283f1525d3fb7656d6 /cc/secret_key_access_token.h | |
parent | a633f5c9a11b390742721f456d678e60315c2853 (diff) | |
download | tink-83428a56eaafbc33fdb97bd6f382d1ed39ad9845.tar.gz |
Add secret key access C++ classes.
PiperOrigin-RevId: 451402322
Diffstat (limited to 'cc/secret_key_access_token.h')
-rw-r--r-- | cc/secret_key_access_token.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/cc/secret_key_access_token.h b/cc/secret_key_access_token.h new file mode 100644 index 000000000..1e461ee26 --- /dev/null +++ b/cc/secret_key_access_token.h @@ -0,0 +1,41 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////////// + +#ifndef TINK_SECRET_KEY_ACCESS_TOKEN_H_ +#define TINK_SECRET_KEY_ACCESS_TOKEN_H_ + +namespace crypto { +namespace tink { + +class SecretKeyAccessToken { + public: + // Copyable and movable. + SecretKeyAccessToken(const SecretKeyAccessToken& other) = default; + SecretKeyAccessToken& operator=(const SecretKeyAccessToken& other) = default; + SecretKeyAccessToken(SecretKeyAccessToken&& other) = default; + SecretKeyAccessToken& operator=(SecretKeyAccessToken&& other) = default; + + private: + // `InsecureKeyAccess` class requires access to the constructor. + friend class InsecureSecretKeyAccess; + + SecretKeyAccessToken() = default; +}; + +} // namespace tink +} // namespace crypto + +#endif // TINK_SECRET_KEY_ACCESS_TOKEN_H_ |