# CosFileTransfer_FileTransferSession

### MODULE

CosFileTransfer_FileTransferSession

### MODULE SUMMARY

This module implements the OMG CosFileTransfer::FileTransferSession interface.

### DESCRIPTION

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

### EXPORTS

`'_get_protocols_supported'(FTS) -> Return`

Types:

`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`

Types:

`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`

Types:

`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 cirectory the supplied `FileNameList` must represent the absolute name.

`create_directory(FTS, FileNameList) -> Return`

Types:

`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 successfull, a `Directory` object representing the new directory is returned.

`get_file(FTS, FileNameList) -> Return`

Types:

`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`

Types:

`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`

Types:

`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`

Types:

`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`

Types:

`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`

Types:

`FTS = #objref`

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

### AUTHORS

support - support@erlang.ericsson.se

cosFileTransfer 1.1.3
Copyright © 1991-2007 Ericsson AB