Current section
Files
Jump to
Current section
Files
lib/sftp_client.ex
defmodule SFTPClient do
import SFTPClient.Driver, only: [run: 3]
alias SFTPClient.Operations
@typedoc """
File access modes that can be used when opening files directly from the remote
server.
"""
@type access_mode :: :read | :write | :creat | :trunc | :append | :binary
@doc delegate_to: {Operations.CloseHandle, :close_handle!, 1}
def close_handle!(handle) do
run(Operations.CloseHandle, :close_handle!, [handle])
end
@doc delegate_to: {Operations.CloseHandle, :close_handle, 1}
def close_handle(handle) do
run(Operations.CloseHandle, :close_handle, [handle])
end
@doc delegate_to: {Operations.Connect, :connect!, 1}
def connect!(config_or_opts) do
run(Operations.Connect, :connect!, [config_or_opts])
end
@doc delegate_to: {Operations.Connect, :connect, 1}
def connect(config_or_opts) do
run(Operations.Connect, :connect, [config_or_opts])
end
@doc delegate_to: {Operations.DeleteDir, :delete_dir!, 2}
def delete_dir!(conn, path) do
run(Operations.DeleteDir, :delete_dir!, [conn, path])
end
@doc delegate_to: {Operations.DeleteDir, :delete_dir, 2}
def delete_dir(conn, path) do
run(Operations.DeleteDir, :delete_dir, [conn, path])
end
@doc delegate_to: {Operations.DeleteFile, :delete_file!, 2}
def delete_file!(conn, path) do
run(Operations.DeleteFile, :delete_file!, [conn, path])
end
@doc delegate_to: {Operations.DeleteFile, :delete_file, 2}
def delete_file(conn, path) do
run(Operations.DeleteFile, :delete_file, [conn, path])
end
@doc delegate_to: {Operations.Disconnect, :disconnect, 1}
def disconnect(conn) do
run(Operations.Disconnect, :disconnect, [conn])
end
@doc delegate_to: {Operations.DownloadFile, :download_file!, 3}
def download_file!(conn, remote_path, local_path) do
run(Operations.DownloadFile, :download_file!, [
conn,
remote_path,
local_path
])
end
@doc delegate_to: {Operations.DownloadFile, :download_file, 3}
def download_file(conn, remote_path, local_path) do
run(Operations.DownloadFile, :download_file, [conn, remote_path, local_path])
end
@doc delegate_to: {Operations.FileInfo, :file_info!, 2}
def file_info!(conn, path) do
run(Operations.FileInfo, :file_info!, [conn, path])
end
@doc delegate_to: {Operations.FileInfo, :file_info, 2}
def file_info(conn, path) do
run(Operations.FileInfo, :file_info, [conn, path])
end
@doc delegate_to: {Operations.LinkInfo, :link_info!, 2}
def link_info!(conn, path) do
run(Operations.LinkInfo, :link_info!, [conn, path])
end
@doc delegate_to: {Operations.LinkInfo, :link_info, 2}
def link_info(conn, path) do
run(Operations.LinkInfo, :link_info, [conn, path])
end
@doc delegate_to: {Operations.ListDir, :list_dir!, 2}
def list_dir!(conn, path) do
run(Operations.ListDir, :list_dir!, [conn, path])
end
@doc delegate_to: {Operations.ListDir, :list_dir, 2}
def list_dir(conn, path) do
run(Operations.ListDir, :list_dir, [conn, path])
end
@doc delegate_to: {Operations.MakeDir, :make_dir!, 2}
def make_dir!(conn, path) do
run(Operations.MakeDir, :make_dir!, [conn, path])
end
@doc delegate_to: {Operations.MakeDir, :make_dir, 2}
def make_dir(conn, path) do
run(Operations.MakeDir, :make_dir, [conn, path])
end
@doc delegate_to: {Operations.MakeSymlink, :make_symlink!, 3}
def make_symlink!(conn, symlink_path, target_path) do
run(Operations.MakeSymlink, :make_symlink!, [
conn,
symlink_path,
target_path
])
end
@doc delegate_to: {Operations.MakeSymlink, :make_symlink, 3}
def make_symlink(conn, symlink_path, target_path) do
run(Operations.MakeSymlink, :make_symlink, [conn, symlink_path, target_path])
end
@doc delegate_to: {Operations.OpenDir, :open_dir!, 2}
def open_dir!(conn, path) do
run(Operations.OpenDir, :open_dir!, [conn, path])
end
@doc delegate_to: {Operations.OpenDir, :open_dir, 2}
def open_dir(conn, path) do
run(Operations.OpenDir, :open_dir, [conn, path])
end
@doc delegate_to: {Operations.OpenFile, :open_file!, 3}
def open_file!(conn, path, modes) do
run(Operations.OpenFile, :open_file!, [conn, path, modes])
end
@doc delegate_to: {Operations.OpenFile, :open_file, 3}
def open_file(conn, path, modes) do
run(Operations.OpenFile, :open_file, [conn, path, modes])
end
@doc delegate_to: {Operations.ReadFileChunk, :read_file_chunk!, 2}
def read_file_chunk!(handle, length) do
run(Operations.ReadFileChunk, :read_file_chunk!, [handle, length])
end
@doc delegate_to: {Operations.ReadFileChunk, :read_file_chunk, 2}
def read_file_chunk(handle, length) do
run(Operations.ReadFileChunk, :read_file_chunk, [handle, length])
end
@doc delegate_to: {Operations.ReadFile, :read_file!, 2}
def read_file!(conn, path) do
run(Operations.ReadFile, :read_file!, [conn, path])
end
@doc delegate_to: {Operations.ReadFile, :read_file, 2}
def read_file(conn, path) do
run(Operations.ReadFile, :read_file, [conn, path])
end
@doc delegate_to: {Operations.ReadLink, :read_link!, 2}
def read_link!(conn, path) do
run(Operations.ReadLink, :read_link!, [conn, path])
end
@doc delegate_to: {Operations.ReadLink, :read_link, 2}
def read_link(conn, path) do
run(Operations.ReadLink, :read_link, [conn, path])
end
@doc delegate_to: {Operations.Rename, :rename!, 3}
def rename!(conn, old_name, new_name) do
run(Operations.Rename, :rename!, [conn, old_name, new_name])
end
@doc delegate_to: {Operations.Rename, :rename, 3}
def rename(conn, old_name, new_name) do
run(Operations.Rename, :rename, [conn, old_name, new_name])
end
@doc delegate_to: {Operations.StreamFile, :stream_file!, 3}
def stream_file!(conn, path, chunk_size) do
run(Operations.StreamFile, :stream_file!, [conn, path, chunk_size])
end
@doc delegate_to: {Operations.StreamFile, :stream_file!, 2}
def stream_file!(conn, path) do
run(Operations.StreamFile, :stream_file!, [conn, path])
end
@doc delegate_to: {Operations.StreamFile, :stream_file, 3}
def stream_file(conn, path, chunk_size) do
run(Operations.StreamFile, :stream_file, [conn, path, chunk_size])
end
@doc delegate_to: {Operations.StreamFile, :stream_file, 2}
def stream_file(conn, path) do
run(Operations.StreamFile, :stream_file, [conn, path])
end
@doc delegate_to: {Operations.WriteFileChunk, :write_file_chunk!, 2}
def write_file_chunk!(handle, data) do
run(Operations.WriteFileChunk, :write_file_chunk!, [handle, data])
end
@doc delegate_to: {Operations.WriteFileChunk, :write_file_chunk, 2}
def write_file_chunk(handle, data) do
run(Operations.WriteFileChunk, :write_file_chunk, [handle, data])
end
@doc delegate_to: {Operations.WriteFile, :write_file!, 3}
def write_file!(conn, path, data) do
run(Operations.WriteFile, :write_file!, [conn, path, data])
end
@doc delegate_to: {Operations.WriteFile, :write_file, 3}
def write_file(conn, path, data) do
run(Operations.WriteFile, :write_file, [conn, path, data])
end
end