ccs.cpc.impl
Class DiskVDevice

java.lang.Object
  extended by ccs.cpc.VDevice
      extended by ccs.cpc.impl.DiskVDevice
All Implemented Interfaces:
ccs.utils.Hurlable

 class DiskVDevice
extends VDevice


Constructor Summary
DiskVDevice(CpCmdr cpc, java.io.File rootf, java.lang.String name, java.lang.String shortname, VDeviceLister vdl, java.lang.String urlID, ccs.utils.Hurlable hurlable)
           
 
Method Summary
 boolean equals(java.lang.Object o)
           
 java.lang.String getName()
          returns the device identifier, for listing purposes.
 VFile getRoot()
          returns root directory
 java.lang.String getSeparator()
          returns the path element separator.
 char getSeparatorChar()
          the separator, as a char.
 java.lang.String getShortName()
          returns the device identifier, for changing directory.
 int getStoredPwdPrefixLength()
          The length of prefix to remove from a stored pwd (to implement "stateful devices" whereby when you return to a device after leaving it abruptly, you get straight back to the same place) to obtain a path relative to the device root which can then be walked.
 java.lang.String getTitlePrefix()
          returns the prefix that will appear in the title bar of the browser, before the pwd path.
 VDeviceLister getVDL()
          returns the object which lists all devices currently available.
protected  void marshalIDSlug(java.io.DataOutputStream dos)
          Every device requires a unique ID.
 void umount()
          closes the VDevice (to let it be removed from the list).
 
Methods inherited from class ccs.cpc.VDevice
getCPAIffArchive, getCPC, getID, hurl, isNoCopy, isReal, isSort
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DiskVDevice

DiskVDevice(CpCmdr cpc,
            java.io.File rootf,
            java.lang.String name,
            java.lang.String shortname,
            VDeviceLister vdl,
            java.lang.String urlID,
            ccs.utils.Hurlable hurlable)
Method Detail

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

getSeparator

public java.lang.String getSeparator()
Description copied from class: VDevice
returns the path element separator.

Specified by:
getSeparator in class VDevice

getSeparatorChar

public char getSeparatorChar()
Description copied from class: VDevice
the separator, as a char.

Specified by:
getSeparatorChar in class VDevice

getRoot

public VFile getRoot()
Description copied from class: VDevice
returns root directory

Specified by:
getRoot in class VDevice

getName

public java.lang.String getName()
Description copied from class: VDevice
returns the device identifier, for listing purposes.

Specified by:
getName in class VDevice

getTitlePrefix

public java.lang.String getTitlePrefix()
Description copied from class: VDevice
returns the prefix that will appear in the title bar of the browser, before the pwd path.

Overrides:
getTitlePrefix in class VDevice

getShortName

public java.lang.String getShortName()
Description copied from class: VDevice
returns the device identifier, for changing directory. This is whatever punter would have to type to get to the root directory of the device. Thus we can get to device root somehow (which is usually easy), cull the short name, and carry on in a simple fashion. Other definitions get all hot and bothered about drive letters in DOS vs / for root FS in unix etc.

Specified by:
getShortName in class VDevice

getStoredPwdPrefixLength

public int getStoredPwdPrefixLength()
Description copied from class: VDevice
The length of prefix to remove from a stored pwd (to implement "stateful devices" whereby when you return to a device after leaving it abruptly, you get straight back to the same place) to obtain a path relative to the device root which can then be walked.

Specified by:
getStoredPwdPrefixLength in class VDevice

getVDL

public VDeviceLister getVDL()
Description copied from class: VDevice
returns the object which lists all devices currently available.

Specified by:
getVDL in class VDevice

umount

public void umount()
Description copied from class: VDevice
closes the VDevice (to let it be removed from the list). the "n" from this unmount has gone missing. If you find it, please return it.

Specified by:
umount in class VDevice

marshalIDSlug

protected void marshalIDSlug(java.io.DataOutputStream dos)
                      throws java.io.IOException
Description copied from class: VDevice
Every device requires a unique ID. For everything except result sets, this must also be persistent. This method must marshal suitable information to create such an ID. Start with a fixed char which specifies the device type: 'd' for disks, 'a' for archives (and CPC+ registered archives), 'z' for jars / zips, 'r' for result sets. Then add enough information to identify the device uniquely within its namespace.

Specified by:
marshalIDSlug in class VDevice
Parameters:
dos - The stream to marshal this lot onto. You should only send as much as you need to identify the device - say, a few hundred bytes, tops.
Throws:
java.io.IOException - if the stream blows up - this shouldn't happen.