AlexaClientSDK  3.0.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Typedefs | Functions
alexaClientSDK::avsCommon::avs::directiveRoutingRule Namespace Reference

Typedefs

using DirectiveRoutingRule = CapabilityTag
 

Functions

DirectiveRoutingRule routingRulePerDirective (const std::string &endpointId, const utils::Optional< std::string > &instance, const std::string &nameSpace, const std::string &name)
 
DirectiveRoutingRule routingRulePerNamespace (const std::string &endpointId, const utils::Optional< std::string > &instance, const std::string &nameSpace)
 
DirectiveRoutingRule routingRulePerInstance (const std::string &endpointId, const utils::Optional< std::string > &instance)
 
DirectiveRoutingRule routingRulePerNamespaceAnyInstance (const std::string &endpointId, const std::string &nameSpace)
 
DirectiveRoutingRule routingRulePerEndpoint (const std::string &endpointId)
 
bool isDirectiveRoutingRuleValid (const DirectiveRoutingRule &rule)
 

Typedef Documentation

◆ DirectiveRoutingRule

Alias used to define a directive routing rule. Routing rules may have wildcards to match any value in a given field.

The following rules will be accepted.

  • Per directive: {EndpointId, Instance, Namespace, Name}
  • Per namespace: {EndpointId, Instance, Namespace, *}
  • Per instance: {EndpointId, Instance, *, *}
  • Per namespace for any instance: {EndpointId, *, Namespace, *}
  • Per endpoint: {EndpointId, *, *, *}

Note that we used '*' to represent wildcards.

Function Documentation

◆ isDirectiveRoutingRuleValid()

bool alexaClientSDK::avsCommon::avs::directiveRoutingRule::isDirectiveRoutingRuleValid ( const DirectiveRoutingRule rule)

Function used to validate that a directive routing rule is valid.

Parameters
ruleThe rule to validate.
Returns
Whether the rule is valid or not.

◆ routingRulePerDirective()

DirectiveRoutingRule alexaClientSDK::avsCommon::avs::directiveRoutingRule::routingRulePerDirective ( const std::string &  endpointId,
const utils::Optional< std::string > &  instance,
const std::string &  nameSpace,
const std::string &  name 
)

Function used to create a directive routing rule that matches one specific directive.

Parameters
endpointIdThe directive target endpoint identifier.
instanceThe directive instance if available.
nameSpaceThe directive namespace.
nameThe directive name.

◆ routingRulePerEndpoint()

DirectiveRoutingRule alexaClientSDK::avsCommon::avs::directiveRoutingRule::routingRulePerEndpoint ( const std::string &  endpointId)

Function used to create a directive routing rule that matches one specific directive.

Parameters
endpointIdThe directive target endpoint identifier.

◆ routingRulePerInstance()

DirectiveRoutingRule alexaClientSDK::avsCommon::avs::directiveRoutingRule::routingRulePerInstance ( const std::string &  endpointId,
const utils::Optional< std::string > &  instance 
)

Function used to create a directive routing rule that matches one specific directive.

Parameters
endpointIdThe directive target endpoint identifier.
instanceThe directive instance if available.

◆ routingRulePerNamespace()

DirectiveRoutingRule alexaClientSDK::avsCommon::avs::directiveRoutingRule::routingRulePerNamespace ( const std::string &  endpointId,
const utils::Optional< std::string > &  instance,
const std::string &  nameSpace 
)

Function used to create a directive routing rule that matches one specific directive.

Parameters
endpointIdThe directive target endpoint identifier.
instanceThe directive instance if available.
nameSpaceThe directive namespace.

◆ routingRulePerNamespaceAnyInstance()

DirectiveRoutingRule alexaClientSDK::avsCommon::avs::directiveRoutingRule::routingRulePerNamespaceAnyInstance ( const std::string &  endpointId,
const std::string &  nameSpace 
)

Function used to create a directive routing rule that matches a specific namespace independently from their instance.

Parameters
endpointIdThe directive target endpoint identifier.
nameSpaceThe directive namespace.

AlexaClientSDK 3.0.0 - Copyright 2016-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0