terminal/src/cascadia
Mike Griese 6e70c4ae07
Switch Connections to use ValueSets to initialize them (#10184)
#### ⚠️ targets #10051 

## Summary of the Pull Request

This PR does one big, primary thing. It removes all the constructors from any TerminalConnections, and changes them to use an `Initialize` method that accepts a `ValueSet` of properties.

Why?

For the upcoming window/content process work, we'll need the content process to be able to initialize the connection _in the content process_. However, the window process will be the one that knows what type of connection to make. Enter `ConnectionInformation`. This class will let us specify the class name of the type we want to create, and a set of settings to use when initializing that connection.

**IMPORTANT**: As a part of this, the constructor for a connection must have 0 arguments. `RoActivateInstance` lets you just conjure a WinRT type just by class name, but that class must have a 0 arg ctor. Hence the need for `Initialize`, to actually pass the settings.

We're using a `ValueSet` here because it's basically a json blob, with more steps. In the future, when extension authors want to have custom connections, we can always deserialize the json into a `ValueSet`, pass it to their connection's `Initialize`, and let then get what they need out of it.

## References
* Tear-out: #1256
* Megathread: #5000
* Project: https://github.com/microsoft/terminal/projects/5

## PR Checklist
* [x] Closes https://github.com/microsoft/terminal/projects/5#card-50760298
* [x] I work here
* [n/a] Tests added/passed
* [n/a] Requires documentation to be updated

## Detailed Description of the Pull Request / Additional comments

`ConnectionInformation` was included as a part of this PR, to demonstrate how this will eventually be used. `ConnectionInformation` is not _currently_ used.

## Validation Steps Performed

It still builds and runs.
2021-07-20 15:02:17 +00:00
..
CascadiaPackage Update Cascadia Code to 2106.17 (#10455) 2021-06-18 20:47:19 +00:00
inc Only access ControlInteractivity through the projection (#10051) 2021-07-19 11:59:30 -05:00
LocalTests_SettingsModel Use WinRT VirtualKeyModifiers instead of a custom enum (#10603) 2021-07-12 21:24:26 +00:00
LocalTests_TerminalApp Enable /Zc:preprocessor (#10593) 2021-07-13 23:00:11 +00:00
PublicTerminalCore Fix output stuttering using a ticket lock (#10653) 2021-07-14 23:41:22 +00:00
Remoting Enable winrt::make<> detection (#10264) 2021-06-01 22:33:53 +00:00
ShellExtension Set working directory when invoked from shell extension (#10546) 2021-07-09 18:53:52 +00:00
TerminalApp Switch Connections to use ValueSets to initialize them (#10184) 2021-07-20 15:02:17 +00:00
TerminalAzBridge Switch Connections to use ValueSets to initialize them (#10184) 2021-07-20 15:02:17 +00:00
TerminalConnection Switch Connections to use ValueSets to initialize them (#10184) 2021-07-20 15:02:17 +00:00
TerminalControl Only access ControlInteractivity through the projection (#10051) 2021-07-19 11:59:30 -05:00
TerminalCore Defer cursor winrt event triggering (#10685) 2021-07-20 14:05:45 +00:00
TerminalSettingsEditor Switch Connections to use ValueSets to initialize them (#10184) 2021-07-20 15:02:17 +00:00
TerminalSettingsModel Clean up KeyChordSerialization (#10654) 2021-07-14 21:22:24 +00:00
UnitTests_Control Switch Connections to use ValueSets to initialize them (#10184) 2021-07-20 15:02:17 +00:00
UnitTests_Remoting Enable /Zc:preprocessor (#10593) 2021-07-13 23:00:11 +00:00
UnitTests_TerminalCore Enable /Zc:preprocessor (#10593) 2021-07-13 23:00:11 +00:00
ut_app Restore embedded manifests to say 18362 (#10370) 2021-06-09 16:23:26 +00:00
WindowsTerminal Update Xaml Toolkit App Host to 6.1.3 (#10640) 2021-07-12 22:58:02 +00:00
WindowsTerminal_UIATests Enable /Zc:preprocessor (#10593) 2021-07-13 23:00:11 +00:00
WindowsTerminalUniversal Update Xaml Toolkit App Host to 6.1.3 (#10640) 2021-07-12 22:58:02 +00:00
WinRTUtils Add tray icon when quake window is minimized (#10179) 2021-07-08 08:25:43 -07:00
WpfTerminalControl wpf: make sure to pack api-ms-win-core-synch-l1-2-0 (#10587) 2021-07-08 10:31:59 -05:00
WpfTerminalTestNetCore wpf: make sure to pack api-ms-win-core-synch-l1-2-0 (#10587) 2021-07-08 10:31:59 -05:00
wt Upgrade Windows SDK to 19041 (#10118) 2021-05-20 16:04:25 +00:00
CascadiaResources.build.items Update Cascadia Code to 2106.17 (#10455) 2021-06-18 20:47:19 +00:00