private static Tuple <DataTypeBase, EditorImplBase> findParent(DataProcessor dataprocessor, DataTypeBase child, byte type) { if (child.eventConfig[0] == (byte)DATA_PROCESSOR && child.eventConfig[1] == DataProcessor.NOTIFY) { var processor = dataprocessor.lookupProcessor(child.eventConfig[2]); if (processor.Item2.config[0] == type) { return(processor); } return(findParent(dataprocessor, child.input, type)); } return(null); }
internal static String createIdentifier(DataTypeBase dataType, DataProcessor dataprocessor, Version firmware, byte revision) { byte register = Util.clearRead(dataType.eventConfig[1]); switch (register) { case NOTIFY: case STATE: var processor = dataprocessor.lookupProcessor(dataType.eventConfig[2]); DataProcessorConfig config = DataProcessorConfig.from(firmware, revision, processor.Item2.config); return(config.CreateIdentifier(register == STATE, dataType.eventConfig[2])); default: return(null); } }