public IGattCharacteristicBuilder SetWrite(Func <WriteRequest, GattState> request, WriteOptions options = WriteOptions.Write) { var enc = options.HasFlag(WriteOptions.EncryptionRequired); var auth = options.HasFlag(WriteOptions.AuthenticatedSignedWrites); if (enc && auth) { this.writeProtection = GattProtectionLevel.EncryptionAndAuthenticationRequired; } else if (enc) { this.writeProtection = GattProtectionLevel.EncryptionRequired; } else if (auth) { this.writeProtection = GattProtectionLevel.AuthenticationRequired; } if (options.HasFlag(WriteOptions.Write)) { this.properties |= GattCharacteristicProperties.Write; } if (options.HasFlag(WriteOptions.WriteWithoutResponse)) { this.properties |= GattCharacteristicProperties.WriteWithoutResponse; } return(this); }
public IGattCharacteristicBuilder SetWrite(Func <WriteRequest, GattState> onWrite, WriteOptions options = WriteOptions.Write) { this.onWrite = onWrite; if (options.HasFlag(NotificationOptions.EncryptionRequired)) { this.permissions = GattPermission.WriteEncrypted; } if (options.HasFlag(WriteOptions.AuthenticatedSignedWrites)) { this.properties |= GattProperty.SignedWrite; } if (options.HasFlag(WriteOptions.Write)) { this.properties |= GattProperty.Write; } if (options.HasFlag(WriteOptions.WriteWithoutResponse)) { this.properties |= GattProperty.WriteNoResponse; } return(this); }
public IGattCharacteristicBuilder SetWrite(Func <WriteRequest, GattState> request, WriteOptions options = WriteOptions.Write) { if (options.HasFlag(GattCharacteristicProperties.Write)) { this.properties |= GattCharacteristicProperties.Write; } if (options.HasFlag(GattCharacteristicProperties.WriteWithoutResponse)) { this.properties |= GattCharacteristicProperties.WriteWithoutResponse; } return(this); }
public static void write(BaseMetadata metadata, WriteOptions options, CancellableOperationProgressBase progress = null) { if (options.HasFlag(WriteOptions.AUTO) || options.HasFlag(WriteOptions.WRITE_TO_DISK)) { MetadataFileFactory.write(metadata, progress); } if (metadata.IsImported && (options.HasFlag(WriteOptions.AUTO) || options.HasFlag(WriteOptions.WRITE_TO_DATABASE))) { using (MetadataDbCommands metadataCommands = new MetadataDbCommands()) { metadata = metadataCommands.update(metadata); } } metadata.IsModified = false; }
public IGattCharacteristicBuilder SetWrite(Func <WriteRequest, GattState> request, WriteOptions options = WriteOptions.Write) { this.onWrite = request; this.permissions |= options.HasFlag(WriteOptions.EncryptionRequired) ? CBAttributePermissions.WriteEncryptionRequired : CBAttributePermissions.Writeable; if (options.HasFlag(WriteOptions.Write)) { this.properties |= CBCharacteristicProperties.Write; } if (options.HasFlag(WriteOptions.WriteWithoutResponse)) { this.properties |= CBCharacteristicProperties.WriteWithoutResponse; } if (options.HasFlag(WriteOptions.AuthenticatedSignedWrites)) { this.properties |= CBCharacteristicProperties.AuthenticatedSignedWrites; } return(this); }