Procházet zdrojové kódy

Fix merge conflicts

Stefan Profanter před 6 roky
rodič
revize
18a5c21610

+ 0 - 29
src/server/ua_services_subscription.c

@@ -162,33 +162,6 @@ setMonitoredItemSettings(UA_Server *server, UA_MonitoredItem *mon,
                          // Then numeric type will be detected from this value. Set null as defaut.
                          const UA_DataType* dataType) {
 
-    /* Filter */
-    if(params->filter.encoding != UA_EXTENSIONOBJECT_DECODED) {
-        UA_DataChangeFilter_init(&(mon->filter));
-        mon->filter.trigger = UA_DATACHANGETRIGGER_STATUSVALUE;
-    } else if(params->filter.content.decoded.type != &UA_TYPES[UA_TYPES_DATACHANGEFILTER]) {
-        return UA_STATUSCODE_BADMONITOREDITEMFILTERINVALID;
-    } else {
-        UA_DataChangeFilter *filter = (UA_DataChangeFilter *)params->filter.content.decoded.data;
-        // TODO implement EURange to support UA_DEADBANDTYPE_PERCENT
-        if (filter->deadbandType == UA_DEADBANDTYPE_PERCENT) {
-            return UA_STATUSCODE_BADMONITOREDITEMFILTERUNSUPPORTED;
-        }
-        if (UA_Variant_isEmpty(&mon->lastValue)) {
-            if (!dataType || !isDataTypeNumeric(dataType))
-                return UA_STATUSCODE_BADFILTERNOTALLOWED;
-        } else
-        if (!isDataTypeNumeric(mon->lastValue.type)) {
-            return UA_STATUSCODE_BADFILTERNOTALLOWED;
-        }
-        UA_DataChangeFilter_copy(filter, &(mon->filter));
-    }
-
-    MonitoredItem_unregisterSampleCallback(server, mon);
-                         const UA_MonitoringParameters *params,
-                         // This parameter is optional and used only if mon->lastValue is not set yet.
-                         // Then numeric type will be detected from this value. Set null as defaut.
-                         const UA_DataType* dataType) {
 
     /* Filter */
     if(params->filter.encoding != UA_EXTENSIONOBJECT_DECODED) {
@@ -257,8 +230,6 @@ setMonitoredItemSettings(UA_Server *server, UA_MonitoredItem *mon,
 
     /* Register sample callback if reporting is enabled */
     if(monitoringMode == UA_MONITORINGMODE_REPORTING)
-        MonitoredItem_registerSampleCallback(server, mon);
-    return UA_STATUSCODE_GOOD;
         UA_MonitoredItem_registerSampleCallback(server, mon);
     return UA_STATUSCODE_GOOD;
 }

+ 0 - 65
src/server/ua_subscription_datachange.c

@@ -269,71 +269,6 @@ updateNeededForFilteredValue(const UA_Variant *value, const UA_Variant *oldValue
     return false;
 }
 
-#define ABS_SUBTRACT_TYPE_INDEPENDENT(a,b) ((a)>(b)?(a)-(b):(b)-(a))
-
-static UA_INLINE UA_Boolean
-outOfDeadBand(const void *data1, const void *data2, const size_t index, const UA_DataType *type, const UA_Double deadbandValue) {
-    if (type == &UA_TYPES[UA_TYPES_SBYTE]) {
-        if (ABS_SUBTRACT_TYPE_INDEPENDENT(((const UA_SByte*)data1)[index], ((const UA_SByte*)data2)[index]) <= deadbandValue)
-            return false;
-    } else
-    if (type == &UA_TYPES[UA_TYPES_BYTE]) {
-        if (ABS_SUBTRACT_TYPE_INDEPENDENT(((const UA_Byte*)data1)[index], ((const UA_Byte*)data2)[index]) <= deadbandValue)
-                return false;
-    } else
-    if (type == &UA_TYPES[UA_TYPES_INT16]) {
-        if (ABS_SUBTRACT_TYPE_INDEPENDENT(((const UA_Int16*)data1)[index], ((const UA_Int16*)data2)[index]) <= deadbandValue)
-            return false;
-    } else
-    if (type == &UA_TYPES[UA_TYPES_UINT16]) {
-        if (ABS_SUBTRACT_TYPE_INDEPENDENT(((const UA_UInt16*)data1)[index], ((const UA_UInt16*)data2)[index]) <= deadbandValue)
-            return false;
-    } else
-    if (type == &UA_TYPES[UA_TYPES_INT32]) {
-        if (ABS_SUBTRACT_TYPE_INDEPENDENT(((const UA_Int32*)data1)[index], ((const UA_Int32*)data2)[index]) <= deadbandValue)
-            return false;
-    } else
-    if (type == &UA_TYPES[UA_TYPES_UINT32]) {
-        if (ABS_SUBTRACT_TYPE_INDEPENDENT(((const UA_UInt32*)data1)[index], ((const UA_UInt32*)data2)[index]) <= deadbandValue)
-            return false;
-    } else
-    if (type == &UA_TYPES[UA_TYPES_INT64]) {
-        if (ABS_SUBTRACT_TYPE_INDEPENDENT(((const UA_Int64*)data1)[index], ((const UA_Int64*)data2)[index]) <= deadbandValue)
-            return false;
-    } else
-    if (type == &UA_TYPES[UA_TYPES_UINT64]) {
-        if (ABS_SUBTRACT_TYPE_INDEPENDENT(((const UA_UInt64*)data1)[index], ((const UA_UInt64*)data2)[index]) <= deadbandValue)
-            return false;
-    } else
-    if (type == &UA_TYPES[UA_TYPES_FLOAT]) {
-        if (ABS_SUBTRACT_TYPE_INDEPENDENT(((const UA_Float*)data1)[index], ((const UA_Float*)data2)[index]) <= deadbandValue)
-            return false;
-    } else
-    if (type == &UA_TYPES[UA_TYPES_DOUBLE]) {
-        if (ABS_SUBTRACT_TYPE_INDEPENDENT(((const UA_Double*)data1)[index], ((const UA_Double*)data2)[index]) <= deadbandValue)
-            return false;
-    }
-    return true;
-}
-
-static UA_INLINE UA_Boolean
-updateNeededForFilteredValue(const UA_Variant *value, const UA_Variant *oldValue, const UA_Double deadbandValue) {
-    if (value->arrayLength != oldValue->arrayLength) {
-        return true;
-    }
-    if (value->type != oldValue->type) {
-        return true;
-    }
-    if (UA_Variant_isScalar(value)) {
-        return outOfDeadBand(value->data, oldValue->data, 0, value->type, deadbandValue);
-    } else {
-        for (size_t i = 0; i < value->arrayLength; ++i) {
-            if (outOfDeadBand(value->data, oldValue->data, i, value->type, deadbandValue))
-                return true;
-        }
-    }
-    return false;
-}
 
 /* When a change is detected, encoding contains the heap-allocated binary encoded value */
 static UA_Boolean