AlexaClientSDK  1.26.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Namespaces | Macros | Functions | Variables
Alert.cpp File Reference
#include "acsdkAlerts/Alarm.h"
#include "acsdkAlerts/Alert.h"
#include <AVSCommon/AVS/FocusState.h>
#include <AVSCommon/Utils/JSON/JSONUtils.h>
#include <AVSCommon/Utils/Logger/Logger.h>
#include <AVSCommon/Utils/String/StringUtils.h>
#include <rapidjson/stringbuffer.h>
#include <rapidjson/writer.h>
#include <limits>
#include <string>
#include <time.h>
Include dependency graph for Alert.cpp:

Namespaces

 alexaClientSDK
 Whether or not curl logs should be emitted.
 
 alexaClientSDK::acsdkAlerts
 

Macros

#define LX(event)   alexaClientSDK::avsCommon::utils::logger::LogEntry(TAG, event)
 

Functions

static const std::string alexaClientSDK::acsdkAlerts::TAG ("Alert")
 String to identify log entries originating from this file. More...
 
static Alert::ParseFromJsonStatus alexaClientSDK::acsdkAlerts::parseAlertAssetConfigurationFromJson (const rapidjson::Value &payload, Alert::AssetConfiguration *assetConfiguration, Alert::DynamicData *dynamicData)
 
static bool alexaClientSDK::acsdkAlerts::hasAsset (const std::string &key, const std::unordered_map< std::string, Alert::Asset > &assets)
 
static bool alexaClientSDK::acsdkAlerts::validateAssetConfiguration (const Alert::AssetConfiguration &assetConfiguration)
 

Variables

static const std::string alexaClientSDK::acsdkAlerts::KEY_TOKEN = "token"
 String for lookup of the token value in a parsed JSON document. More...
 
static const std::string alexaClientSDK::acsdkAlerts::KEY_SCHEDULED_TIME = "scheduledTime"
 String for lookup of the scheduled time value in a parsed JSON document. More...
 
static const std::string alexaClientSDK::acsdkAlerts::KEY_ASSETS = "assets"
 String for lookup of the assets array in a parsed JSON document. More...
 
static const std::string alexaClientSDK::acsdkAlerts::KEY_ASSET_ID = "assetId"
 String for lookup of the asset id within an asset object in a parsed JSON document. More...
 
static const std::string alexaClientSDK::acsdkAlerts::KEY_ASSET_URL = "url"
 String for lookup of the asset url within an asset object in a parsed JSON document. More...
 
static const std::string alexaClientSDK::acsdkAlerts::KEY_ASSET_PLAY_ORDER = "assetPlayOrder"
 String for lookup of the asset play order array in a parsed JSON document. More...
 
static const std::string alexaClientSDK::acsdkAlerts::KEY_LOOP_COUNT = "loopCount"
 String for lookup of the loop count value in a parsed JSON document. More...
 
static const std::string alexaClientSDK::acsdkAlerts::KEY_LOOP_PAUSE_IN_MILLISECONDS = "loopPauseInMilliSeconds"
 String for lookup of the loop pause in milliseconds value in a parsed JSON document. More...
 
static const std::string alexaClientSDK::acsdkAlerts::KEY_BACKGROUND_ASSET_ID = "backgroundAlertAsset"
 String for lookup of the backgroundAssetId for an alert, if assets are provided. More...
 
static const std::string alexaClientSDK::acsdkAlerts::KEY_LABEL = "label"
 String for lookup of the label for an alert. More...
 
static const std::string alexaClientSDK::acsdkAlerts::KEY_ORIGINAL_TIME = "originalTime"
 String for lookup of the original time for an alert. More...
 
static const int alexaClientSDK::acsdkAlerts::ORIGINAL_TIME_STRING_HOUR_LENGTH = 2
 The length of the hour field in an original time string. More...
 
static const int alexaClientSDK::acsdkAlerts::ORIGINAL_TIME_STRING_MINUTE_LENGTH = 2
 The length of the minute field in an original time string. More...
 
static const int alexaClientSDK::acsdkAlerts::ORIGINAL_TIME_STRING_SECOND_LENGTH = 2
 The length of the second field in an original time string. More...
 
static const int alexaClientSDK::acsdkAlerts::ORIGINAL_TIME_STRING_MILLISECOND_LENGTH = 3
 The length of the millisecond field in an original time string. More...
 
static const std::string alexaClientSDK::acsdkAlerts::ORIGINAL_TIME_STRING_COLON_SEPARATOR = ":"
 The colon separator used in an original time string. More...
 
static const std::string alexaClientSDK::acsdkAlerts::ORIGINAL_TIME_STRING_DOT_SEPARATOR = "."
 The dot separator used in an original time string. More...
 
static const unsigned int alexaClientSDK::acsdkAlerts::ORIGINAL_TIME_STRING_HOUR_OFFSET = 0
 The offset into an original time string where the hour begins. More...
 
static const unsigned int alexaClientSDK::acsdkAlerts::ORIGINAL_TIME_STRING_MINUTE_OFFSET
 The offset into an original time string where the minute begins. More...
 
static const unsigned int alexaClientSDK::acsdkAlerts::ORIGINAL_TIME_STRING_SECOND_OFFSET
 The offset into an original time string where the second begins. More...
 
static const unsigned int alexaClientSDK::acsdkAlerts::ORIGINAL_TIME_STRING_MILLISECOND_OFFSET
 The offset into an original time string where the millisecond begins. More...
 
static const unsigned long alexaClientSDK::acsdkAlerts::ORIGINAL_TIME_STRING_LENGTH
 The total expected length of an original time string. More...
 
const std::chrono::seconds alexaClientSDK::acsdkAlerts::MAXIMUM_ALERT_RENDERING_TIME = std::chrono::hours(1)
 We won't allow an alert to render more than 1 hour. More...
 
const auto alexaClientSDK::acsdkAlerts::BACKGROUND_ALERT_SOUND_PAUSE_TIME = std::chrono::seconds(10)
 Length of pause of alert sounds when played in background. More...
 
static const std::string alexaClientSDK::acsdkAlerts::ALERT_TYPE_ALARM_STRING
 String representation of an alert of alarm type. More...
 
static const std::string alexaClientSDK::acsdkAlerts::ALERT_TYPE_TIMER_STRING
 String representation of an alert of timer type. More...
 
static const std::string alexaClientSDK::acsdkAlerts::ALERT_TYPE_REMINDER_STRING
 String representation of an alert of reminder type. More...
 

Macro Definition Documentation

◆ LX

#define LX (   event)    alexaClientSDK::avsCommon::utils::logger::LogEntry(TAG, event)

Create a LogEntry using this file's TAG and the specified event string.

Parameters
Theevent string for this LogEntry.

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