KDWSDL2CPP(1)

πŸ’– kdwsdl2cpp β€” KDAB's WSDL to C++ compiler πŸ’–

okay bestie, sit down, hydrate, and let me tell you about kdwsdl2cpp, section 1 of the User Commands manual. it's KDAB's WSDL to C++ compiler and it is literally here to turn your WSDL into C++ so you don't have to hand-write that stuff like some kind of Victorian orphan. πŸ¦‹


✨ USAGE ✨

so there's three ways to run this thing and they are NOT interchangeable, okay? pick your fighter:

for just a header file:

kdwsdl2cpp [options] -o <headerfile> <wsdlfile>

for just an implementation file:

kdwsdl2cpp [options] -o <cppfile> -impl <headerfile> <wsdlfile>

or, the icon behaviour, both files at once:

kdwsdl2cpp [options] -both <basefile> <wsdlfile>

πŸ‘‘ OPTIONS πŸ‘‘

every single one, no skips, we do not gatekeep here πŸ’…

  • -h, -help β€” shows you this help text and dips out. that's it. that's the whole job.
  • -v, -version β€” tells you the version. cute.
  • -s, -service β€” the name of the service you want generated.
  • -o <file> β€” sends the generated file into <file>. the output slot, basically.
  • -impl <headerfile> β€” generates the implementation (.cpp) file, and #includes <headerfile>. yes, it does the include for you, bestie. you're welcome.
  • -both <basefilename> β€” generates both the header (.h) and the implementation (.cpp) file in one go. two birds, one run, obsessed.
  • -server β€” generates a server-side base class instead of a client service. so if you were expecting a client, surprise, you got the other one. 🫢
  • -exportMacro <macroname> β€” sets the export declaration to use for the generated classes.
  • -namespace <ns> β€” puts all the generated classes into the given C++ namespace. cosy little namespace home for them. πŸŽ€
  • -namespaceMapping <mapping> β€” adds the uri=code mapping. and here's the lil trick: if <mapping> begins with @, it reads from a file instead, with one entry per line. this whole thing affects the generated class names, so pay attention. πŸ‘€
  • -optional-element-type <type> β€” uses <type> as the getter return value for optional elements. <type> can be one of raw-pointer, boost-optional or std-optional. pick one, no third options, that's the menu.
  • -keep-unused-types β€” keeps the wsdl unused types all the way to the cpp generation step. they stay. they're part of the family now. ✨
  • -import-path <importpath> β€” searches for files in this path first, before downloading them. you can specify it multiple times, so go off. the file needs to be located at: <importpath>/<url-host>/<url-path>. yes, exactly that shape, don't freestyle it.
  • -use-local-files-only β€” only uses local files instead of downloading them automatically. this is the one you use when you want to force the correct use of the -import-path option. no sneaky downloads, periodt.
  • -help-on-missing β€” when groups or basic types could not be found, it displays the available types. this genuinely helps with wrong namespaces, so it's giving debugging bestie energy. πŸ”
  • -pkcs12file β€” loads a certificate from a PKCS12 file. you can use this option if the WSDL file (or files referring to it) is served from a location which requires certificate based authentication. πŸ”
  • -pkcs12password β€” passes the password for the certificate file if required.
🚨 okay listen. this option is not secure and should be used with caution if other users of the machine are capable of seeing the running processes run by the current user. like, the vibes are bad on this one. be careful. πŸ’€

🌸 AUTHORS 🌸

kdwsdl2cpp was written by Tobias Koenig <tokoe@kde.org>.

this manual page was written by Thomas Pierson <contact@thomaspierson.fr> for the Debian system (and may be used by others). permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 any later version published by the Free Software Foundation. πŸ“œ


and that's the whole thing, bestie! πŸŽ€ this was KDAB's WSDL to C++ compiler, version 2.1, dated October 2020. now go generate some C++ and slay πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from