3 /----------[PluginImpl]----{shared_ptr or temporary}----\ [g_background_tasks]
6 [UI/Settings] | | {shared_ptr}
9 | [Operations:OpConnect,OpXfer etc]----\
13 [IHost:HostRemote,HostLocal] <---{dedicated thread, shared_ptr}---/ [UI/Activities: Confirmations, Errors, Progress]
15 {IPC to broker process} |
23 [IProtocol:ProtocolSFTP,ProtocolFile]
25 To add additional protocol:
26 + Write IProtocol implementation and function that instantiates it: see Protocol/ProtocolSFTP.cpp as example
27 + Write protocol-specific options configuration UI: see UI/Settings/ConfigureProtocolSFTP.cpp as example
28 + Define protocol name, broker name and other protocol properties in s_protocols array in Protocol/Protocol.cpp
29 * Dont forget to add new protocol broker related-files into NetRocks/CMakeLists.txt
30 * Keep in mind that protocol implementation hosted in separate process, so it cannot interchange any data via global variables etc