proto_server_reflection.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright 2015 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_INTERNAL_CPP_EXT_PROTO_SERVER_REFLECTION_H
20 #define GRPC_INTERNAL_CPP_EXT_PROTO_SERVER_REFLECTION_H
21 
22 #include <string>
23 #include <unordered_set>
24 #include <vector>
25 
26 #include <grpcpp/grpcpp.h>
28 #include <grpcpp/support/config.h>
29 #include <grpcpp/support/status.h>
31 
32 #include "src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h"
33 #include "src/proto/grpc/reflection/v1alpha/reflection.pb.h"
34 
35 namespace grpc {
36 
38  : public reflection::v1alpha::ServerReflection::Service {
39  public:
41 
42  // Add the full names of registered services
43  void SetServiceList(const std::vector<std::string>* services);
44 
45  // implementation of ServerReflectionInfo(stream ServerReflectionRequest) rpc
46  // in ServerReflection service
49  ServerReaderWriter<reflection::v1alpha::ServerReflectionResponse,
50  reflection::v1alpha::ServerReflectionRequest>* stream)
51  override;
52 
53  private:
55  reflection::v1alpha::ListServiceResponse* response);
56 
58  reflection::v1alpha::ServerReflectionResponse* response);
59 
61  ServerContext* context, const std::string& symbol,
62  reflection::v1alpha::ServerReflectionResponse* response);
63 
66  const reflection::v1alpha::ExtensionRequest* request,
67  reflection::v1alpha::ServerReflectionResponse* response);
68 
71  reflection::v1alpha::ExtensionNumberResponse* response);
72 
74  const protobuf::FileDescriptor* file_desc,
75  reflection::v1alpha::ServerReflectionResponse* response,
76  std::unordered_set<std::string>* seen_files);
77 
78  void FillErrorResponse(const Status& status,
79  reflection::v1alpha::ErrorResponse* error_response);
80 
82  const std::vector<string>* services_;
83 };
84 
85 } // namespace grpc
86 
87 #endif // GRPC_INTERNAL_CPP_EXT_PROTO_SERVER_REFLECTION_H
grpc::ProtoServerReflection::GetFileContainingExtension
Status GetFileContainingExtension(ServerContext *context, const reflection::v1alpha::ExtensionRequest *request, reflection::v1alpha::ServerReflectionResponse *response)
Definition: proto_server_reflection.cc:148
grpc::ProtoServerReflection::SetServiceList
void SetServiceList(const std::vector< std::string > *services)
Definition: proto_server_reflection.cc:44
grpc::status
auto status
Definition: cpp/client/credentials_test.cc:200
grpc::ServerContext
Definition: grpcpp/impl/codegen/server_context.h:566
grpc
Definition: grpcpp/alarm.h:33
benchmark.request
request
Definition: benchmark.py:77
testing::internal::string
::std::string string
Definition: bloaty/third_party/protobuf/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:881
grpc::ServerReaderWriter
Definition: grpcpp/impl/codegen/sync_stream.h:786
google::protobuf::DescriptorPool
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:1539
grpc::ProtoServerReflection::FillErrorResponse
void FillErrorResponse(const Status &status, reflection::v1alpha::ErrorResponse *error_response)
Definition: proto_server_reflection.cc:96
grpcpp.h
grpc::ProtoServerReflection
Definition: proto_server_reflection.h:37
config.h
grpc::ProtoServerReflection::services_
const std::vector< string > * services_
Definition: proto_server_reflection.h:82
greeter_client.services
services
Definition: no_codegen/greeter_client.py:34
grpc::ProtoServerReflection::ServerReflectionInfo
Status ServerReflectionInfo(ServerContext *context, ServerReaderWriter< reflection::v1alpha::ServerReflectionResponse, reflection::v1alpha::ServerReflectionRequest > *stream) override
Definition: proto_server_reflection.cc:49
grpc::ProtoServerReflection::GetFileContainingSymbol
Status GetFileContainingSymbol(ServerContext *context, const std::string &symbol, reflection::v1alpha::ServerReflectionResponse *response)
Definition: proto_server_reflection.cc:131
grpc::ProtoServerReflection::descriptor_pool_
const protobuf::DescriptorPool * descriptor_pool_
Definition: proto_server_reflection.h:81
config_protobuf.h
sync_stream.h
grpc::ProtoServerReflection::ProtoServerReflection
ProtoServerReflection()
Definition: proto_server_reflection.cc:41
asyncio_get_stats.response
response
Definition: asyncio_get_stats.py:28
grpc::Status
Definition: include/grpcpp/impl/codegen/status.h:35
google::protobuf::FileDescriptor
Definition: bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:1320
context
grpc::ClientContext context
Definition: istio_echo_server_lib.cc:61
asyncio_get_stats.type
type
Definition: asyncio_get_stats.py:37
grpc::ProtoServerReflection::GetAllExtensionNumbers
Status GetAllExtensionNumbers(ServerContext *context, const std::string &type, reflection::v1alpha::ExtensionNumberResponse *response)
Definition: proto_server_reflection.cc:172
grpc::ProtoServerReflection::FillFileDescriptorResponse
void FillFileDescriptorResponse(const protobuf::FileDescriptor *file_desc, reflection::v1alpha::ServerReflectionResponse *response, std::unordered_set< std::string > *seen_files)
Definition: proto_server_reflection.cc:194
grpc::ProtoServerReflection::GetFileByName
Status GetFileByName(ServerContext *context, const std::string &file_name, reflection::v1alpha::ServerReflectionResponse *response)
Definition: proto_server_reflection.cc:114
grpc::ProtoServerReflection::ListService
Status ListService(ServerContext *context, reflection::v1alpha::ListServiceResponse *response)
Definition: proto_server_reflection.cc:102
status.h
stream
voidpf stream
Definition: bloaty/third_party/zlib/contrib/minizip/ioapi.h:136


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