From 89740c78976ef03d2f54b4b1e568331ff689e30d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Wed, 9 Jan 2008 11:22:39 +0000 Subject: [PATCH] Add a base class for FtpClient to allow different clients later. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23299 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/apps/codycam/FileUploadClient.cpp | 84 +++++++++++++++++++++++++++ src/apps/codycam/FileUploadClient.h | 39 +++++++++++++ src/apps/codycam/FtpClient.cpp | 2 +- src/apps/codycam/FtpClient.h | 8 +-- src/apps/codycam/Jamfile | 1 + 5 files changed, 127 insertions(+), 7 deletions(-) create mode 100644 src/apps/codycam/FileUploadClient.cpp create mode 100644 src/apps/codycam/FileUploadClient.h diff --git a/src/apps/codycam/FileUploadClient.cpp b/src/apps/codycam/FileUploadClient.cpp new file mode 100644 index 0000000000..0a0426947c --- /dev/null +++ b/src/apps/codycam/FileUploadClient.cpp @@ -0,0 +1,84 @@ +#include "FileUploadClient.h" + +FileUploadClient::FileUploadClient() +{ +} + + +FileUploadClient::~FileUploadClient() +{ +} + + +bool +FileUploadClient::ChangeDir(const string& dir) +{ + bool rc = false; + return rc; +} + + +bool +FileUploadClient::ListDirContents(string& listing) +{ + bool rc = false; + return rc; +} + + +bool +FileUploadClient::PrintWorkingDir(string& dir) +{ + bool rc = false; + return rc; +} + + +bool +FileUploadClient::Connect(const string& server, const string& login, const string& passwd) +{ + bool rc = false; + return rc; +} + + +bool +FileUploadClient::PutFile(const string& local, const string& remote, ftp_mode mode) +{ + bool rc = false; + return rc; +} + + +bool +FileUploadClient::GetFile(const string& remote, const string& local, ftp_mode mode) +{ + bool rc = false; + return rc; +} + + +// Note: this only works for local remote moves, cross filesystem moves +// will not work +bool +FileUploadClient::MoveFile(const string& oldPath, const string& newPath) +{ + bool rc = false; + return rc; +} + + +bool +FileUploadClient::Chmod(const string& path, const string& mod) +{ + bool rc = false; + return rc; +} + + +void +FileUploadClient::SetPassive(bool on) +{ +} + + diff --git a/src/apps/codycam/FileUploadClient.h b/src/apps/codycam/FileUploadClient.h new file mode 100644 index 0000000000..7c0d82bfc6 --- /dev/null +++ b/src/apps/codycam/FileUploadClient.h @@ -0,0 +1,39 @@ +#ifndef FILE_UPLOAD_CLIENT_H +#define FILE_UPLOAD_CLIENT_H + + +#include +#include + +using std::string; + + +class FileUploadClient { + public: + FileUploadClient(); +virtual ~FileUploadClient(); + + enum ftp_mode { + binary_mode, + ascii_mode + }; + +virtual bool Connect(const string& server, const string& login, + const string& passwd); + +virtual bool PutFile(const string& local, const string& remote, + ftp_mode mode = binary_mode); + +virtual bool GetFile(const string& remote, const string& local, + ftp_mode mode = binary_mode); + +virtual bool MoveFile(const string& oldPath, const string& newPath); +virtual bool ChangeDir(const string& dir); +virtual bool PrintWorkingDir(string& dir); +virtual bool ListDirContents(string& listing); +virtual bool Chmod(const string& path, const string& mod); + +virtual void SetPassive(bool on); +}; + +#endif // FILE_UPLOAD_CLIENT_H diff --git a/src/apps/codycam/FtpClient.cpp b/src/apps/codycam/FtpClient.cpp index bcb9b28f88..178bb6c47c 100644 --- a/src/apps/codycam/FtpClient.cpp +++ b/src/apps/codycam/FtpClient.cpp @@ -1,7 +1,7 @@ #include "FtpClient.h" FtpClient::FtpClient() - : + : FileUploadClient(), fState(0), fControl(NULL), fData(NULL) diff --git a/src/apps/codycam/FtpClient.h b/src/apps/codycam/FtpClient.h index ac91f6dd91..305d9f522a 100644 --- a/src/apps/codycam/FtpClient.h +++ b/src/apps/codycam/FtpClient.h @@ -7,6 +7,7 @@ #include #include +#include "FileUploadClient.h" using std::string; @@ -22,16 +23,11 @@ using std::string; #define xEOF 236 -class FtpClient { +class FtpClient : public FileUploadClient { public: FtpClient(); ~FtpClient(); - enum ftp_mode { - binary_mode, - ascii_mode - }; - bool Connect(const string& server, const string& login, const string& passwd); diff --git a/src/apps/codycam/Jamfile b/src/apps/codycam/Jamfile index 96df5e85b0..c600cb8734 100644 --- a/src/apps/codycam/Jamfile +++ b/src/apps/codycam/Jamfile @@ -4,6 +4,7 @@ SetSubDirSupportedPlatformsBeOSCompatible ; Application CodyCam : CodyCam.cpp + FileUploadClient.cpp FtpClient.cpp Settings.cpp SettingsHandler.cpp