Exemple #1
0
        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;
        }
Exemple #5
0
        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);
        }
        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;
            
        }