com.dalsemi.onewire.container
Interface PasswordContainer

All Known Implementing Classes:
OneWireContainer37, OneWireContainer41

public interface PasswordContainer

Public interface for all devices which implement some form of password protection. The operation protected could be reading from the device, writing to the device, or both. These interface methods will allow you to set the passwords on the device, enable/disable the passwords on the device, and set the passwords for the API to use when interacting with the device.

Version:
1.00, 8 Aug 2003
Author:
shughes, JPE

Method Summary
 void getContainerReadOnlyPassword(byte[] password, int offset)
          Gets the Read-Only password used by the API when reading from the device's memory.
 void getContainerReadWritePassword(byte[] password, int offset)
          Gets the Read/Write password used by the API when reading from or writing to the device's memory.
 void getContainerWriteOnlyPassword(byte[] password, int offset)
          Gets the Write-Only password used by the API when writing to the device's memory.
 boolean getDeviceReadOnlyPasswordEnable()
          Returns true if the device's Read-Only password has been enabled.
 boolean getDeviceReadWritePasswordEnable()
          Returns true if the device's Read/Write password has been enabled.
 boolean getDeviceWriteOnlyPasswordEnable()
          Returns true if the device's Write-Only password has been enabled.
 int getReadOnlyPasswordAddress()
          Returns the absolute address of the memory location where the Read-Only password is written.
 int getReadOnlyPasswordLength()
          Returns the length in bytes of the Read-Only password.
 int getReadWritePasswordAddress()
          Returns the absolute address of the memory location where the Read/Write password is written.
 int getReadWritePasswordLength()
          Returns the length in bytes of the Read/Write password.
 int getWriteOnlyPasswordAddress()
          Returns the absolute address of the memory location where the Write-Only password is written.
 int getWriteOnlyPasswordLength()
          Returns the length in bytes of the Write-Only password.
 boolean hasReadOnlyPassword()
          Returns true if this device has a Read-Only password.
 boolean hasReadWritePassword()
          Returns true if this device has a Read/Write password.
 boolean hasSinglePasswordEnable()
          Returns true if this device has the capability to enable one type of password while leaving another type disabled.
 boolean hasWriteOnlyPassword()
          Returns true if this device has a Write-Only password.
 boolean isContainerReadOnlyPasswordSet()
          Returns true if the password used by the API for reading from the device's memory has been set.
 boolean isContainerReadWritePasswordSet()
          Returns true if the password used by the API for reading from or writing to the device's memory has been set.
 boolean isContainerWriteOnlyPasswordSet()
          Returns true if the password used by the API for writing to the device's memory has been set.
 void setContainerReadOnlyPassword(byte[] password, int offset)
          Sets the Read-Only password used by the API when reading from the device's memory.
 void setContainerReadWritePassword(byte[] password, int offset)
          Sets the Read/Write password used by the API when reading from or writing to the device's memory.
 void setContainerWriteOnlyPassword(byte[] password, int offset)
          Sets the Write-Only password used by the API when writing to the device's memory.
 void setDevicePasswordEnable(boolean enableReadOnly, boolean enableReadWrite, boolean enableWriteOnly)
          Enables/Disables passwords for this Device.
 void setDevicePasswordEnableAll(boolean enableAll)
          Enables/Disables passwords for this device.
 void setDeviceReadOnlyPassword(byte[] password, int offset)
          Writes the given password to the device's Read-Only password register.
 void setDeviceReadWritePassword(byte[] password, int offset)
          Writes the given password to the device's Read/Write password register.
 void setDeviceWriteOnlyPassword(byte[] password, int offset)
          Writes the given password to the device's Write-Only password register.
 

Method Detail

getReadOnlyPasswordLength

public int getReadOnlyPasswordLength()
                              throws OneWireException
Returns the length in bytes of the Read-Only password.
Returns:
the length in bytes of the Read-Only password.

getReadWritePasswordLength

public int getReadWritePasswordLength()
                               throws OneWireException
Returns the length in bytes of the Read/Write password.
Returns:
the length in bytes of the Read/Write password.

getWriteOnlyPasswordLength

public int getWriteOnlyPasswordLength()
                               throws OneWireException
Returns the length in bytes of the Write-Only password.
Returns:
the length in bytes of the Write-Only password.

getReadOnlyPasswordAddress

public int getReadOnlyPasswordAddress()
                               throws OneWireException
Returns the absolute address of the memory location where the Read-Only password is written.
Returns:
the absolute address of the memory location where the Read-Only password is written.

getReadWritePasswordAddress

public int getReadWritePasswordAddress()
                                throws OneWireException
Returns the absolute address of the memory location where the Read/Write password is written.
Returns:
the absolute address of the memory location where the Read/Write password is written.

