Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | db/upnp: break when count==0 | Max Kellermann | 2014-01-22 | 1 | -6/+3 |
| | | | | Make this non-fatal. Just stop reading more objects. | ||||
* | db/upnp: use ParseUnsigned() instead of atoi() | Max Kellermann | 2014-01-22 | 1 | -16/+10 |
| | |||||
* | db/upnp: pass unsigned integers to readDirSlice() | Max Kellermann | 2014-01-22 | 2 | -17/+17 |
| | |||||
* | db/upnp: inline ContentDirectoryService::readDirSlice() | Max Kellermann | 2014-01-22 | 1 | -1/+1 |
| | |||||
* | db/upnp: remove special case for "*" | Max Kellermann | 2014-01-22 | 1 | -3/+1 |
| | | | | Passing this to csvToStrings() will do the same. | ||||
* | db/upnp: obtain char* from ixmlwrap::getFirstElementValue() | Max Kellermann | 2014-01-22 | 1 | -9/+13 |
| | | | | Fixes crash when there's no SearchCaps element. | ||||
* | db/upnp/Util: pass char* to csvToStrings() | Max Kellermann | 2014-01-22 | 3 | -8/+12 |
| | |||||
* | db/upnp: require an empty input capability set | Max Kellermann | 2014-01-22 | 1 | -1/+2 |
| | |||||
* | db/upnp/Util: handle absolute URI paths properly in caturl() | Max Kellermann | 2014-01-22 | 1 | -7/+20 |
| | | | | Fixes problems with some UPnP servers. | ||||
* | db/upnp/Util: use string::back(), string::front() | Max Kellermann | 2014-01-22 | 1 | -5/+5 |
| | |||||
* | db/upnp/Device: clear the "value" pointer on unknown element | Max Kellermann | 2014-01-22 | 1 | -0/+2 |
| | | | | Avoid appending to an obsolete string object. | ||||
* | db/upnp/Device: replace std::vector with a std::string pointer | Max Kellermann | 2014-01-22 | 3 | -47/+50 |
| | |||||
* | db/upnp/Device: remove unused UPnPService attributes | Max Kellermann | 2014-01-22 | 2 | -16/+0 |
| | |||||
* | db/upnp/Directory: "emplace" items into the vector | Max Kellermann | 2014-01-22 | 1 | -1/+1 |
| | |||||
* | db/upnp/Device: emplace/move the UPnPService into the vector | Max Kellermann | 2014-01-22 | 1 | -1/+1 |
| | | | | Reduce overhead. | ||||
* | db/upnp/Util: "emplace" items into the list | Max Kellermann | 2014-01-22 | 1 | -3/+3 |
| | | | | Reduce overhead. | ||||
* | db/upnp/Directory: replace std::vector with a simple enum | Max Kellermann | 2014-01-22 | 1 | -20/+34 |
| | | | | Reduce bloat. | ||||
* | db/upnp/Directory: join all CDATA nodes for tag values | Max Kellermann | 2014-01-22 | 1 | -11/+43 |
| | | | | | | Expat can call CharacterData() multiple times if the CDATA contains entity references. We need to collect all of them in one large string. | ||||
* | db/upnp/Directory: make "m_dir" private | Max Kellermann | 2014-01-22 | 1 | -1/+2 |
| | |||||
* | db/upnp: use std::list instead of std::vector | Max Kellermann | 2014-01-21 | 2 | -4/+4 |
| | | | | Reduce overhead. | ||||
* | db/upnp: don't use stringToTokens() in ParseDuration() | Max Kellermann | 2014-01-21 | 1 | -4/+20 |
| | | | Reduce bloat. | ||||
* | db/upnp/Discovery: eliminate attribute "last_seen" | Max Kellermann | 2014-01-18 | 2 | -6/+4 |
| | |||||
* | db/upnp/Discovery: use monotonic clock instead of time() | Max Kellermann | 2014-01-18 | 2 | -10/+18 |
| | |||||
* | db/upnp/Discovery: eliminate full copy in getServer() | Max Kellermann | 2014-01-18 | 2 | -9/+17 |
| | |||||
* | db/upnp/Discovery: eliminate Error attribute | Max Kellermann | 2014-01-18 | 2 | -30/+28 |
| | | | | | Move code to method Start() and add Error& parameters to several methods. | ||||
* | db/upnp: cache m_path.back() | Max Kellermann | 2014-01-18 | 2 | -16/+18 |
| | |||||
* | db/upnp: add UpnpMakeAction() helper function | Max Kellermann | 2014-01-18 | 2 | -30/+78 |
| | |||||
* | db/upnp/ixmlwrap: getFirstElementValue() returns const char * | Max Kellermann | 2014-01-18 | 5 | -27/+33 |
| | | | | Eliminate the std::string bloat. | ||||
* | db/upnp: merge duplicate nullptr check | Max Kellermann | 2014-01-18 | 1 | -2/+2 |
| | |||||
* | db/upnp: free IXML_Document *request manually | Max Kellermann | 2014-01-18 | 1 | -38/+40 |
| | |||||
* | db/upnp/Device: move code to method Parse() | Max Kellermann | 2014-01-18 | 4 | -31/+39 |
| | | | | Forward the Error to the caller. | ||||
* | db/upnp/Device: use ContentDirectoryDescriptor's move operator | Max Kellermann | 2014-01-18 | 3 | -7/+7 |
| | | | | Reduce bloat. | ||||
* | db/upnp/Discovery: don't copy XML to std::string | Max Kellermann | 2014-01-18 | 3 | -4/+4 |
| | | | | Pass "const char *" to Expat. | ||||
* | db/upnp/Discovery: fix memory leak | Max Kellermann | 2014-01-18 | 1 | -0/+1 |
| | |||||
* | db/upnp: remove unused typedef DevServIt | Max Kellermann | 2014-01-18 | 1 | -2/+0 |
| | |||||
* | db/upnp: use move operator to assign XML CDATA | Max Kellermann | 2014-01-18 | 2 | -12/+12 |
| | | | | Reduce runtime bloat. | ||||
* | db/upnp/Util: trimstring() constructs string from buffer | Max Kellermann | 2014-01-18 | 4 | -17/+15 |
| | | | | | Reduce overhead by omitting the part of the buffer that consists only of whitespace. | ||||
* | db/upnp/Discovery: free the response body | Max Kellermann | 2014-01-18 | 1 | -0/+1 |
| | | | | Memory leak. | ||||
* | db/upnp/Discovery: don't copy the response body | Max Kellermann | 2014-01-18 | 1 | -2/+1 |
| | | | | Bloat. | ||||
* | db/upnp: don't hold mutex while downloading device description | Max Kellermann | 2014-01-18 | 1 | -1/+1 |
| | | | | Must not perform blocking I/O while holding a mutex. | ||||
* | db/upnp: don't use WorkQueue for _ADVERTISEMENT_BYEBYE | Max Kellermann | 2014-01-18 | 2 | -36/+30 |
| | | | | Remove the ContentDirectoryDescriptor right away. Reduces bloat. | ||||
* | db/upnp/Discovery: move callbacks and data structures into class | Max Kellermann | 2014-01-17 | 3 | -72/+80 |
| | | | | Eliminate global variables. | ||||
* | db/upnp: split cluCallback() | Max Kellermann | 2014-01-17 | 1 | -15/+29 |
| | |||||
* | db/upnp: add local reference variables | Max Kellermann | 2014-01-17 | 1 | -11/+16 |
| | | | | Prepare to refactor some code. | ||||
* | db/upnp: move the LibUPnP instance to class UpnpDatabase | Max Kellermann | 2014-01-16 | 6 | -68/+32 |
| | | | | Delete the object when closing the database. | ||||
* | db/upnp: remove useless static Mutex | Max Kellermann | 2014-01-16 | 1 | -6/+0 |
| | |||||
* | db/upnp: move the UPnPDeviceDirectory instance to class UpnpDatabase | Max Kellermann | 2014-01-16 | 2 | -15/+2 |
| | | | | Delete the object when closing the database. | ||||
* | db/upnp/WorkQueue: use emplace() and std::move() | Max Kellermann | 2014-01-16 | 1 | -3/+4 |
| | |||||
* | db/upnp/WorkQueue: simplify start() | Max Kellermann | 2014-01-16 | 1 | -4/+5 |
| | |||||
* | db/upnp/WorkQueue: fix pthread_t[] allocation size | Max Kellermann | 2014-01-15 | 1 | -1/+1 |
| | | | | Was using the wrong variable. |