Commit Graph

3790 Commits

Author SHA1 Message Date
baldurk d2faf76356 Save machine ident in captures and compare to machine ident on open
* If the machine idents differ in significant ways that we'd consider
  it to be a different platform (currently just OS), and if so mark it
  as supported but suggested to be replayed remotely.
2016-08-19 17:26:36 +02:00
baldurk 52a754d4c1 Add function to get a coarse machine identifier
* This can be used to determine what kind of machine a capture came from
  and potentially decide to alert the user and suggest replaying on that
  kind of machine if it's very different.
2016-08-19 17:26:35 +02:00
baldurk 027bcdb7e8 Don't validate existance of working directories on remote captures 2016-08-19 17:26:34 +02:00
baldurk b5e6f8bef2 Allow specifying environment variable modifications
* This works for local and remote invocations of programs, but is mostly
  useful on unix systems (Windows programs use env vars less often)
2016-08-19 17:26:33 +02:00
baldurk 71cca06683 Make windows environment variable modification case-insensitive 2016-08-19 17:26:33 +02:00
baldurk 2fe43fab79 Don't try to copy a non-local log to the remote thost 2016-08-19 17:26:32 +02:00
baldurk 12d5f5bd70 Make sure copy from remote happens even when not running 2016-08-19 17:26:31 +02:00
baldurk d05f99d1b5 Don't add non-local files to recent list 2016-08-19 17:26:31 +02:00
baldurk d04c06a229 Add a remote/virtual open file dialog for browsing over the network
* This needs some optimisation - the obvious one being to batch up
  requests for multiple children all at once.
2016-08-19 17:26:30 +02:00
baldurk 23cf596d52 When requesting directories for '/' on windows, return the drives 2016-08-19 17:26:29 +02:00
baldurk fd1d7ef58c Disable config options by default, and also disable the buttons 2016-08-19 17:26:28 +02:00
baldurk aebed0e900 Expose directory listing functions to C# 2016-08-19 17:26:28 +02:00
baldurk db57f18b08 Add function to get home/documents folder 2016-08-19 17:26:27 +02:00
baldurk 593e2c5903 Add an function to return directory list of files and basic properties. 2016-08-19 17:26:27 +02:00
baldurk 5dc70c2a72 Rename ProxySerialiser to ReplayProxy 2016-08-19 17:26:26 +02:00
baldurk 87c978f71a Add functionality to copy captures to the remote server for replaying 2016-08-19 17:26:25 +02:00
baldurk ebea48260d Mark blocking invokes for painting as lower priority
* This allows them to be enqueued without the usual synchronous block
  if there's something long-running on the queue while in remote mode.
2016-08-19 17:26:24 +02:00
baldurk d63e3b89ad Add support for copying files back from remote server 2016-08-19 17:26:24 +02:00
baldurk 6437347081 Don't double-delete serialiser of data into replay proxy 2016-08-19 17:26:23 +02:00
baldurk 96c777cb43 Set display properly when checking RemoteHost status 2016-08-19 17:26:22 +02:00
baldurk a2955a39b0 Don't recreate RenderManager when closing logfile 2016-08-19 17:26:22 +02:00
baldurk fe08662e38 Handle non-local logs, make sure they are properly owned and deleted 2016-08-19 17:26:21 +02:00
baldurk 0207c74b90 Check remote server status at startup to pre-populate context chooser 2016-08-19 17:26:20 +02:00
baldurk dca8fe7905 Actually use modified path in working dir hint 2016-08-19 17:26:20 +02:00
baldurk 2060173049 Track busy and active connections and display in UI 2016-08-19 17:26:19 +02:00
baldurk 8a5d300e78 Use custom exception for replay creation failures 2016-08-19 17:26:18 +02:00
baldurk 42f57990d9 Change remote server to have server thread & client threads
* This lets us respond to multiple clients (although all but one will
  get a busy signal).
2016-08-19 17:26:18 +02:00
baldurk baad227145 Add status for network remote side being busy 2016-08-19 17:26:17 +02:00
baldurk 018cbcbcc1 Add errors encountered while executing & injecting. 2016-08-19 17:26:16 +02:00
baldurk 802ccc3991 Add initial handshake for remote server 2016-08-19 17:26:15 +02:00
baldurk 699fc78d92 Reduce target control/remote server connection timeout, for faster enum
* On the assumption that for both of these use-cases the remote machine
  isn't going to be across so terrible a network that it will take 1s or
  longer to at least make the TCP connection handshake.
2016-08-19 17:26:15 +02:00
baldurk 89f0cdbfff Add confirmation response for server shutdown packet 2016-08-19 17:26:14 +02:00
baldurk 4e73f9736e Change SendPacket with only type to not have a payload, add recv version 2016-08-19 17:26:13 +02:00
baldurk 7af08c80ee Ignore child processes so they don't stick around as defunct 2016-08-19 17:26:13 +02:00
baldurk 84baa6d752 Partially implemented support for capturing & opening logs in a context 2016-08-19 17:26:12 +02:00
baldurk 14c17cf5a5 Use realpath() instead of readlink() for fetching full pathnames 2016-08-19 17:26:11 +02:00
baldurk 724fef7bb6 Don't specify logfile for remote triggered captures 2016-08-19 17:26:11 +02:00
baldurk b1fcea3c3e When switching context, make a remote connection in the render manager 2016-08-19 17:26:10 +02:00
baldurk 5beb4eb1c9 Return proper status for failures opening captures 2016-08-19 17:26:09 +02:00
baldurk fa0b13f2ed Add context chooser to main window for choosing between remote servers 2016-08-19 17:26:09 +02:00
baldurk f8b3fd3e1e Update renderdoccmd for new remote server code, add daemonise for server 2016-08-19 17:26:08 +02:00
baldurk 4fde9b065f Expand remote host selection for attaching to handle remote servers
* Also remove some of the old remote-replay single-shot code handling.
2016-08-19 17:26:07 +02:00
baldurk 8bd25559a4 Add function to shutdown remote server over connection 2016-08-19 17:26:06 +02:00
baldurk 9a544e61af Rename ModalPopup to ProgressPopup 2016-08-19 17:26:06 +02:00
baldurk a4b9023df5 Update C# side P/Invoke interop 2016-08-19 17:26:05 +02:00
baldurk cc04496dd1 Remote server returns the remote path of any copied capture 2016-08-19 17:26:04 +02:00
baldurk 056d3d01ee Add constructors from std::string/const char * to rdctype::str 2016-08-19 17:26:04 +02:00
baldurk 2bb34bffc6 Fill in the remainder of the C API for RemoteServer 2016-08-19 17:26:03 +02:00
baldurk 58ba230a56 Don't register image viewer replay driver as normal
* This means the image viewer doesn't show up as a possible local replay
  etc. It's more of a 'magic' driver that supports things automatically.
2016-08-19 17:26:02 +02:00
baldurk 7beb3b494a Remove remote server code from qrenderdoc until it's refactored 2016-08-19 12:23:19 +02:00