aboutsummaryrefslogtreecommitdiffstats
path: root/src/db/upnp (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-01-18db/upnp: merge duplicate nullptr checkMax Kellermann1-2/+2
2014-01-18db/upnp: free IXML_Document *request manuallyMax Kellermann1-38/+40
2014-01-18db/upnp/Device: move code to method Parse()Max Kellermann4-31/+39
Forward the Error to the caller.
2014-01-18db/upnp/Device: use ContentDirectoryDescriptor's move operatorMax Kellermann3-7/+7
Reduce bloat.
2014-01-18db/upnp/Discovery: don't copy XML to std::stringMax Kellermann3-4/+4
Pass "const char *" to Expat.
2014-01-18db/upnp/Discovery: fix memory leakMax Kellermann1-0/+1
2014-01-18db/upnp: remove unused typedef DevServItMax Kellermann1-2/+0
2014-01-18db/upnp: use move operator to assign XML CDATAMax Kellermann2-12/+12
Reduce runtime bloat.
2014-01-18db/upnp/Util: trimstring() constructs string from bufferMax Kellermann4-17/+15
Reduce overhead by omitting the part of the buffer that consists only of whitespace.
2014-01-18db/upnp/Discovery: free the response bodyMax Kellermann1-0/+1
Memory leak.
2014-01-18db/upnp/Discovery: don't copy the response bodyMax Kellermann1-2/+1
Bloat.
2014-01-18db/upnp: don't hold mutex while downloading device descriptionMax Kellermann1-1/+1
Must not perform blocking I/O while holding a mutex.
2014-01-18db/upnp: don't use WorkQueue for _ADVERTISEMENT_BYEBYEMax Kellermann2-36/+30
Remove the ContentDirectoryDescriptor right away. Reduces bloat.
2014-01-17db/upnp/Discovery: move callbacks and data structures into classMax Kellermann3-72/+80
Eliminate global variables.
2014-01-17db/upnp: split cluCallback()Max Kellermann1-15/+29
2014-01-17db/upnp: add local reference variablesMax Kellermann1-11/+16
Prepare to refactor some code.
2014-01-16db/upnp: move the LibUPnP instance to class UpnpDatabaseMax Kellermann6-68/+32
Delete the object when closing the database.
2014-01-16db/upnp: remove useless static MutexMax Kellermann1-6/+0
2014-01-16db/upnp: move the UPnPDeviceDirectory instance to class UpnpDatabaseMax Kellermann2-15/+2
Delete the object when closing the database.
2014-01-16db/upnp/WorkQueue: use emplace() and std::move()Max Kellermann1-3/+4
2014-01-16db/upnp/WorkQueue: simplify start()Max Kellermann1-4/+5
2014-01-15db/upnp/WorkQueue: fix pthread_t[] allocation sizeMax Kellermann1-1/+1
Was using the wrong variable.
2014-01-15db/upnp/Object: remove obsolete attribute "m_title"Max Kellermann1-1/+0
2014-01-14db/upnp/Object: add attribute "tag"Max Kellermann2-45/+23
Replaces "m_title" and "m_props". More bloat removed.
2014-01-14db/upnp: move upnp_tags to Tags.cxxMax Kellermann2-0/+61
2014-01-14db/upnp/Object: disallow copying, always moveMax Kellermann3-3/+7
Reduce bloat.
2014-01-14db/upnp/Directory: merge m_containers and m_itemsMax Kellermann2-11/+14
There is no use in duplicating these containers. It only means that we have to search both, duplicating the code.
2014-01-14db/upnp/Directory: eliminate one std::string copy with std::move()Max Kellermann1-2/+2
2014-01-14db/upnp/Object: add attribute "name"Max Kellermann2-5/+28
Call titleToPathElt() only once for each object.
2014-01-14db/upnp/WorkQueue: remove unused attributes "high", "low"Max Kellermann1-17/+3
2014-01-14db/upnp/WorkQueue: initialize "ok" to false, eliminate redundant checksMax Kellermann1-21/+10
2014-01-14db/upnp/WorkQueue: remove IsOK() check from put()Max Kellermann1-6/+0
Not necessary, not worth the check.
2014-01-14db/upnp/WorkQueue: remove redundant n_workers_exited check from IsOK()Max Kellermann1-1/+1
2014-01-14db/upnp/WorkQueue: include cleanupMax Kellermann1-3/+0
2014-01-14db/upnp/WorkQueue: remove unnecessary "waiting" attributesMax Kellermann1-24/+9
2014-01-14db/upnp/WorkQueue: remove unused method waitIdle()Max Kellermann1-42/+0
Contrary to setTerminateAndWait()'s documentation, the method does wait for worker threads to exit via pthread_join().
2014-01-14db/upnp/WorkQueue: use array instead of std::listMax Kellermann1-15/+19
Reduce bloat further.
2014-01-14db/upnp/WorkQueue: use std::list instead of std::unordered_mapMax Kellermann1-18/+6
Reduce bloat.
2014-01-14db/upnp/WorkQueue: rename attributesMax Kellermann1-78/+78
2014-01-14db/upnp/WorkQueue: pass reference to take()Max Kellermann2-3/+3
2014-01-14db/upnp/WorkQueue: remove unused method qsize()Max Kellermann1-8/+0
2014-01-14db/upnp/WorkQueue: remove unused "szp" parameter from take()Max Kellermann2-5/+2
2014-01-14db/upnp/WorkQueue: remove unused statisticsMax Kellermann1-17/+2
2014-01-13copyright year 2014Max Kellermann2-2/+2
2014-01-13db/upnp: add fallback for emplace()Max Kellermann1-0/+4
The method emplace() was added in gcc 4.8. This commit restores compatibility with gcc 4.7.
2014-01-13db/upnp: use std::function for the libupnp callbackMax Kellermann3-31/+16
Replaces the bloated std::map.
2014-01-13db/upnp: fix "upnp:class" parserMax Kellermann1-7/+7
"upnp:class" is an element, not an attribute of element "item". This fixes a regression from commit 65ebfb16
2014-01-11db/upnp/Directory: parse item_class in StartElementMax Kellermann1-12/+8
Don't add to the std::map.
2014-01-11db/upnp/Object: add attribute "url"Max Kellermann2-1/+3
Don't store in the std::map.
2014-01-11db/upnp/Directory: parse durationMax Kellermann2-15/+20
Don't put all <res/> attributes to the attributes map; parse the "duration" attribute as soon as we receive it, and store it in an integer attribute. This reduces bloat.