From adaddad79352c156303e9178a6f172a18af50cd2 Mon Sep 17 00:00:00 2001 From: Roy Ben Shabat Date: Sat, 24 Oct 2020 06:40:07 +0300 Subject: Refactored DataStore Proto. --- .../Tango.PPC.Common/DataStore/DefaultDataStoreService.cs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'Software/Visual_Studio/PPC/Tango.PPC.Common/DataStore') diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/DataStore/DefaultDataStoreService.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/DataStore/DefaultDataStoreService.cs index f11d37659..bf0eadae1 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.Common/DataStore/DefaultDataStoreService.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/DataStore/DefaultDataStoreService.cs @@ -52,17 +52,18 @@ namespace Tango.PPC.Common.DataStore [ExternalBridgeRequestHandlerMethod(typeof(RemoteDataStorePutRequest), RequestHandlerLoggingMode.LogRequestName)] public async Task OnRemoteDataStorePutRequest(RemoteDataStorePutRequest request, String token, ExternalBridgeReceiver receiver) { - GetManager().GetCollection(request.Collection).Put(request.Key, request.DataType, request.Value); + GetManager().GetCollection(request.Collection).Put(request.Key, request.Value); await receiver.SendGenericResponse(new RemoteDataStorePutResponse(), token); } [ExternalBridgeRequestHandlerMethod(typeof(RemoteDataStoreGetRequest), RequestHandlerLoggingMode.LogRequestName)] public async Task OnRemoteDataStoreGetRequest(RemoteDataStoreGetRequest request, String token, ExternalBridgeReceiver receiver) { - var value = GetManager().GetCollection(request.Collection).Get(request.Key, request.DefaultValue); + var item = GetManager().GetCollection(request.Collection).GetItem(request.Key, request.DefaultValue); await receiver.SendGenericResponse(new RemoteDataStoreGetResponse() { - Value = value + DataType = item.Type, + Value = item.Value, }, token); } @@ -227,6 +228,11 @@ namespace Tango.PPC.Common.DataStore case Tango.DataStore.DataType.Bytes: pmr.BytesValue = Google.Protobuf.ByteString.CopyFrom((byte[])Convert.ChangeType(item.Value, typeof(byte[]))); break; + case Tango.DataStore.DataType.Proto: + DataStoreProtoObject proto = item.Value as DataStoreProtoObject; + pmr.BytesValue = Google.Protobuf.ByteString.CopyFrom(proto.Data); + pmr.ProtoType = proto.MessageType; + break; } return pmr; @@ -250,6 +256,8 @@ namespace Tango.PPC.Common.DataStore return item.StringValue; case PMR.DataStore.DataType.Bytes: return item.BytesValue.ToByteArray(); + case PMR.DataStore.DataType.Proto: + return DataStoreProtoObject.FromPMRDataStoreItem(item); } throw new NotSupportedException("The specified data type if not supported."); -- cgit v1.3.1