Console.h 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. //---------------------------------------------------------------------------
  2. #ifndef ConsoleH
  3. #define ConsoleH
  4. //---------------------------------------------------------------------------
  5. #define CONSOLE_MAPPING L"WinSCPConsoleMapping"
  6. #define CONSOLE_EVENT_REQUEST L"WinSCPConsoleEventRequest"
  7. #define CONSOLE_EVENT_RESPONSE L"WinSCPConsoleEventResponse"
  8. #define CONSOLE_EVENT_CANCEL L"WinSCPConsoleEventCancel"
  9. #define CONSOLE_JOB L"WinSCPConsoleJob"
  10. //---------------------------------------------------------------------------
  11. struct TConsoleCommStruct
  12. {
  13. enum TVersion
  14. {
  15. CurrentVersion = 0x0009,
  16. CurrentVersionConfirmed = 0x0109
  17. };
  18. struct TInitEvent
  19. {
  20. unsigned int InputType;
  21. unsigned int OutputType;
  22. bool WantsProgress; // since version 6
  23. };
  24. struct TPrintEvent
  25. {
  26. wchar_t Message[10240]; // wide since version 4
  27. bool FromBeginning;
  28. bool Error; // since vesion 7
  29. };
  30. struct TInputEvent
  31. {
  32. bool Echo;
  33. bool Result;
  34. wchar_t Str[10240]; // wide since version 4
  35. unsigned int Timer; // since version 2
  36. };
  37. struct TChoiceEvent
  38. {
  39. wchar_t Options[64]; // wide since version 4
  40. int Cancel;
  41. int Break;
  42. int Result;
  43. int Timeouted; // since version 2
  44. unsigned int Timer; // since version 2
  45. bool Timeouting; // since version 4
  46. int Continue; // since version 9
  47. unsigned int Timeout; // since version 9
  48. wchar_t Message[5120]; // since version 9
  49. };
  50. struct TTitleEvent
  51. {
  52. wchar_t Title[10240]; // wide since version 4
  53. };
  54. // Since version 6
  55. struct TProgressEvent
  56. {
  57. enum { COPY } Operation;
  58. enum { LOCAL, REMOTE } Side;
  59. wchar_t FileName[1024];
  60. wchar_t Directory[1024];
  61. unsigned int OverallProgress;
  62. unsigned int FileProgress;
  63. unsigned int CPS;
  64. bool Cancel; // since version 8
  65. };
  66. size_t Size;
  67. int Version;
  68. enum { NONE, PRINT, INPUT, CHOICE, TITLE, INIT, PROGRESS } Event;
  69. union
  70. {
  71. TPrintEvent PrintEvent;
  72. TInputEvent InputEvent;
  73. TChoiceEvent ChoiceEvent;
  74. TTitleEvent TitleEvent;
  75. TInitEvent InitEvent;
  76. TProgressEvent ProgressEvent;
  77. };
  78. };
  79. //---------------------------------------------------------------------------
  80. #endif // ConsoleH