45 lines
1.3 KiB
C
45 lines
1.3 KiB
C
|
// Copyright (c) Microsoft Corporation.
|
||
|
// Licensed under the MIT license.
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#include "Peasant.g.h"
|
||
|
#include "../cascadia/inc/cppwinrt_utils.h"
|
||
|
|
||
|
namespace RemotingUnitTests
|
||
|
{
|
||
|
class RemotingTests;
|
||
|
};
|
||
|
namespace winrt::Microsoft::Terminal::Remoting::implementation
|
||
|
{
|
||
|
struct Peasant : public PeasantT<Peasant>
|
||
|
{
|
||
|
Peasant();
|
||
|
|
||
|
void AssignID(uint64_t id);
|
||
|
uint64_t GetID();
|
||
|
uint64_t GetPID();
|
||
|
|
||
|
bool ExecuteCommandline(const winrt::Microsoft::Terminal::Remoting::CommandlineArgs& args);
|
||
|
|
||
|
winrt::Microsoft::Terminal::Remoting::CommandlineArgs InitialArgs();
|
||
|
TYPED_EVENT(WindowActivated, winrt::Windows::Foundation::IInspectable, winrt::Windows::Foundation::IInspectable);
|
||
|
TYPED_EVENT(ExecuteCommandlineRequested, winrt::Windows::Foundation::IInspectable, winrt::Microsoft::Terminal::Remoting::CommandlineArgs);
|
||
|
|
||
|
private:
|
||
|
Peasant(const uint64_t testPID);
|
||
|
uint64_t _ourPID;
|
||
|
|
||
|
uint64_t _id{ 0 };
|
||
|
|
||
|
winrt::Microsoft::Terminal::Remoting::CommandlineArgs _initialArgs{ nullptr };
|
||
|
|
||
|
friend class RemotingUnitTests::RemotingTests;
|
||
|
};
|
||
|
}
|
||
|
|
||
|
namespace winrt::Microsoft::Terminal::Remoting::factory_implementation
|
||
|
{
|
||
|
BASIC_FACTORY(Peasant);
|
||
|
}
|