xref: /aosp_15_r20/external/tink/testing/cc/aead_impl.h (revision e7b1675dde1b92d52ec075b0a92829627f2c52a5)
1  // Copyright 2020 Google LLC
2  //
3  // Licensed under the Apache License, Version 2.0 (the "License");
4  // you may not use this file except in compliance with the License.
5  // You may obtain a copy of the License at
6  //
7  //     http://www.apache.org/licenses/LICENSE-2.0
8  //
9  // Unless required by applicable law or agreed to in writing, software
10  // distributed under the License is distributed on an "AS IS" BASIS,
11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  // See the License for the specific language governing permissions and
13  // limitations under the License.
14  //
15  ///////////////////////////////////////////////////////////////////////////////
16  
17  #ifndef TINK_TESTING_AEAD_IMPL_H_
18  #define TINK_TESTING_AEAD_IMPL_H_
19  
20  #include <grpcpp/grpcpp.h>
21  #include <grpcpp/server_context.h>
22  #include <grpcpp/support/status.h>
23  
24  #include "proto/testing_api.grpc.pb.h"
25  
26  namespace tink_testing_api {
27  
28  // An Aead Service.
29  class AeadImpl final : public Aead::Service {
30   public:
31    grpc::Status Create(grpc::ServerContext* context,
32                        const CreationRequest* request,
33                        CreationResponse* response) override;
34  
35    grpc::Status Encrypt(grpc::ServerContext* context,
36                         const AeadEncryptRequest* request,
37                         AeadEncryptResponse* response) override;
38  
39    grpc::Status Decrypt(grpc::ServerContext* context,
40                         const AeadDecryptRequest* request,
41                         AeadDecryptResponse* response) override;
42  };
43  
44  }  // namespace tink_testing_api
45  
46  #endif  // TINK_TESTING_AEAD_IMPL_H_
47