diff options
Diffstat (limited to 'Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs')
| -rw-r--r-- | Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs b/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs index 1d420e33f..9cdf6dcae 100644 --- a/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs +++ b/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs @@ -473,6 +473,9 @@ namespace Tango.Emulations.Emulators case MessageType.AttemptThreadJoggingRequest: HandleAttemptThreadJoggingRequest(MessageFactory.ParseTangoMessageFromContainer<AttemptThreadJoggingRequest>(container)); break; + case MessageType.DataStoreItemModifiedRequest: + HandleDataStoreItemModifiedRequest(MessageFactory.ParseTangoMessageFromContainer<DataStoreItemModifiedRequest>(container)); + break; } } @@ -1736,6 +1739,17 @@ namespace Tango.Emulations.Emulators } } + private async void HandleDataStoreItemModifiedRequest(TangoMessage<DataStoreItemModifiedRequest> request) + { + await Transporter.SendResponse<DataStoreItemModifiedResponse>(new DataStoreItemModifiedResponse(), request.Container.Token); + + GetDataStoreItem(new GetDataStoreItemRequest() + { + Collection = request.Message.Collection, + Key = request.Message.Key + }); + } + #endregion #region Public Methods @@ -2132,6 +2146,33 @@ namespace Tango.Emulations.Emulators } } + public async void PutDataStoreItem(PutDataStoreItemRequest request) + { + LogManager.Log($"Sending PutDataStoreItemRequest:\n{request.ToJsonString()}"); + try + { + var response = await Transporter.SendRequest<PutDataStoreItemRequest, PutDataStoreItemResponse>(request); + } + catch (Exception ex) + { + LogManager.Log(ex, "Error putting data store item."); + } + } + + public async void GetDataStoreItem(GetDataStoreItemRequest request) + { + LogManager.Log($"Sending GetDataStoreItemRequest:\n{request.ToJsonString()}"); + try + { + var response = await Transporter.SendRequest<GetDataStoreItemRequest, GetDataStoreItemResponse>(request); + LogManager.Log($"Received GetDataStoreItemResponse:\n{response.Message.ToJsonString()}"); + } + catch (Exception ex) + { + LogManager.Log(ex, "Error getting data store item."); + } + } + #endregion } } |
