diff options
author | David Garcia Quintas <dgq@google.com> | 2016-01-25 17:32:48 -0800 |
---|---|---|
committer | David Garcia Quintas <dgq@google.com> | 2016-01-25 17:32:48 -0800 |
commit | 2425bbbc5587665112bc372c14f6b5483c902370 (patch) | |
tree | 615d3fb670d87965bd54f2452d302be545a58dd2 /include/grpc++/security | |
parent | f48e538003186a539fa6cfcda0b474c7cfbae506 (diff) |
Further work. Compiles. WIP
Diffstat (limited to 'include/grpc++/security')
-rw-r--r-- | include/grpc++/security/auth_context.h | 73 |
1 files changed, 1 insertions, 72 deletions
diff --git a/include/grpc++/security/auth_context.h b/include/grpc++/security/auth_context.h index b924ec90c6..bc542dbf8a 100644 --- a/include/grpc++/security/auth_context.h +++ b/include/grpc++/security/auth_context.h @@ -34,77 +34,6 @@ #ifndef GRPCXX_SUPPORT_AUTH_CONTEXT_H #define GRPCXX_SUPPORT_AUTH_CONTEXT_H -#include <iterator> -#include <vector> - -#include <grpc++/support/config.h> -#include <grpc++/support/string_ref.h> - -struct grpc_auth_context; -struct grpc_auth_property; -struct grpc_auth_property_iterator; - -namespace grpc { -class SecureAuthContext; - -typedef std::pair<grpc::string_ref, grpc::string_ref> AuthProperty; - -class AuthPropertyIterator - : public std::iterator<std::input_iterator_tag, const AuthProperty> { - public: - ~AuthPropertyIterator(); - AuthPropertyIterator& operator++(); - AuthPropertyIterator operator++(int); - bool operator==(const AuthPropertyIterator& rhs) const; - bool operator!=(const AuthPropertyIterator& rhs) const; - const AuthProperty operator*(); - - protected: - AuthPropertyIterator(); - AuthPropertyIterator(const grpc_auth_property* property, - const grpc_auth_property_iterator* iter); - - private: - friend class SecureAuthContext; - const grpc_auth_property* property_; - // The following items form a grpc_auth_property_iterator. - const grpc_auth_context* ctx_; - size_t index_; - const char* name_; -}; - -/// Class encapsulating the Authentication Information. -/// -/// It includes the secure identity of the peer, the type of secure transport -/// used as well as any other properties required by the authorization layer. -class AuthContext { - public: - virtual ~AuthContext() {} - - /// Returns true if the peer is authenticated. - virtual bool IsPeerAuthenticated() const = 0; - - /// A peer identity. - /// - /// It is, in general, comprised of one or more properties (in which case they - /// have the same name). - virtual std::vector<grpc::string_ref> GetPeerIdentity() const = 0; - virtual grpc::string GetPeerIdentityPropertyName() const = 0; - - /// Returns all the property values with the given name. - virtual std::vector<grpc::string_ref> FindPropertyValues( - const grpc::string& name) const = 0; - - /// Iteration over all the properties. - virtual AuthPropertyIterator begin() const = 0; - virtual AuthPropertyIterator end() const = 0; - - // Mutation functions: should only be used by an AuthMetadataProcessor. - virtual void AddProperty(const grpc::string& key, - const grpc::string_ref& value) = 0; - virtual bool SetPeerIdentityPropertyName(const grpc::string& name) = 0; -}; - -} // namespace grpc +#include <grpc++/impl/codegen/security/auth_context.h> #endif // GRPCXX_SUPPORT_AUTH_CONTEXT_H |