Skip to content
  • Oswald Buddenhagen's avatar
    add Utils::QtcProcess · 531c70f0
    Oswald Buddenhagen authored
    this is a wrapper around QProcess with these features:
    - setEnvironment() takes a Utils::Environment instead of a QStringList
    - instead of taking a stringlist with arguments, take a single shell
      command string which is fully compatible with the system's native
      shell (the bourne shell on unix and cmd.exe on windows) - with support
      for environment variable expansion, and subject to the shell's
      splitting and quoting rules. if the command is too complex (e.g.,
      contains redirections), it is transparently executed through a real
      shell.
    - additionally, the class contains a set of helper functions for
      manipulating (constructing, splitting, etc.) shell command lines.
      in particular, it contains a shell-safe macro expander and the nested
      class ArgIterator which can be used for inspecting and manipulating a
      shell command line without going through the stringlist indirection
      (which is potentially lossy).
    
    some of this is based on KDE code (KShell and KMacroExpander) which i
    have written myself.
    531c70f0