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

#include <CacheItems.h>

Inheritance diagram for MBMS_RT::CachedPlaylist:
Inheritance graph
Collaboration diagram for MBMS_RT::CachedPlaylist:
Collaboration graph

Public Member Functions

 CachedPlaylist (const std::string &content_location, unsigned long received_at, std::function< const std::string &(void)> playlist_cb)
 
virtual ~CachedPlaylist ()=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 104 of file CacheItems.h.

Constructor & Destructor Documentation

◆ CachedPlaylist()

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

Definition at line 106 of file CacheItems.h.

109  , _playlist_cb( playlist_cb )
110  {}
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:117
virtual unsigned long received_at() const
Definition: CacheItems.h:117

◆ ~CachedPlaylist()

virtual MBMS_RT::CachedPlaylist::~CachedPlaylist ( )
virtualdefault

Member Function Documentation

◆ buffer()

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

Implements MBMS_RT::CacheItem.

Definition at line 114 of file CacheItems.h.

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

◆ content_length()

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

Implements MBMS_RT::CacheItem.

Definition at line 115 of file CacheItems.h.

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

◆ item_source()

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

Implements MBMS_RT::CacheItem.

Definition at line 116 of file CacheItems.h.

◆ item_type()

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

Implements MBMS_RT::CacheItem.

Definition at line 113 of file CacheItems.h.

◆ received_at()

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

Reimplemented from MBMS_RT::CacheItem.

Definition at line 117 of file CacheItems.h.

117 { return time(nullptr); };

Member Data Documentation

◆ _playlist_cb

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

Definition at line 120 of file CacheItems.h.


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