| 
					
				 | 
			
			
				@@ -1,6 +1,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * Copyright 2015 gRPC authors. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Copyright 2019 gRPC authors. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * Licensed under the Apache License, Version 2.0 (the "License"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * you may not use this file except in compliance with the License. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -19,39 +19,11 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifndef GRPCPP_SECURITY_SERVER_CREDENTIALS_H 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #define GRPCPP_SECURITY_SERVER_CREDENTIALS_H 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#include <memory> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#include <vector> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#include <grpc/grpc_security_constants.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#include <grpcpp/security/auth_metadata_processor.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#include <grpcpp/support/config.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-struct grpc_server; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <grpcpp/security/server_credentials_impl.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 namespace grpc { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-class Server; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/// Wrapper around \a grpc_server_credentials, a way to authenticate a server. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-class ServerCredentials { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- public: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  virtual ~ServerCredentials(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  /// This method is not thread-safe and has to be called before the server is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  /// started. The last call to this function wins. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  virtual void SetAuthMetadataProcessor( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      const std::shared_ptr<AuthMetadataProcessor>& processor) = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- private: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  friend class ::grpc::Server; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  /// Tries to bind \a server to the given \a addr (eg, localhost:1234, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  /// 192.168.1.1:31416, [::1]:27182, etc.) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  /// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  /// \return bound port number on sucess, 0 on failure. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  // TODO(dgq): the "port" part seems to be a misnomer. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  virtual int AddPortToServer(const grpc::string& addr, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              grpc_server* server) = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+typedef ::grpc_impl::ServerCredentials ServerCredentials; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /// Options to create ServerCredentials with SSL 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 struct SslServerCredentialsOptions { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -79,27 +51,29 @@ struct SslServerCredentialsOptions { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   grpc_ssl_client_certificate_request_type client_certificate_request; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/// Builds SSL ServerCredentials given SSL specific options 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-std::shared_ptr<ServerCredentials> SslServerCredentials( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const SslServerCredentialsOptions& options); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static inline std::shared_ptr<ServerCredentials> SslServerCredentials( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const SslServerCredentialsOptions& options) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return ::grpc_impl::SslServerCredentials(options); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/// Builds insecure server credentials. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-std::shared_ptr<ServerCredentials> InsecureServerCredentials(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static inline std::shared_ptr<ServerCredentials> InsecureServerCredentials() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return ::grpc_impl::InsecureServerCredentials(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 namespace experimental { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/// Options to create ServerCredentials with ALTS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-struct AltsServerCredentialsOptions { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  /// Add fields if needed. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+typedef ::grpc_impl::experimental::AltsServerCredentialsOptions 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    AltsServerCredentialsOptions; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/// Builds ALTS ServerCredentials given ALTS specific options 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-std::shared_ptr<ServerCredentials> AltsServerCredentials( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const AltsServerCredentialsOptions& options); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static inline std::shared_ptr<ServerCredentials> AltsServerCredentials( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const AltsServerCredentialsOptions& options) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return ::grpc_impl::experimental::AltsServerCredentials(options); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/// Builds Local ServerCredentials. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-std::shared_ptr<ServerCredentials> LocalServerCredentials( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    grpc_local_connect_type type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static inline std::shared_ptr<ServerCredentials> LocalServerCredentials( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    grpc_local_connect_type type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return ::grpc_impl::experimental::LocalServerCredentials(type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }  // namespace experimental 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }  // namespace grpc 
			 |