CosFileTransfer_FileTransferSession

This module implements the OMG CosFileTransfer::FileTransferSession interface.

To get access to the record definitions for the structures use:
-include_lib("cosFileTransfer/include/*.hrl").

Functions


'_get_protocols_supported'(FTS) -> Return

  • FTS = #objref
  • Return = [#'CosFileTransfer_ProtocolSupport'{protocol_name=Type, addresses=[Address]}]
  • Type = Address = string()

This read only attribute returns the protocols supported by the target object.

set_directory(FTS, Directory) -> Return

  • FTS = Directory = #objref
  • Return = ok | {'EXCEPTION, E}

Invoking this operation will change the current working directory of the target object's associated file system. If fail to do so the appropriate exception is raised.

create_file(FTS, FileNameList) -> Return

  • FTS = #objref
  • FileNameList = [string()]
  • Return = File | {'EXCEPTION, E}
  • File = #objref

This operation creates a File Object representing a file which may or may not exist. For this operation to be independent of the working directory the supplied FileNameList must represent the absolute name.

create_directory(FTS, FileNameList) -> Return

  • FTS = #objref
  • FileNameList = [string()]
  • Return = Directory | {'EXCEPTION, E}
  • Directory = #objref

This operation creates a new directory in the target objects associated file systems domain. If fail to do so an exception is raised but, if successful, a Directory object representing the new directory is returned.

get_file(FTS, FileNameList) -> Return

  • FTS = #objref
  • FileNameList = [string()]
  • Return = FileWrapper | {'EXCEPTION, E}
  • FileWrapper = #'CosFileTransfer_FileWrapper'{the_file = File file_type = Type}
  • File = #objref
  • Type = nfile | ndirectory

This operation, creates a FileWrapper which represents a file or directory, and should be independent of the working Directory, i.e., a full path name must be supplied. Furthermore, the file or directory represented by the FileNameList must exist.

delete(FTS, File) -> Return

  • FTS = File = #objref
  • Return = ok | {'EXCEPTION', E}

This operation removes the file or directory, represented by the File object, from the target objects associated file system. If it is a non-empty directory or non-existing file or directory an exception is raised.

transfer(FTS, SourceFile, DestinationFile) -> Return

  • FTS = SourceFile = DestinationFile = #objref
  • Return = ok | {'EXCEPTION', E}

If the target object's and the DestinationFile's associated FileTransferSession's support the same protocol(s) this operation will copy the file represented by the SourceFile from the target object's file system to a file in the destination FileTransferSession's file system. The file is represented by the DestinationFile object and may not exist. This operation must be invoked on the FileTransferSession associated with the SourceFile object.

append(FTS, SourceFile, DestinationFile) -> Return

  • FTS = SourceFile = DestinationFile = #objref
  • Return = ok | {'EXCEPTION', E}

This operation behaves almost like the transfer/3 operation. The difference is that the DestinationFile must exist since the SourceFile will be appended to the DestinationFile.

Currently, it is not possible to use this operation when the target object represents FTP.

insert(FTS, SourceFile, DestinationFile, Offset) -> Return

  • FTS = SourceFile = DestinationFile = #objref
  • Offset = long()
  • Return = ok | {'EXCEPTION', E}

This operation behaves almost like the append/3 operation. The difference is that the SourceFile will be inserted into the DestinationFile Offset bytes from the start of the file.

Currently, it is not possible to use this operation when the target object represents FTP.

logout(FTS) -> ok

  • FTS = #objref

This operation terminates the target object and closes the connection to the file system it represents.