| 5 | BEGIN_NS(ecl) |
| 6 | |
| 7 | void ExtenderProtocol::ProcessExtenderMessage(net::MessageContext& context, net::MessageWrapper& msg) |
| 8 | { |
| 9 | switch (msg.msg_case()) { |
| 10 | case net::MessageWrapper::kPostLua: |
| 11 | { |
| 12 | if (gExtender->GetClient().HasExtensionState()) { |
| 13 | auto& postMsg = msg.post_lua(); |
| 14 | ecl::LuaClientPin pin(ecl::ExtensionState::Get()); |
| 15 | if (pin) { |
| 16 | pin->OnNetMessageReceived(postMsg.channel_name(), postMsg.payload(), |
| 17 | postMsg.module(), postMsg.request_id(), postMsg.reply_id(), |
| 18 | ReservedUserId, postMsg.serializer() == net::SerializerType::SERIALIZER_BINARY); |
| 19 | } |
| 20 | } |
| 21 | break; |
| 22 | } |
| 23 | |
| 24 | case net::MessageWrapper::kC2SExtenderHello: |
| 25 | { |
| 26 | auto const& hello = msg.c2s_extender_hello(); |
| 27 | gExtender->GetClient().GetNetworkManager().OnExtenderHello(hello); |
| 28 | break; |
| 29 | } |
| 30 | |
| 31 | case net::MessageWrapper::kS2CResetLua: |
| 32 | { |
| 33 | auto & resetMsg = msg.s2c_reset_lua(); |
| 34 | auto & ext = ecl::ExtensionState::Get(); |
| 35 | ext.AddPostResetCallback([&ext]() { |
| 36 | ext.OnModuleResume(); |
| 37 | ext.OnGameSessionLoading(); |
| 38 | ext.OnGameSessionLoaded(); |
| 39 | ext.OnResetCompleted(); |
| 40 | }); |
| 41 | ext.RequestLuaReset(resetMsg.bootstrap_scripts()); |
| 42 | break; |
| 43 | } |
| 44 | |
| 45 | case net::MessageWrapper::kS2CKick: |
| 46 | { |
| 47 | gExtender->GetLibraryManager().ShowStartupError(msg.s2c_kick().message().c_str(), true); |
| 48 | break; |
| 49 | } |
| 50 | |
| 51 | case net::MessageWrapper::kUserVars: |
| 52 | { |
| 53 | SyncUserVars(msg.user_vars()); |
| 54 | break; |
| 55 | } |
| 56 | |
| 57 | default: |
| 58 | OsiErrorS("Unknown extension message type received!"); |
| 59 | } |
| 60 | } |
| 61 | |
| 62 | void NetworkManager::Reset() |
| 63 | { |
nothing calls this directly
no test coverage detected