getWriteOnlyPasswordAddress

public int getWriteOnlyPasswordAddress()
                                throws OneWireException
Returns the absolute address of the memory location where the Write-Only password is written.
Returns:
the absolute address of the memory location where the Write-Only password is written.

hasReadOnlyPassword

public boolean hasReadOnlyPassword()
Returns true if this device has a Read-Only password. If false, all other functions dealing with the Read-Only password will throw an exception if called.
Returns:
true if this device has a Read-Only password.

hasReadWritePassword

public boolean hasReadWritePassword()
Returns true if this device has a Read/Write password. If false, all other functions dealing with the Read/Write password will throw an exception if called.
Returns:
true if this device has a Read/Write password.

hasWriteOnlyPassword

public boolean hasWriteOnlyPassword()
Returns true if this device has a Write-Only password. If false, all other functions dealing with the Write-Only password will throw an exception if called.
Returns:
true if this device has a Write-Only password.

getDeviceReadOnlyPasswordEnable

public boolean getDeviceReadOnlyPasswordEnable()
                                        throws OneWireException
Returns true if the device's Read-Only password has been enabled.
Returns:
true if the device's Read-Only password has been enabled.

getDeviceReadWritePasswordEnable

public boolean getDeviceReadWritePasswordEnable()
                                         throws OneWireException
Returns true if the device's Read/Write password has been enabled.
Returns:
true if the device's Read/Write password has been enabled.

getDeviceWriteOnlyPasswordEnable

public boolean getDeviceWriteOnlyPasswordEnable()
                                         throws OneWireException
Returns true if the device's Write-Only password has been enabled.
Returns:
true if the device's Write-Only password has been enabled.

hasSinglePasswordEnable

public boolean hasSinglePasswordEnable()
Returns true if this device has the capability to enable one type of password while leaving another type disabled. i.e. if the device has Read-Only password protection and Write-Only password protection, this method indicates whether or not you can enable Read-Only protection while leaving the Write-Only protection disabled.
Returns:
true if the device has the capability to enable one type of password while leaving another type disabled.

setDevicePasswordEnable

public void setDevicePasswordEnable(boolean enableReadOnly,
                                    boolean enableReadWrite,
                                    boolean enableWriteOnly)
                             throws OneWireException,
                                    OneWireIOException

Enables/Disables passwords for this Device. This method allows you to individually enable the different types of passwords for a particular device. If hasSinglePasswordEnable() returns true, you can selectively enable particular types of passwords. Otherwise, this method will throw an exception if all supported types are not enabled.

For this to be successful, either write-protect passwords must be disabled, or the write-protect password(s) for this container must be set and must match the value of the write-protect password(s) in the device's register.

Parameters:
enableReadOnly - if true Read-Only passwords will be enabled.
enableReadWrite - if true Read/Write passwords will be enabled.
enableWriteOnly - if true Write-Only passwords will be enabled.

setDevicePasswordEnableAll

public void setDevicePasswordEnableAll(boolean enableAll)
                                throws OneWireException,
                                       OneWireIOException

Enables/Disables passwords for this device. If the part has more than one type of password (Read-Only, Write-Only, or Read/Write), all passwords will be enabled. This function is equivalent to the following: owc41.setDevicePasswordEnable( owc41.hasReadOnlyPassword(), owc41.hasReadWritePassword(), owc41.hasWriteOnlyPassword() );

For this to be successful, either write-protect passwords must be disabled, or the write-protect password(s) for this container must be set and must match the value of the write-protect password(s) in the device's register.

Parameters:
enableAll - if true, all passwords are enabled. Otherwise, all passwords are disabled.

setDeviceReadOnlyPassword

public void setDeviceReadOnlyPassword(byte[] password,
                                      int offset)
                               throws OneWireException,
                                      OneWireIOException

Writes the given password to the device's Read-Only password register. Note that this function does not enable the password, just writes the value to the appropriate memory location.

For this to be successful, either write-protect passwords must be disabled, or the write-protect password(s) for this container must be set and must match the value of the write-protect password(s) in the device's register.

Parameters:
password - the new password to be written to the device's Read-Only password register. Length must be (offset + getReadOnlyPasswordLength)
offset - the starting point for copying from the given password array

setDeviceReadWritePassword

public void setDeviceReadWritePassword(byte[] password,
                                       int offset)
                                throws OneWireException,
                                       OneWireIOException

Writes the given password to the device's Read/Write password register. Note that this function does not enable the password, just writes the value to the appropriate memory location.

For this to be successful, either write-protect passwords must be disabled, or the write-protect password(s) for this container must be set and must match the value of the write-protect password(s) in the device's register.

Parameters:
password - the new password to be written to the device's Read-Write password register. Length must be (offset + getReadWritePasswordLength)
offset - the starting point for copying from the given password array

