Arduino DLNA Server
Loading...
Searching...
No Matches
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123]
 Ntiny_dlna
 CActionReplyRepresents the result of invoking a DLNA service Action
 CActionRequestRepresents a request to invoke a remote DLNA service action
 CAllocatorMemory allocateator which uses malloc
 CAllocatorExtMemory allocateator which uses ps_malloc (on the ESP32) and if this fails it resorts to malloc
 CArgumentDLNA Service: Action Argument
 CControlPointMediaRendererHelper class to control a MediaRenderer device from a control point
 CControlPointMediaServerHelper class to control/query a MediaServer from a control point
 CDLNAControlPointMgrLightweight DLNA control point manager
 CDLNAControlPointRequestParserTranslates DLNA UDP Requests to Schedule so that we can schedule a reply
 CDLNADeviceSetup of a Basic DLNA Device service. The device registers itself to the network and answers to the DLNA queries and requests. A DLNA device uses UDP, Http, XML and Soap to discover and manage a service, so there is quite some complexity involved:
 CDLNADeviceInfoDevice Attributes and generation of XML using urn:schemas-upnp-org:device-1-0. We could just return a predefined device xml document, but we provide a dynamic generation of the service xml which should be more memory efficient. Strings are represented as char*, so you can assign values that are stored in ProgMem to mimimize the RAM useage. If you need to keep the values on the heap you can use addString() method
 CDLNADeviceRequestParserTranslates DLNA UDP Requests to Schedule so that we can schedule a reply
 CDLNAServiceInfoAttributes needed for the DLNA Service Definition
 CEscapingPrintPrint wrapper that escapes & < > while forwarding to an underlying Print
 CHttpChunkReaderHttp might reply with chunks. So we need to dechunk the data. see https://en.wikipedia.org/wiki/Chunked_transfer_encoding
 CHttpChunkWriterWrites the data chunked to the actual client
 CHttpHeaderIn a http request and reply we need to process header Debugrmation. With this API we can define and query the header Information. The individual header lines are stored in a list. This is the common functionality for the HttpRequest and HttpReplyHeader subclasses
 CHttpHeaderLineA individual key - value header line
 CHttpLineReaderWe read a single line. A terminating 0 is added to the string to make it compliant for c string functions
 CHttpParametersAPI for http parameters: key=value&key1=value1
 CHttpReplyHeaderReading and Writing of Http Replys
 CHttpRequestSimple API to process get, put, post, del http requests I tried to use Arduino HttpClient, but I did not manage to extract the mime type from streaming get requests
 CHttpRequestHandlerLineUsed to register and process callbacks
 CHttpRequestHeaderReading and writing of Http Requests
 CHttpRequestRewriteObject which information about the rewrite rule
 CHttpServerA Simple Header only implementation of Http Server that allows the registration of callback functions. This is based on the Arduino Server class
 CHttpStreamCopyProcessing of a single stream to a single client. In the loop we can simply provide individual small chunks until we are done
 CHttpStreamedOutputAbstract class for handling streamed output
 CHttpTunnelForwards a request to a destination URL and provides a pointer to the result stream
 CIconInformation about the icon
 CIPAddressAndPortIP Adress including Port information
 CIUDPServiceAbstract Interface for UDP API
 CListDouble linked list
 CIteratorList Iterator
 CNodeList Node
 CLoggerClassLogger that writes messages dependent on the log level
 CMediaItemMedia item description used to build DIDL-Lite entries
 CMediaRendererMediaRenderer DLNA Device
 CMediaServerMinimal Digital Media Server implementation
 CMimeExtensionMapping from file extensions to mime types
 CMSearchReplyCPProcessing at control point to handle a MSearchReply from the device
 CMSearchReplyScheduleAnswer from device to MSearch request by sending a reply
 CMSearchScheduleSend MSearch request
 CNotificationDLNA notification
 CNotifyReplyCPRepresents a notification/notify reply scheduled for control-point processing
 CNullPrintClass with does not do any output: it can be used to determine the length of the output
 CPostAliveScheduleSend out PostAlive messages: Repeated every 5 seconds
 CPostByeScheduleSend out ByeBye message
 CPostSubscribeSend SUBSCRIBE message via UDP unicast
 CQueueLockFreeA simple single producer, single consumer lock free queue
 CNodeQueueLockFree Node
 CRequestDataProvides information of the received UDP which consists of the (xml) data and the peer address and port
 CRingBufferImplementation of a Simple Circular Buffer. Instead of comparing the position of the read and write pointer in order to figure out if we still have characters available or space left to write we keep track of the actual length which is easier to follow
 CScheduleAn individual Schedule (to send out UDP messages)
 CSchedulerScheduler which processes all due Schedules (to send out UDP replies)
 CStrString implementation which keeps the data on the heap. We grow the allocated memory only if the copy source is not fitting
 CStringRegistryMake sure that a string is stored only once
 CStrPrintPrint to a dynamic string
 CStrViewA simple wrapper to provide string functions on char*. If the underlying char* is a const we do not allow any updates; The ownership of the chr* must be managed externally!
 CSubscriptionRepresents a single event subscription for a service
 CSubscriptionMgrManages event subscriptions and notification delivery
 CUDPAsyncServiceAccess to UDP functionality: sending and receiving of data using the Async API of the ESP32
 CUDPServiceAccess to UDP functionality: sending and receiving of data
 CUrlURL parser which breaks a full url string up into its individual parts
 CVectorVector implementation which provides the most important methods as defined by std::vector. This class it is quite handy to have and most of the times quite better then dealing with raw c arrays
 CIteratorLightweight iterator for tiny_dlna::Vector<T>
 CXMLAttributeParserSmall utility to extract attributes from a start-tag in an XML fragment
 CXMLDeviceParserParses an DLNA device xml string to fill the DLNADevice data structure
 CXMLNodeRepresents a single XML element
 CXMLParserLightweight streaming XML parser
 CXMLParserPrintHelper that implements a Print interface to accumulate XML data and then parse it using XMLParser
 CCBRef
 CXMLPrinterFunctions to efficiently output XML. XML data contains a lot of redundancy so it is more memory efficient to generate the data instead of using a predefined XML document