Untitled

 avatar
unknown
csharp
a year ago
1.7 kB
5
Indexable
        /**
         * Function to construct the forwarding request.
         * This function assumes the required object properties (lwm2mEventDataRequest and device) are present as this function is only called after checking the inputs
         */
        private Lwm2mEventDataForwardingRequest createLwm2mEventDataForwardingRequest()
        {
            // Create request data object
            Lwm2mEventDataForwardingRequest forwardingRequest = new Lwm2mEventDataForwardingRequest
            {
                id = device!.id,
                endpointKey = lwm2mEventRequest!.endpointKey,
                eventTimestamp = lwm2mEventRequest.eventTimestamp
            };

            // If defaultForwardSetting is set to true, forward all incoming LwM2M data
            if (device.forwardParameters!.defaultForwardSetting)
            {
                forwardingRequest.deviceData = lwm2mEventRequest?.data;
            }
            else // DefaultforwardSetting is false, only forward the data that is specified in the forwardSettings
            {
                if (device.forwardParameters.forwardSettings is null) // If there are no forwardSettings, we return success but don't send a request.
                {
                    _logger.LogInformation("No forwardSettings found, no data to forward.");
                    return forwardingRequest;
                }
                // Only forward the data that is specified in the forwardSettings. Filter the incoming data based on the forwardSettings
                forwardingRequest.deviceData = createForwardDataRecursively(lwm2mEventRequest.data, device.forwardParameters.forwardSettings);
            }

            return forwardingRequest;
        }
Editor is loading...
Leave a Comment