add some functions in PIFIleTransfer

git-svn-id: svn://db.shs.com.ru/pip@15 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
2015-03-12 08:26:02 +00:00
parent d6ab9a1c35
commit 5eca30b0bc
3 changed files with 22 additions and 3 deletions

View File

@@ -1,6 +1,6 @@
project(pip) project(pip)
cmake_minimum_required(VERSION 2.6) cmake_minimum_required(VERSION 2.6)
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3")
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
include(CheckFunctionExists) include(CheckFunctionExists)

View File

@@ -25,11 +25,23 @@ PIFileTransfer::~PIFileTransfer() {
} }
bool PIFileTransfer::send(const PIFile& file) {
return send(file.path());
}
bool PIFileTransfer::send(const PIString & file) { bool PIFileTransfer::send(const PIString & file) {
return send(PIVector<PIFile::FileInfo>() << PIFile::fileInfo(file)); return send(PIVector<PIFile::FileInfo>() << PIFile::fileInfo(file));
} }
bool PIFileTransfer::send(const PIStringList& files) {
PIVector<PIFile::FileInfo> fil;
piForeachC(PIString &file, files) fil << PIFile::fileInfo(file);
return send(fil);
}
bool PIFileTransfer::send(PIVector<PIFile::FileInfo> entries) { bool PIFileTransfer::send(PIVector<PIFile::FileInfo> entries) {
PIVector<PIFile::FileInfo> allEntries; PIVector<PIFile::FileInfo> allEntries;
for (int i = 0; i < entries.size_s(); i++) { for (int i = 0; i < entries.size_s(); i++) {
@@ -230,8 +242,14 @@ void PIFileTransfer::receive_started() {
void PIFileTransfer::receive_finished(bool ok) { void PIFileTransfer::receive_finished(bool ok) {
if (pftheader.step == pft_Description) { if (pftheader.step == pft_Description) {
if (ok) desc >> files_; bool user_ok = true;
else { if (ok) {
desc >> files_;
PIStringList files;
piForeachC(PIFile::FileInfo &fi, files_) files << fi.path;
receiveFilesRequest(files, bytesAll(), &user_ok);
}
if (!ok || !user_ok) {
pftheader.session_id--; pftheader.session_id--;
receiveFilesFinished(false); receiveFilesFinished(false);
} }

View File

@@ -54,6 +54,7 @@ public:
EVENT1(receiveFilesFinished, bool, ok) EVENT1(receiveFilesFinished, bool, ok)
EVENT(sendFilesStarted) EVENT(sendFilesStarted)
EVENT1(sendFilesFinished, bool, ok) EVENT1(sendFilesFinished, bool, ok)
EVENT3(receiveFilesRequest, PIStringList, files, llong, total_bytes, bool *, ok)
private: private:
static const char sign[]; static const char sign[];