aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs')
-rw-r--r--Software/Visual_Studio/Tango.Emulations/Emulators/MachineEmulator.cs41
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
}
}