Ejemplo n.º 1
0
void DownloadOperation::startDownload()
{
  if (isTerminating()) {
    killOp();
    return ;
  } // if terminating

  FileInfo *fileInfo = m_toCopy->getFileInfo();

  // Logging
  if (m_toCopy->getFirst()->getParent() == NULL) {
    StringStorage message;

    message.format(_T("Downloading '%s' %s"), m_pathToTargetFile.getString(),
                   fileInfo->isDirectory() ? _T("folder") : _T("file"));

    notifyInformation(message.getString());
  } // logging

  if (fileInfo->isDirectory()) {
    processFolder();
  } else {
    processFile();
  } // if not directory

  if (isTerminating()) {
    killOp();
    return ;
  } // if terminating
}
Ejemplo n.º 2
0
void UploadOperation::startUpload()
{
    if (isTerminating()) {
        killOp();
        return ;
    } // terminate operation is needed

    // Current file info
    FileInfo *fileInfo = m_toCopy->getFileInfo();

    // Logging
    if (m_toCopy->getFirst()->getParent() == NULL) {
        StringStorage message;

        message.format(_T("Uploading '%s' %s"), m_pathToSourceFile.getString(),
                       fileInfo->isDirectory() ? _T("folder") : _T("file"));

        notifyInformation(message.getString());
    } // logging

    if (fileInfo->isDirectory()) {
        processFolder();
    } else {
        processFile();
    } // if not directory

    if (isTerminating()) {
        killOp();
        return ;
    } // terminate operation is needed
} // void
void RemoteFilesDeleteOperation::remove(bool removeIfFolder)
{
  if (isTerminating()) {
    killOp();
    return ;
  }

  if (m_toDelete == NULL) {
    return ;
  }

  FileInfo *fileInfo = m_toDelete->getFileInfo();

  StringStorage remotePath;

  getRemotePath(m_toDelete,
                m_pathToTargetRoot.getString(),
                &remotePath);

  //
  // Logging
  //

  if (((fileInfo->isDirectory() && !removeIfFolder) ||
      (!fileInfo->isDirectory())) && (m_toDelete->getFirst()->getParent() == NULL)) {
    StringStorage message;

    message.format(_T("Deleting remote '%s' %s"), remotePath.getString(),
                   fileInfo->isDirectory() ? _T("folder") : _T("file"));

    notifyInformation(message.getString());
  }

  //
  // Try remove file if it's not folder or have order to forced
  // file removal.
  //

  if (!fileInfo->isDirectory() || removeIfFolder) {
    // Send request to server
    m_sender->sendRmFileRequest(remotePath.getString());

    //
    // If file is folder and we have order to forced removal
    // we must set folder child to NULL. If we dont do than
    // program will try to remove already removed files next step.
    //

    if ((removeIfFolder) && (fileInfo->isDirectory())) {
      m_toDelete->setChild(NULL, 0);
    }
  } else {
    // Send file list request cause we must remove subfolders and files from
    // folder before we can delete it
    m_sender->sendFileListRequest(remotePath.getString(), m_replyBuffer->isCompressionSupported());
  }
}
Ejemplo n.º 4
0
void RemoteFileRenameOperation::onLastRequestFailedReply()
{
  StringStorage message;

  message.format(_T("Error: failed to rename remote '%s' file"),
                 m_pathToSourceFile.getString());

  notifyInformation(message.getString());

  notifyFinish();
}
Ejemplo n.º 5
0
void RemoteFileRenameOperation::start()
{
  StringStorage message;

  message.format(_T("Renaming remote file '%s' to '%s'"),
                 m_pathToSourceFile.getString(),
                 m_pathToTargetFile.getString());

  notifyInformation(message.getString());

  notifyStart();

  m_sender->sendMvFileRequest(m_pathToSourceFile.getString(),
                              m_pathToTargetFile.getString());
}
void RemoteFolderCreateOperation::start()
{
  // Logging
  StringStorage message;

  message.format(_T("Creating remote folder '%s'"),
                 m_pathToTargetFile.getString());

  notifyInformation(message.getString());

  // Nofity all that operation have started
  notifyStart();

  // Send mkdir request to server
  m_sender->sendMkDirRequest(m_pathToTargetFile.getString());
}