setDeviceWriteOnlyPassword

public void setDeviceWriteOnlyPassword(byte[] password,
                                       int offset)
                                throws OneWireException,
                                       OneWireIOException

Writes the given password to the device's Write-Only password register. Note that this function does not enable the password, just writes the value to the appropriate memory location.

For this to be successful, either write-protect passwords must be disabled, or the write-protect password(s) for this container must be set and must match the value of the write-protect password(s) in the device's register.

Parameters:
password - the new password to be written to the device's Write-Only password register. Length must be (offset + getWriteOnlyPasswordLength)
offset - the starting point for copying from the given password array

setContainerReadOnlyPassword

public void setContainerReadOnlyPassword(byte[] password,
                                         int offset)
                                  throws OneWireException
Sets the Read-Only password used by the API when reading from the device's memory. This password is not written to the device's Read-Only password register. It is the password used by the software for interacting with the device only.
Parameters:
password - the new password to be used by the API when reading from the device's memory. Length must be (offset + getReadOnlyPasswordLength)
offset - the starting point for copying from the given password array

setContainerReadWritePassword

public void setContainerReadWritePassword(byte[] password,
                                          int offset)
                                   throws OneWireException
Sets the Read/Write password used by the API when reading from or writing to the device's memory. This password is not written to the device's Read/Write password register. It is the password used by the software for interacting with the device only.
Parameters:
password - the new password to be used by the API when reading from or writing to the device's memory. Length must be (offset + getReadWritePasswordLength)
offset - the starting point for copying from the given password array

setContainerWriteOnlyPassword

public void setContainerWriteOnlyPassword(byte[] password,
                                          int offset)
                                   throws OneWireException
Sets the Write-Only password used by the API when writing to the device's memory. This password is not written to the device's Write-Only password register. It is the password used by the software for interacting with the device only.
Parameters:
password - the new password to be used by the API when writing to the device's memory. Length must be (offset + getWriteOnlyPasswordLength)
offset - the starting point for copying from the given password array

isContainerReadOnlyPasswordSet

public boolean isContainerReadOnlyPasswordSet()
                                       throws OneWireException
Returns true if the password used by the API for reading from the device's memory has been set. The return value is not affected by whether or not the read password of the container actually matches the value in the device's password register.
Returns:
true if the password used by the API for reading from the device's memory has been set.

isContainerReadWritePasswordSet

public boolean isContainerReadWritePasswordSet()
                                        throws OneWireException
Returns true if the password used by the API for reading from or writing to the device's memory has been set. The return value is not affected by whether or not the read/write password of the container actually matches the value in the device's password register.
Returns:
true if the password used by the API for reading from or writing to the device's memory has been set.

isContainerWriteOnlyPasswordSet

public boolean isContainerWriteOnlyPasswordSet()
                                        throws OneWireException
Returns true if the password used by the API for writing to the device's memory has been set. The return value is not affected by whether or not the write password of the container actually matches the value in the device's password register.
Returns:
true if the password used by the API for writing to the device's memory has been set.

getContainerReadOnlyPassword

public void getContainerReadOnlyPassword(byte[] password,
                                         int offset)
                                  throws OneWireException
Gets the Read-Only password used by the API when reading from the device's memory. This password is not read from the device's Read-Only password register. It is the password used by the software for interacting with the device only and must have been set using the setContainerReadOnlyPassword method.
Parameters:
password - array for holding the password that is used by the API when reading from the device's memory. Length must be (offset + getWriteOnlyPasswordLength)
offset - the starting point for copying into the given password array

getContainerReadWritePassword

public void getContainerReadWritePassword(byte[] password,
                                          int offset)
                                   throws OneWireException
Gets the Read/Write password used by the API when reading from or writing to the device's memory. This password is not read from the device's Read/Write password register. It is the password used by the software for interacting with the device only and must have been set using the setContainerReadWritePassword method.
Parameters:
password - array for holding the password that is used by the API when reading from or writing to the device's memory. Length must be (offset + getReadWritePasswordLength)
offset - the starting point for copying into the given password array

getContainerWriteOnlyPassword

public void getContainerWriteOnlyPassword(byte[] password,
                                          int offset)
                                   throws OneWireException
Gets the Write-Only password used by the API when writing to the device's memory. This password is not read from the device's Write-Only password register. It is the password used by the software for interacting with the device only and must have been set using the setContainerWriteOnlyPassword method.
Parameters:
password - array for holding the password that is used by the API when writing to the device's memory. Length must be (offset + getWriteOnlyPasswordLength)
offset - the starting point for copying into the given password array


Copyright © 1999-2003 Dallas Semiconductor. All Rights Reserved.