Max Kellermann
9a6d2b791f
lib/upnp/Discovery: avoid a std::string copy
2017-08-25 10:55:30 +02:00
Max Kellermann
2a5010a426
lib/upnp/Discovery: remove obsolete comment
2017-08-25 10:16:19 +02:00
Max Kellermann
be29da46f8
lib/upnp/Discovery: use std::list::remove_if()
2017-08-25 10:14:18 +02:00
Max Kellermann
d0734e27ba
lib/upnp/Discovery: use range-based "for"
2017-08-25 10:11:35 +02:00
Max Kellermann
c8f7a859ea
lib/upnp/Discovery: use CURL instead of UpnpDownloadUrlItem()
...
We can do CURL requests asynchronously, and we don't need a
synchronous WorkQueue thread for that.
This allows parallelizing lookups and allows immediate cancellation.
2017-08-25 09:52:44 +02:00
Max Kellermann
95637fd153
lib/upnp/Discovery: use strncmp() instead of memcmp()
...
memcmp() can overflow the buffer.
2017-08-18 18:48:22 +02:00
Max Kellermann
71f0ed8b74
*: add "noexcept" to many, many function prototypes
...
This eliminates some overhead, because the compiler doesn't need to
consider these functions throwing.
2017-05-08 14:44:49 +02:00
Max Kellermann
5900253b85
update copyright year
2017-01-03 20:48:59 +01:00
Max Kellermann
2e182e84c3
thread/Mutex: remove ScopeLock, use std::lock_guard directly
2017-01-03 07:11:57 +01:00
Max Kellermann
cd607cb280
lib/upnp/Discovery: use std::chrono::steady_clock
2016-12-28 22:06:06 +01:00
Max Kellermann
4e60ab7f53
lib/upnp/Discovery: use C++11 initializers
2016-12-28 22:05:31 +01:00
Max Kellermann
1aee89f5ea
*: include cleanup (using iwyu)
2016-03-01 22:08:13 +01:00
Max Kellermann
1d67aa7bf2
update copyright year to 2016
2016-02-26 17:54:05 +01:00
Max Kellermann
6c5bc9b4a3
lib/expat: use C++ exceptions instead of class Error
2016-02-07 12:58:20 +01:00
Max Kellermann
3ee5093b03
lib/upnp: use C++ exceptions instead of class Error
2016-02-07 12:53:21 +01:00
Max Kellermann
224d511616
upnp/Discovery: use std::unique_ptr in WorkQueue
2016-02-06 22:26:14 +01:00
Max Kellermann
050c6cc4b0
upnp/Discovery: use AtScopeExit() for exception-safety
2016-02-06 22:06:43 +01:00
Max Kellermann
833ec3d3cd
lib/upnp/Discovery: remove locking from ExpireDevices()
2015-02-03 23:48:11 +01:00
Max Kellermann
3d446d3266
lib/upnp/Discovery: apply naming convention
2015-02-02 21:12:19 +00:00
Max Kellermann
712ed555e6
Copyright year 2015
2015-01-01 19:48:13 +01:00
Max Kellermann
054323c2bc
lib/upnp/Discovery: add missing stdlib.h include
2014-11-02 11:04:13 +01:00
Max Kellermann
e57e89b9d5
upnp/discovery: use a plain UpnpClient_Handle instead of class LibUPnP
2014-01-26 15:22:33 +01:00
Max Kellermann
bcc1f93370
upnp: add class UpnpCallback
...
Each Upnp*Async() call passes a new cookie pointer, and the cookie
passed to UpnpRegisterClient() appears to be ignored. Using this
interface is a more elegant approach than having one single "handler"
function.
2014-01-26 15:04:56 +01:00
Max Kellermann
9f3ba737d6
upnp/Discovery: add listener interface
2014-01-26 13:41:40 +01:00
Max Kellermann
f86f5ad224
db/upnp: move generic code to lib/upnp/
2014-01-26 13:41:40 +01:00