iam_credentials.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright 2016 gRPC authors.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */
18 
19 #ifndef GRPC_CORE_LIB_SECURITY_CREDENTIALS_IAM_IAM_CREDENTIALS_H
20 #define GRPC_CORE_LIB_SECURITY_CREDENTIALS_IAM_IAM_CREDENTIALS_H
21 
23 
24 #include <string>
25 
26 #include "absl/status/statusor.h"
27 #include "absl/types/optional.h"
28 
29 #include <grpc/grpc_security.h>
30 
37 
39  public:
40  grpc_google_iam_credentials(const char* token,
41  const char* authority_selector);
42 
45  const GetRequestMetadataArgs* args) override;
46 
47  std::string debug_string() override { return debug_string_; }
48 
50 
51  grpc_core::UniqueTypeName type() const override { return Type(); }
52 
53  private:
54  int cmp_impl(const grpc_call_credentials* other) const override {
55  // TODO(yashykt): Check if we can do something better here
57  static_cast<const grpc_call_credentials*>(this), other);
58  }
59 
63 };
64 
65 #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_IAM_IAM_CREDENTIALS_H */
slice.h
grpc_google_iam_credentials::token_
const absl::optional< grpc_core::Slice > token_
Definition: iam_credentials.h:60
grpc_call_credentials::GetRequestMetadataArgs
Definition: src/core/lib/security/credentials/credentials.h:196
grpc_google_iam_credentials::debug_string
std::string debug_string() override
Definition: iam_credentials.h:47
grpc_core::Slice
Definition: src/core/lib/slice/slice.h:282
grpc_google_iam_credentials::grpc_google_iam_credentials
grpc_google_iam_credentials(const char *token, const char *authority_selector)
Definition: iam_credentials.cc:55
grpc_google_iam_credentials::Type
static grpc_core::UniqueTypeName Type()
Definition: iam_credentials.cc:65
useful.h
testing::internal::string
::std::string string
Definition: bloaty/third_party/protobuf/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:881
grpc_call_credentials
Definition: src/core/lib/security/credentials/credentials.h:189
grpc_google_iam_credentials::cmp_impl
int cmp_impl(const grpc_call_credentials *other) const override
Definition: iam_credentials.h:54
grpc_security.h
grpc_google_iam_credentials::authority_selector_
const grpc_core::Slice authority_selector_
Definition: iam_credentials.h:61
credentials.h
asyncio_get_stats.args
args
Definition: asyncio_get_stats.py:40
absl::optional< grpc_core::Slice >
arena_promise.h
grpc_core::MetadataHandle< ClientMetadata >
grpc_google_iam_credentials::type
grpc_core::UniqueTypeName type() const override
Definition: iam_credentials.h:51
grpc_core::UniqueTypeName
Definition: unique_type_name.h:56
grpc_google_iam_credentials
Definition: iam_credentials.h:38
grpc_core::ArenaPromise
Definition: arena_promise.h:152
grpc_core::QsortCompare
int QsortCompare(const T &a, const T &b)
Definition: useful.h:95
grpc_google_iam_credentials::GetRequestMetadata
grpc_core::ArenaPromise< absl::StatusOr< grpc_core::ClientMetadataHandle > > GetRequestMetadata(grpc_core::ClientMetadataHandle initial_metadata, const GetRequestMetadataArgs *args) override
Definition: iam_credentials.cc:41
unique_type_name.h
transport.h
grpc_google_iam_credentials::debug_string_
const std::string debug_string_
Definition: iam_credentials.h:62
port_platform.h


grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:00:14