AlexaClientSDK
3.0.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
|
#include <AttachmentReader.h>
Public Types | |
enum | ReadStatus { ReadStatus::OK, ReadStatus::OK_WOULDBLOCK, ReadStatus::OK_TIMEDOUT, ReadStatus::OK_OVERRUN_RESET, ReadStatus::CLOSED, ReadStatus::ERROR_OVERRUN, ReadStatus::ERROR_BYTES_LESS_THAN_WORD_SIZE, ReadStatus::ERROR_INTERNAL } |
enum | ClosePoint { ClosePoint::IMMEDIATELY, ClosePoint::AFTER_DRAINING_CURRENT_BUFFER } |
An enum class to indicate when the read() function should stop returning data after a call to close() . More... | |
Public Member Functions | |
virtual | ~AttachmentReader ()=default |
virtual std::size_t | read (void *buf, std::size_t numBytes, ReadStatus *readStatus, std::chrono::milliseconds timeoutMs=std::chrono::milliseconds(0))=0 |
virtual bool | seek (uint64_t offset)=0 |
virtual uint64_t | getNumUnreadBytes ()=0 |
virtual void | close (ClosePoint closePoint=ClosePoint::AFTER_DRAINING_CURRENT_BUFFER)=0 |
A class that provides functionality to read data from an Attachment
.
An enum class to indicate when the read()
function should stop returning data after a call to close()
.
Enumerator | |
---|---|
IMMEDIATELY | Stop returning data immediately after the |
AFTER_DRAINING_CURRENT_BUFFER | Stop returning data when all of the data in the buffer at the time |
An enum class to communicate the possible states following a read()
call.
|
virtualdefault |
|
pure virtual |
The close function. An implementation will take care of any resource management when a reader no longer needs to use an attachment.
closePoint | The point at which the reader should stop reading from the attachment. |
Implemented in alexaClientSDK::mediaPlayer::test::MockAttachmentReader, alexaClientSDK::avsCommon::avs::attachment::InProcessAttachmentReader, and alexaClientSDK::avsCommon::avs::attachment::DefaultAttachmentReader< SDSType >.
|
pure virtual |
Utility function to return the number of bytes in an attachment.
Implemented in alexaClientSDK::mediaPlayer::test::MockAttachmentReader, alexaClientSDK::avsCommon::avs::attachment::InProcessAttachmentReader, and alexaClientSDK::avsCommon::avs::attachment::DefaultAttachmentReader< SDSType >.
|
pure virtual |
The read function.
buf | The buffer where data should be copied to. | |
numBytes | The size of the buffer in bytes. | |
[out] | readStatus | The out-parameter where the resulting state of the read will be expressed. |
timeoutMs | The timeout for this read call in milliseconds. This value is only used for the BLOCKING reader policy. If this parameter is zero, there is no timeout and blocking reads will wait forever. |
Implemented in alexaClientSDK::mediaPlayer::test::MockAttachmentReader, alexaClientSDK::mediaPlayer::android::test::MockAttachmentReader, alexaClientSDK::mediaPlayer::android::test::MockEmptyAttachmentReader, alexaClientSDK::avsCommon::avs::attachment::InProcessAttachmentReader, alexaClientSDK::avsCommon::avs::attachment::DefaultAttachmentReader< SDSType >, and alexaClientSDK::mediaPlayer::android::test::MockAttachmentReader.
|
pure virtual |
The seek function.
offset | The offset to seek to within the Attachment . |
true
if the specified position points at unexpired data, or false
otherwise. Note that it is valid to seek into a future index that has not been written to yet. Implemented in alexaClientSDK::mediaPlayer::test::MockAttachmentReader, alexaClientSDK::avsCommon::avs::attachment::InProcessAttachmentReader, and alexaClientSDK::avsCommon::avs::attachment::DefaultAttachmentReader< SDSType >.
AlexaClientSDK 3.0.0 - Copyright 2016-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0