Class AlfrescoDiskDriver

  • All Implemented Interfaces:
    ExtendedDiskInterface, org.alfresco.jlan.server.core.DeviceInterface, org.alfresco.jlan.server.filesys.DiskInterface, org.alfresco.jlan.server.filesys.IOCtlInterface
    Direct Known Subclasses:
    AlfrescoTxDiskDriver, ContentDiskDriver2

    public abstract class AlfrescoDiskDriver
    extends Object
    implements org.alfresco.jlan.server.filesys.IOCtlInterface, ExtendedDiskInterface
    Alfresco Disk Driver Base Class

    Provides common code to the Alfresco filesystem implementations.

    Author:
    gkspencer
    • Constructor Detail

      • AlfrescoDiskDriver

        public AlfrescoDiskDriver()
    • Method Detail

      • setIoControlHandler

        public void setIoControlHandler​(IOControlHandler ioControlHandler)
      • getServiceRegistry

        public final ServiceRegistry getServiceRegistry()
        Return the service registry
        Returns:
        ServiceRegistry
      • getTransactionService

        public final TransactionService getTransactionService()
        Return the transaction service
        Returns:
        TransactionService
      • setServiceRegistry

        public void setServiceRegistry​(ServiceRegistry serviceRegistry)
        Set the service registry
        Parameters:
        serviceRegistry - ServiceRegistry
      • setTransactionService

        public void setTransactionService​(TransactionService transactionService)
        Parameters:
        transactionService - the transaction service
      • processIOControl

        public org.alfresco.jlan.util.DataBuffer processIOControl​(org.alfresco.jlan.server.SrvSession sess,
                                                                  org.alfresco.jlan.server.filesys.TreeConnection tree,
                                                                  int ctrlCode,
                                                                  int fid,
                                                                  org.alfresco.jlan.util.DataBuffer dataBuf,
                                                                  boolean isFSCtrl,
                                                                  int filter)
                                                           throws org.alfresco.jlan.server.filesys.IOControlNotImplementedException,
                                                                  org.alfresco.jlan.smb.SMBException
        Process a filesystem I/O control request
        Specified by:
        processIOControl in interface org.alfresco.jlan.server.filesys.IOCtlInterface
        Parameters:
        sess - Server session
        tree - Tree connection.
        ctrlCode - I/O control code
        fid - File id
        dataBuf - I/O control specific input data
        isFSCtrl - true if this is a filesystem control, or false for a device control
        filter - if bit0 is set indicates that the control applies to the share root handle
        Returns:
        DataBuffer
        Throws:
        org.alfresco.jlan.server.filesys.IOControlNotImplementedException
        org.alfresco.jlan.smb.SMBException
      • registerContext

        public void registerContext​(org.alfresco.jlan.server.core.DeviceContext ctx)
                             throws org.alfresco.jlan.server.core.DeviceContextException
        Registers a device context object for this instance of the shared device. The same DeviceInterface implementation may be used for multiple shares. In this base class, we initialize all desktop actions.
        Specified by:
        registerContext in interface ExtendedDiskInterface
        Parameters:
        ctx - the context
        Throws:
        org.alfresco.jlan.server.core.DeviceContextException