Console.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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 = 0x0006,
  16. CurrentVersionConfirmed = 0x0106
  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. };
  29. struct TInputEvent
  30. {
  31. bool Echo;
  32. bool Result;
  33. wchar_t Str[10240]; // wide since version 4
  34. unsigned int Timer; // since version 2
  35. };
  36. struct TChoiceEvent
  37. {
  38. wchar_t Options[64]; // wide since version 4
  39. int Cancel;
  40. int Break;
  41. int Result;
  42. int Timeouted; // since version 2
  43. unsigned int Timer; // since version 2
  44. bool Timeouting; // since version 4
  45. };
  46. struct TTitleEvent
  47. {
  48. wchar_t Title[10240]; // wide since version 4
  49. };
  50. // Since version 6
  51. struct TProgressEvent
  52. {
  53. enum { COPY } Operation;
  54. enum { LOCAL, REMOTE } Side;
  55. wchar_t FileName[1024];
  56. wchar_t Directory[1024];
  57. unsigned int OverallProgress;
  58. unsigned int FileProgress;
  59. unsigned int CPS;
  60. };
  61. size_t Size;
  62. int Version;
  63. enum { NONE, PRINT, INPUT, CHOICE, TITLE, INIT, PROGRESS } Event;
  64. union
  65. {
  66. TPrintEvent PrintEvent;
  67. TInputEvent InputEvent;
  68. TChoiceEvent ChoiceEvent;
  69. TTitleEvent TitleEvent;
  70. TInitEvent InitEvent;
  71. TProgressEvent ProgressEvent;
  72. };
  73. };
  74. //---------------------------------------------------------------------------
  75. #endif // ConsoleH