/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include namespace smithy { template class AuthScheme { public: using IdentityT = IDENTITY_T; template AuthScheme(char const (&iSchemeId)[N]) { memcpy(schemeId, iSchemeId, N); } char schemeId[32]; virtual ~AuthScheme() = default; virtual std::shared_ptr> identityResolver() = 0; virtual std::shared_ptr> signer() = 0; }; }