mirror of
https://github.com/vczh-libraries/Release.git
synced 2026-08-17 01:21:06 +08:00
Update import
This commit is contained in:
@@ -2048,6 +2048,40 @@ void GacUIUnitTest_LogDiffs(const WString& appName, UnitTestRemoteProtocol& unit
|
||||
GacUIUnitTest_WriteSnapshotFileIfChanged(snapshotFile, textLog);
|
||||
}
|
||||
|
||||
namespace vl::presentation::remoteprotocol::channeling
|
||||
{
|
||||
class UnitTestChannelServer
|
||||
: public Object
|
||||
, public virtual inter_process::INetworkProtocolServer
|
||||
{
|
||||
private:
|
||||
bool stopped = true;
|
||||
|
||||
public:
|
||||
inter_process::WaitForClientResult OnClientConnected(inter_process::INetworkProtocolConnection* connection) override
|
||||
{
|
||||
return inter_process::WaitForClientResult::Reject;
|
||||
}
|
||||
|
||||
void Start() override
|
||||
{
|
||||
stopped = false;
|
||||
}
|
||||
|
||||
void Stop() override
|
||||
{
|
||||
stopped = true;
|
||||
}
|
||||
|
||||
bool IsStopped() override
|
||||
{
|
||||
return stopped;
|
||||
}
|
||||
};
|
||||
|
||||
using GuiRemoteProtocolChannelServer = GuiRemoteProtocolNetworkChannelServer<UnitTestChannelServer>;
|
||||
}
|
||||
|
||||
void GacUIUnitTest_Start(const WString& appName, Nullable<UnitTestScreenConfig> config)
|
||||
{
|
||||
UnitTestScreenConfig globalConfig;
|
||||
|
||||
@@ -22848,40 +22848,9 @@ ChannelPackageSemantic
|
||||
extern void JsonChannelUnpack(Ptr<glr::json::JsonObject> package, ChannelPackageInfo& info, Ptr<glr::json::JsonNode>& arguments);
|
||||
extern void JsonChannelUnpack(Ptr<glr::json::JsonNode> package, ChannelPackageInfo& info, Ptr<glr::json::JsonNode>& arguments);
|
||||
|
||||
class GuiRemoteProtocolLocalChannelServerBase
|
||||
: public Object
|
||||
, public virtual inter_process::INetworkProtocolServer
|
||||
{
|
||||
private:
|
||||
bool stopped = true;
|
||||
|
||||
public:
|
||||
inter_process::WaitForClientResult OnClientConnected(inter_process::INetworkProtocolConnection* connection) override
|
||||
{
|
||||
return inter_process::WaitForClientResult::Reject;
|
||||
}
|
||||
|
||||
void Start() override
|
||||
{
|
||||
stopped = false;
|
||||
}
|
||||
|
||||
void Stop() override
|
||||
{
|
||||
stopped = true;
|
||||
}
|
||||
|
||||
bool IsStopped() override
|
||||
{
|
||||
return stopped;
|
||||
}
|
||||
};
|
||||
|
||||
template<typename TServerBase>
|
||||
using GuiRemoteProtocolNetworkChannelServer = inter_process::NetworkProtocolChannelServer<JsonPackage, glr::json::JsonNodeListSerializer, TServerBase>;
|
||||
|
||||
using GuiRemoteProtocolChannelServer = GuiRemoteProtocolNetworkChannelServer<GuiRemoteProtocolLocalChannelServerBase>;
|
||||
|
||||
class GuiRemoteProtocolChannelClient
|
||||
: public inter_process::NetworkProtocolChannelClient<JsonPackage, glr::json::JsonNodeListSerializer>
|
||||
{
|
||||
|
||||
@@ -1992,8 +1992,9 @@ HttpClient::~HttpClient()
|
||||
|
||||
void HttpClient::InstallCallback(INetworkProtocolCallback* _callback)
|
||||
{
|
||||
CHECK_ERROR(!callback || !_callback, L"HttpClient::InstallCallback only accepts one callback at a time.");
|
||||
callback = _callback;
|
||||
CHECK_ERROR(callback, L"HttpClient::InstallCallback needs a valid INetworkProtocolCallback.");
|
||||
if (!callback) return;
|
||||
callback->OnInstalled(this);
|
||||
}
|
||||
|
||||
@@ -2921,13 +2922,17 @@ WString HttpServerConnection::SubmitResponse(PHTTP_REQUEST pRequest)
|
||||
|
||||
void HttpServerConnection::InstallCallback(INetworkProtocolCallback* _callback)
|
||||
{
|
||||
CHECK_ERROR(_callback, L"HttpServerConnection::InstallCallback needs a valid INetworkProtocolCallback.");
|
||||
_callback->OnInstalled(this);
|
||||
CHECK_ERROR(!callback || !_callback, L"HttpServerConnection::InstallCallback only accepts one callback at a time.");
|
||||
if (_callback)
|
||||
{
|
||||
_callback->OnInstalled(this);
|
||||
}
|
||||
|
||||
List<WString> strings;
|
||||
SPIN_LOCK(lockQueuedStrings)
|
||||
{
|
||||
callback = _callback;
|
||||
if (!callback) return;
|
||||
strings = std::move(queuedStrings);
|
||||
}
|
||||
for (const auto& str : strings)
|
||||
@@ -4070,8 +4075,9 @@ NamedPipeConnection::~NamedPipeConnection()
|
||||
|
||||
void NamedPipeConnection::InstallCallback(INetworkProtocolCallback* _callback)
|
||||
{
|
||||
CHECK_ERROR(!callback || !_callback, L"NamedPipeConnection::InstallCallback only accepts one callback at a time.");
|
||||
callback = _callback;
|
||||
CHECK_ERROR(callback, L"NamedPipeConnection::InstallCallback needs a valid INetworkProtocolCallback.");
|
||||
if (!callback) return;
|
||||
callback->OnInstalled(this);
|
||||
}
|
||||
|
||||
|
||||
+4
-3
@@ -1663,10 +1663,10 @@ INetworkProtocolServer
|
||||
public:
|
||||
/// <summary>
|
||||
/// Install the callback to the connection.
|
||||
/// If multiple text messages are received before installing the callback, all text messages will be pushed to the callback right away.
|
||||
/// This function can only be called once to install a callback, and no uninstallation is supported.
|
||||
/// Uninstall by passing nullptr.
|
||||
/// Only one callback can be installed at a time.
|
||||
/// </summary>
|
||||
/// <param name="callback">The callback object. It should not be null.</param>
|
||||
/// <param name="callback">The callback object.</param>
|
||||
virtual void InstallCallback(INetworkProtocolCallback* callback) = 0;
|
||||
|
||||
/// <summary>
|
||||
@@ -2476,6 +2476,7 @@ NetworkProtocolChannelClient
|
||||
{
|
||||
npClient->GetConnection()->Stop();
|
||||
}
|
||||
npClient->GetConnection()->InstallCallback(nullptr);
|
||||
}
|
||||
|
||||
void WaitForServer() override
|
||||
|
||||
+2747
-1528
File diff suppressed because it is too large
Load Diff
+367
-148
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user