5G-MAG Reference Tools - MBMS Middleware
Public Member Functions | Private Attributes | List of all members
MBMS_RT::CachedManifest Class Reference

#include <CacheItems.h>

Inheritance diagram for MBMS_RT::CachedManifest:
Inheritance graph
Collaboration diagram for MBMS_RT::CachedManifest:
Collaboration graph

Public Member Functions

 CachedManifest (const std::string &content_location, unsigned long received_at, std::function< const std::string &(void)> playlist_cb)
 
virtual ~CachedManifest ()=default
 
virtual ItemType item_type () const
 
virtual char * buffer () const
 
virtual uint32_t content_length () const
 
virtual ItemSource item_source () const
 
virtual unsigned long received_at () const
 
- Public Member Functions inherited from MBMS_RT::CacheItem
 CacheItem (const std::string &content_location, unsigned long received_at)
 
virtual ~CacheItem ()=default
 
std::string item_source_as_string () const
 
std::string content_location () const
 

Private Attributes

std::function< const std::string &(void)> _playlist_cb
 

Additional Inherited Members

- Public Types inherited from MBMS_RT::CacheItem
enum class  ItemType { File , Segment , Playlist , Manifest }
 

Detailed Description

Definition at line 123 of file CacheItems.h.

Constructor & Destructor Documentation

◆ CachedManifest()

MBMS_RT::CachedManifest::CachedManifest ( const std::string &  content_location,
unsigned long  received_at,
std::function< const std::string &(void)>  playlist_cb 
)
inline

Definition at line 125 of file CacheItems.h.

128  , _playlist_cb( playlist_cb )
129  {}
CacheItem(const std::string &content_location, unsigned long received_at)
Definition: CacheItems.h:28
std::string content_location() const
Definition: CacheItems.h:59
std::function< const std::string &(void)> _playlist_cb
Definition: CacheItems.h:136
virtual unsigned long received_at() const
Definition: CacheItems.h:136

◆ ~CachedManifest()

virtual MBMS_RT::CachedManifest::~CachedManifest ( )
virtualdefault

Member Function Documentation

◆ buffer()

virtual char* MBMS_RT::CachedManifest::buffer ( ) const
inlinevirtual

Implements MBMS_RT::CacheItem.

Definition at line 133 of file CacheItems.h.

133 { return (char*)_playlist_cb().c_str(); };

◆ content_length()

virtual uint32_t MBMS_RT::CachedManifest::content_length ( ) const
inlinevirtual

Implements MBMS_RT::CacheItem.

Definition at line 134 of file CacheItems.h.

134 { return _playlist_cb().size(); };

◆ item_source()

virtual ItemSource MBMS_RT::CachedManifest::item_source ( ) const
inlinevirtual

Implements MBMS_RT::CacheItem.

Definition at line 135 of file CacheItems.h.

◆ item_type()

virtual ItemType MBMS_RT::CachedManifest::item_type ( ) const
inlinevirtual

Implements MBMS_RT::CacheItem.

Definition at line 132 of file CacheItems.h.

◆ received_at()

virtual unsigned long MBMS_RT::CachedManifest::received_at ( ) const
inlinevirtual

Reimplemented from MBMS_RT::CacheItem.

Definition at line 136 of file CacheItems.h.

136 { return time(nullptr); };

Member Data Documentation

◆ _playlist_cb

std::function<const std::string&(void)> MBMS_RT::CachedManifest::_playlist_cb
private

Definition at line 139 of file CacheItems.h.


The documentation for this class was generated from the following file: