Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
z
Classes
Class List
Class Hierarchy
Class Members
All
:
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
Enumerations
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Properties
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
grpc
src
core
lib
security
credentials
iam
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
22
#include <
grpc/support/port_platform.h
>
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
31
#include "
src/core/lib/gpr/useful.h
"
32
#include "
src/core/lib/gprpp/unique_type_name.h
"
33
#include "
src/core/lib/promise/arena_promise.h
"
34
#include "
src/core/lib/security/credentials/credentials.h
"
35
#include "
src/core/lib/slice/slice.h
"
36
#include "
src/core/lib/transport/transport.h
"
37
38
class
grpc_google_iam_credentials
:
public
grpc_call_credentials
{
39
public
:
40
grpc_google_iam_credentials
(
const
char
* token,
41
const
char
* authority_selector);
42
43
grpc_core::ArenaPromise<absl::StatusOr<grpc_core::ClientMetadataHandle>
>
44
GetRequestMetadata
(
grpc_core::ClientMetadataHandle
initial_metadata,
45
const
GetRequestMetadataArgs
*
args
)
override
;
46
47
std::string
debug_string
()
override
{
return
debug_string_
; }
48
49
static
grpc_core::UniqueTypeName
Type
();
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
56
return
grpc_core::QsortCompare
(
57
static_cast<
const
grpc_call_credentials
*
>
(
this
), other);
58
}
59
60
const
absl::optional<grpc_core::Slice>
token_
;
61
const
grpc_core::Slice
authority_selector_
;
62
const
std::string
debug_string_
;
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