haiku/src/apps/codycam/SftpClient.h

60 lines
1.3 KiB
C++

/*
* Copyright 1998-1999 Be, Inc. All Rights Reserved.
* Copyright 2003-2019 Haiku, Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef SFTP_CLIENT_H
#define SFTP_CLIENT_H
#include <stdio.h>
#include <string>
#include <Catalog.h>
#include <File.h>
#include <Locale.h>
#include "SpawningUploadClient.h"
#undef B_TRANSLATION_CONTEXT
#define B_TRANSLATION_CONTEXT "SftpClient"
using std::string;
class SftpClient : public SpawningUploadClient {
public:
SftpClient();
virtual ~SftpClient();
virtual bool Connect(const string& server,
const string& login,
const string& passwd);
bool PutFile(const string& local,
const string& remote,
ftp_mode mode = binary_mode);
bool GetFile(const string& remote,
const string& local,
ftp_mode mode = binary_mode);
bool MoveFile(const string& oldPath,
const string& newPath);
bool ChangeDir(const string& dir);
bool PrintWorkingDir(string& dir);
bool ListDirContents(string& listing);
bool Chmod(const string& path, const string& mod);
void SetPassive(bool on);
private:
const char* _GetLongReadText() const;
const char* _GetReadText() const;
const char* _GetReplyText() const;
};
#endif // SFTP_CLIENT_H