// Copyright (c) Microsoft Corporation. // Licensed under the MIT license. #pragma once #include "ActionAndArgs.g.h" #include "TerminalWarnings.h" #include "..\inc\cppwinrt_utils.h" namespace winrt::Microsoft::Terminal::Settings::Model::implementation { struct ActionAndArgs : public ActionAndArgsT { static const std::map> ActionKeyNamesMap; static winrt::com_ptr FromJson(const Json::Value& json, std::vector& warnings); ActionAndArgs() = default; ActionAndArgs(ShortcutAction action, IActionArgs args) : _Action{ action }, _Args{ args } {}; hstring GenerateName() const; GETSET_PROPERTY(ShortcutAction, Action, ShortcutAction::Invalid); GETSET_PROPERTY(IActionArgs, Args, nullptr); }; } namespace winrt::Microsoft::Terminal::Settings::Model::factory_implementation { BASIC_FACTORY(ActionAndArgs); }