16 #ifndef ALEXA_CLIENT_SDK_AVSCOMMON_AVS_INCLUDE_AVSCOMMON_AVS_ATTACHMENT_ATTACHMENTMANAGER_H_ 17 #define ALEXA_CLIENT_SDK_AVSCOMMON_AVS_INCLUDE_AVSCOMMON_AVS_ATTACHMENT_ATTACHMENTMANAGER_H_ 20 #include <unordered_map> 27 namespace attachment {
104 struct AttachmentManagementDetails {
108 AttachmentManagementDetails();
111 std::chrono::steady_clock::time_point creationTime;
113 std::unique_ptr<Attachment> attachment;
125 AttachmentManagementDetails& getDetailsLocked(
const std::string& attachmentId);
132 void removeExpiredAttachmentsLocked();
137 std::chrono::minutes m_attachmentExpirationMinutes;
141 std::unordered_map<std::string, AttachmentManagementDetails> m_attachmentDetailsMap;
149 #endif // ALEXA_CLIENT_SDK_AVSCOMMON_AVS_INCLUDE_AVSCOMMON_AVS_ATTACHMENT_ATTACHMENTMANAGER_H_ bool setAttachmentTimeoutMinutes(std::chrono::minutes timeoutMinutes) override
WriterPolicy
Specifies the policy to use for writing to the stream.
Definition: WriterPolicy.h:25
::std::string string
Definition: gtest-port.h:1097
static std::shared_ptr< AttachmentManagerInterface > createInProcessAttachmentManagerInterface()
static constexpr std::chrono::minutes ATTACHMENT_MANAGER_TIMOUT_MINUTES_MINIMUM
Definition: AttachmentManager.h:62
Definition: AttachmentManager.h:50
std::unique_ptr< AttachmentWriter > createWriter(const std::string &attachmentId, utils::sds::WriterPolicy policy=avsCommon::utils::sds::WriterPolicy::ALL_OR_NOTHING) override
static constexpr std::chrono::minutes ATTACHMENT_MANAGER_TIMOUT_MINUTES_DEFAULT
Definition: AttachmentManager.h:56
Definition: AttachmentManagerInterface.h:37
AttachmentType
Definition: AttachmentManager.h:69
std::string generateAttachmentId(const std::string &contextId, const std::string &contentId) const override
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
ReaderPolicy
Specifies the policy to use for reading from the stream.
Definition: ReaderPolicy.h:25
AttachmentManager(AttachmentType attachmentType)
This value corresponds to the InProcessAttachment class.
std::unique_ptr< AttachmentReader > createReader(const std::string &attachmentId, utils::sds::ReaderPolicy policy) override