UPnPsdk 0.1
Universal Plug and Play +, Software Development Kit
 
Loading...
Searching...
No Matches
Todo List
File A_general_TODO-list.dox
  • Implement API of the SDK, remove Compa/inc/UpnpGlobal.hpp.
  • Remove Compa/inc/UpnpUniStd.hpp from pUPnP API.
  • Install new authentification for Github.
  • Enable and improve tests in Utest/compa/threadutil.d.
  • Improve test_http_Download.cpp, start with error conditions for http_MakeMessage().
  • Parse_uri should accept "http://127.000.000.001:50001/tvdevicedesc.xml" as valid.
  • Enable OpenSSL, improve its tests (test_sock.cpp, sock read_ssl, sock write_ssl).
  • Rework 'get_ssdp_sockets()' and Utest/compa/1-discovery/test_ssdp.cpp.
  • Extract simple inet_server from test_openssl_threaded.cpp to a UPnP-Device.
  • Create no mocked tests for CSigp.nosp@m.ipe@.nosp@m.sock..nosp@m.cpp, read and write data using UPnP-Device.
  • Test and document ixml script support.
  • Build for ARM platforms.
  • Create Unit Test large-file support (https://gist.github.com/mortenpi/9745042)
  • Create info function in the library to avoid exporting private symbols, callable on the API.
  • Remove Interface/ directory?
  • Fix "time used" on sock_read and sock_write.
  • Rework test_httpreadwrite.cpp.
  • Add AI_IDN and AI_CANONIDN support to CAddrinfo.
  • Use poll() and WSAPoll() instead of select().
  • Create gtests for web_server_callback.
  • Check bugfix in pupnp/upnp/src/urlconfig/urlconfig.cpp with a gtest.
  • Move pupnp/upnp/src/inc/sock.hpp:79:static UPNP_INLINE int sock_close() to miniserver.cpp and rework.
  • Replace ThreadPool and multithreading with C++ standard library functions.
Member anonymous_namespace{httpreadwrite.cpp}::copy_msg_headers (LinkedList *msgHeaders, UpnpString *headers)
Dummy function. It do nothing since years. Do we need it?
Member anonymous_namespace{httpreadwrite.cpp}::get_hoststr (const char *url_str, const char **hoststr, size_t *hostlen)
Check if this can be taken from the httpparser.
Member anonymous_namespace{httpreadwrite.cpp}::MakeGenericMessage (http_method_t method, const char *url_str, membuffer *request, uri_type *url, int contentLength, const char *contentType, const UpnpString *headers)
Need to be documented.
Member anonymous_namespace{httpreadwrite.cpp}::MakeGetMessageEx (const char *url_str, membuffer *request, uri_type *url, SendInstruction *pRangeSpecifier)
Needs documentation. There was no information found.
Member anonymous_namespace{ssdp_common.cpp}::ssdp_event_handler_thread (void *the_data)
Make utests and split function to separate handle ctrlpt and service.
Member anonymous_namespace{ThreadPool.cpp}::SetSeed (void)
Solve problem with type casts.
Member anonymous_namespace{urlconfig.cpp}::addrToString (const sockaddr *addr, char *ipaddr_port, size_t ipaddr_port_size)
Check bugfix with gtest.
{upnpapi.cpp} Member compa::anonymous_namespace{upnpapi.cpp}::UpnpRegisterRootDevice3 (const char *const DescUrl, const Upnp_FunPtr Fun, const void *const Cookie, UpnpDevice_Handle *const Hnd, const int AddressFamily, const char *const LowerDescUrl)
Check DEVICE_SSDP vs. CTRLPT_SSDP against struct Handle_Info
Member get_random_info (unsigned char seed[16])
Optimize function. –Ingo
Member ixmlDocument_setOwnerDocument (IXML_Document *doc, IXML_Node *nodeptr)
documentation.
Member ixmlDomTreetoString (IXML_Node *nodeptr, ixml_membuf *buf)

documentation.

documentation.

Member ixmlPrintDomTree (IXML_Node *nodeptr, ixml_membuf *buf)

documentation.

documentation.

Member ixmlPrintDomTreeRecursive (IXML_Node *nodeptr, ixml_membuf *buf)

documentation.

documentation.

Member parser_parse_entity (http_parser_t *parser)
Check what function description is the right one. There was another found.
Member parser_parse_headers (http_parser_t *parser)
Check what function description is the right one. There was another found.
Member parser_parse_responseline (http_parser_t *parser)
Check what function description is the right one. There was another found.
Member private_connect (const SOCKET sockfd, const sockaddr *const serv_addr, const socklen_t addrlen)
Return more detailed error codes, e.g. with 'getsockopt()' valopt == 111: ECONNREFUSED "Connection refused" if there is a remote host but no server service listening.
Member remove_escaped_chars (char *in, size_t *size)
Optimize with prechecking the delimiter '%'.
Member SoapGetServiceVarStatus (char *action_url, DOMString var_name, DOMString *var_value)

Verify the bug in the source code of this function with a unit test.

Returned error message IDs are ambiguous. Fix it.

Struct SOCKINFO
Cleanup constants: In <sys/socket.h> are defined SHUT_RD, SHUT_WR, SHUT_RDWR with 0, 1, 2, according to man 2 shutdown.
Member UpnpResolveURL (const char *BaseURL, const char *RelURL, char *AbsURL)
There is some unnecessary allocation and deallocation going on here because of the way resolve_rel_url() was originally written and used. In the future it would be nice to clean this up.
Member UPnPsdk::CAddrinfo::get_first ()
Manage to use WSAEAFNOSUPPORT for EAI_ADDRFAMILY that isn't defined on win32.
Member UPnPsdk::select_filetype (std::string_view a_extension)
Rework to use reference instead of pointer and use exception.
Module UpnpString
Always alloc a minimum size like 64 bytes or so and when shrinking do not perform a new memory allocation.
File uuid.cpp
Remove COMPA_DEF_OPTION_SSDP. Make it always available with COMPA_DEF_DEVICE_GENA.
Member X_USER_AGENT
Check setting of X_USER_AGENT.