/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once /* Generic header includes */ #include #include #include #include #include #include #include #include #include /* End of generic header includes */ /* Service model headers required in SNSClient header */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include /* End of service model headers required in SNSClient header */ namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace SNS { using SNSClientConfiguration = Aws::Client::GenericClientConfiguration; using SNSEndpointProviderBase = Aws::SNS::Endpoint::SNSEndpointProviderBase; using SNSEndpointProvider = Aws::SNS::Endpoint::SNSEndpointProvider; namespace Model { /* Service model forward declarations required in SNSClient header */ class AddPermissionRequest; class CheckIfPhoneNumberIsOptedOutRequest; class ConfirmSubscriptionRequest; class CreatePlatformApplicationRequest; class CreatePlatformEndpointRequest; class CreateSMSSandboxPhoneNumberRequest; class CreateTopicRequest; class DeleteEndpointRequest; class DeletePlatformApplicationRequest; class DeleteSMSSandboxPhoneNumberRequest; class DeleteTopicRequest; class GetDataProtectionPolicyRequest; class GetEndpointAttributesRequest; class GetPlatformApplicationAttributesRequest; class GetSMSAttributesRequest; class GetSMSSandboxAccountStatusRequest; class GetSubscriptionAttributesRequest; class GetTopicAttributesRequest; class ListEndpointsByPlatformApplicationRequest; class ListOriginationNumbersRequest; class ListPhoneNumbersOptedOutRequest; class ListPlatformApplicationsRequest; class ListSMSSandboxPhoneNumbersRequest; class ListSubscriptionsRequest; class ListSubscriptionsByTopicRequest; class ListTagsForResourceRequest; class ListTopicsRequest; class OptInPhoneNumberRequest; class PublishRequest; class PublishBatchRequest; class PutDataProtectionPolicyRequest; class RemovePermissionRequest; class SetEndpointAttributesRequest; class SetPlatformApplicationAttributesRequest; class SetSMSAttributesRequest; class SetSubscriptionAttributesRequest; class SetTopicAttributesRequest; class SubscribeRequest; class TagResourceRequest; class UnsubscribeRequest; class UntagResourceRequest; class VerifySMSSandboxPhoneNumberRequest; /* End of service model forward declarations required in SNSClient header */ /* Service model Outcome class definitions */ typedef Aws::Utils::Outcome AddPermissionOutcome; typedef Aws::Utils::Outcome CheckIfPhoneNumberIsOptedOutOutcome; typedef Aws::Utils::Outcome ConfirmSubscriptionOutcome; typedef Aws::Utils::Outcome CreatePlatformApplicationOutcome; typedef Aws::Utils::Outcome CreatePlatformEndpointOutcome; typedef Aws::Utils::Outcome CreateSMSSandboxPhoneNumberOutcome; typedef Aws::Utils::Outcome CreateTopicOutcome; typedef Aws::Utils::Outcome DeleteEndpointOutcome; typedef Aws::Utils::Outcome DeletePlatformApplicationOutcome; typedef Aws::Utils::Outcome DeleteSMSSandboxPhoneNumberOutcome; typedef Aws::Utils::Outcome DeleteTopicOutcome; typedef Aws::Utils::Outcome GetDataProtectionPolicyOutcome; typedef Aws::Utils::Outcome GetEndpointAttributesOutcome; typedef Aws::Utils::Outcome GetPlatformApplicationAttributesOutcome; typedef Aws::Utils::Outcome GetSMSAttributesOutcome; typedef Aws::Utils::Outcome GetSMSSandboxAccountStatusOutcome; typedef Aws::Utils::Outcome GetSubscriptionAttributesOutcome; typedef Aws::Utils::Outcome GetTopicAttributesOutcome; typedef Aws::Utils::Outcome ListEndpointsByPlatformApplicationOutcome; typedef Aws::Utils::Outcome ListOriginationNumbersOutcome; typedef Aws::Utils::Outcome ListPhoneNumbersOptedOutOutcome; typedef Aws::Utils::Outcome ListPlatformApplicationsOutcome; typedef Aws::Utils::Outcome ListSMSSandboxPhoneNumbersOutcome; typedef Aws::Utils::Outcome ListSubscriptionsOutcome; typedef Aws::Utils::Outcome ListSubscriptionsByTopicOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome ListTopicsOutcome; typedef Aws::Utils::Outcome OptInPhoneNumberOutcome; typedef Aws::Utils::Outcome PublishOutcome; typedef Aws::Utils::Outcome PublishBatchOutcome; typedef Aws::Utils::Outcome PutDataProtectionPolicyOutcome; typedef Aws::Utils::Outcome RemovePermissionOutcome; typedef Aws::Utils::Outcome SetEndpointAttributesOutcome; typedef Aws::Utils::Outcome SetPlatformApplicationAttributesOutcome; typedef Aws::Utils::Outcome SetSMSAttributesOutcome; typedef Aws::Utils::Outcome SetSubscriptionAttributesOutcome; typedef Aws::Utils::Outcome SetTopicAttributesOutcome; typedef Aws::Utils::Outcome SubscribeOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UnsubscribeOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome VerifySMSSandboxPhoneNumberOutcome; /* End of service model Outcome class definitions */ /* Service model Outcome callable definitions */ typedef std::future AddPermissionOutcomeCallable; typedef std::future CheckIfPhoneNumberIsOptedOutOutcomeCallable; typedef std::future ConfirmSubscriptionOutcomeCallable; typedef std::future CreatePlatformApplicationOutcomeCallable; typedef std::future CreatePlatformEndpointOutcomeCallable; typedef std::future CreateSMSSandboxPhoneNumberOutcomeCallable; typedef std::future CreateTopicOutcomeCallable; typedef std::future DeleteEndpointOutcomeCallable; typedef std::future DeletePlatformApplicationOutcomeCallable; typedef std::future DeleteSMSSandboxPhoneNumberOutcomeCallable; typedef std::future DeleteTopicOutcomeCallable; typedef std::future GetDataProtectionPolicyOutcomeCallable; typedef std::future GetEndpointAttributesOutcomeCallable; typedef std::future GetPlatformApplicationAttributesOutcomeCallable; typedef std::future GetSMSAttributesOutcomeCallable; typedef std::future GetSMSSandboxAccountStatusOutcomeCallable; typedef std::future GetSubscriptionAttributesOutcomeCallable; typedef std::future GetTopicAttributesOutcomeCallable; typedef std::future ListEndpointsByPlatformApplicationOutcomeCallable; typedef std::future ListOriginationNumbersOutcomeCallable; typedef std::future ListPhoneNumbersOptedOutOutcomeCallable; typedef std::future ListPlatformApplicationsOutcomeCallable; typedef std::future ListSMSSandboxPhoneNumbersOutcomeCallable; typedef std::future ListSubscriptionsOutcomeCallable; typedef std::future ListSubscriptionsByTopicOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future ListTopicsOutcomeCallable; typedef std::future OptInPhoneNumberOutcomeCallable; typedef std::future PublishOutcomeCallable; typedef std::future PublishBatchOutcomeCallable; typedef std::future PutDataProtectionPolicyOutcomeCallable; typedef std::future RemovePermissionOutcomeCallable; typedef std::future SetEndpointAttributesOutcomeCallable; typedef std::future SetPlatformApplicationAttributesOutcomeCallable; typedef std::future SetSMSAttributesOutcomeCallable; typedef std::future SetSubscriptionAttributesOutcomeCallable; typedef std::future SetTopicAttributesOutcomeCallable; typedef std::future SubscribeOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UnsubscribeOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; typedef std::future VerifySMSSandboxPhoneNumberOutcomeCallable; /* End of service model Outcome callable definitions */ } // namespace Model class SNSClient; /* Service model async handlers definitions */ typedef std::function&) > AddPermissionResponseReceivedHandler; typedef std::function&) > CheckIfPhoneNumberIsOptedOutResponseReceivedHandler; typedef std::function&) > ConfirmSubscriptionResponseReceivedHandler; typedef std::function&) > CreatePlatformApplicationResponseReceivedHandler; typedef std::function&) > CreatePlatformEndpointResponseReceivedHandler; typedef std::function&) > CreateSMSSandboxPhoneNumberResponseReceivedHandler; typedef std::function&) > CreateTopicResponseReceivedHandler; typedef std::function&) > DeleteEndpointResponseReceivedHandler; typedef std::function&) > DeletePlatformApplicationResponseReceivedHandler; typedef std::function&) > DeleteSMSSandboxPhoneNumberResponseReceivedHandler; typedef std::function&) > DeleteTopicResponseReceivedHandler; typedef std::function&) > GetDataProtectionPolicyResponseReceivedHandler; typedef std::function&) > GetEndpointAttributesResponseReceivedHandler; typedef std::function&) > GetPlatformApplicationAttributesResponseReceivedHandler; typedef std::function&) > GetSMSAttributesResponseReceivedHandler; typedef std::function&) > GetSMSSandboxAccountStatusResponseReceivedHandler; typedef std::function&) > GetSubscriptionAttributesResponseReceivedHandler; typedef std::function&) > GetTopicAttributesResponseReceivedHandler; typedef std::function&) > ListEndpointsByPlatformApplicationResponseReceivedHandler; typedef std::function&) > ListOriginationNumbersResponseReceivedHandler; typedef std::function&) > ListPhoneNumbersOptedOutResponseReceivedHandler; typedef std::function&) > ListPlatformApplicationsResponseReceivedHandler; typedef std::function&) > ListSMSSandboxPhoneNumbersResponseReceivedHandler; typedef std::function&) > ListSubscriptionsResponseReceivedHandler; typedef std::function&) > ListSubscriptionsByTopicResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > ListTopicsResponseReceivedHandler; typedef std::function&) > OptInPhoneNumberResponseReceivedHandler; typedef std::function&) > PublishResponseReceivedHandler; typedef std::function&) > PublishBatchResponseReceivedHandler; typedef std::function&) > PutDataProtectionPolicyResponseReceivedHandler; typedef std::function&) > RemovePermissionResponseReceivedHandler; typedef std::function&) > SetEndpointAttributesResponseReceivedHandler; typedef std::function&) > SetPlatformApplicationAttributesResponseReceivedHandler; typedef std::function&) > SetSMSAttributesResponseReceivedHandler; typedef std::function&) > SetSubscriptionAttributesResponseReceivedHandler; typedef std::function&) > SetTopicAttributesResponseReceivedHandler; typedef std::function&) > SubscribeResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UnsubscribeResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > VerifySMSSandboxPhoneNumberResponseReceivedHandler; /* End of service model async handlers definitions */ } // namespace SNS } // namespace Aws