Ignore:
Timestamp:
Jan 9, 2017, 11:09:38 AM (3 years ago)
Author:
jrpelegrina
Message:

Update new version: 3.15.02

File:
1 edited

Legend:

Unmodified
Added
Removed
  • filezilla/trunk/fuentes/src/engine/ControlSocket.cpp

    r130 r3185  
    33#include "directorycache.h"
    44#include "engineprivate.h"
    5 #include "event_loop.h"
    6 #include "local_filesys.h"
    75#include "local_path.h"
    86#include "logging_private.h"
     
    108#include "servercapabilities.h"
    119#include "sizeformatting_base.h"
     10
     11#include <libfilezilla/event_loop.hpp>
     12#include <libfilezilla/iputils.hpp>
     13#include <libfilezilla/local_filesys.hpp>
    1214
    1315#include <wx/file.h>
     
    2729
    2830struct obtain_lock_event_type;
    29 typedef CEvent<obtain_lock_event_type> CObtainLockEvent;
     31typedef fz::simple_event<obtain_lock_event_type> CObtainLockEvent;
    3032
    3133std::list<CControlSocket::t_lockInfo> CControlSocket::m_lockInfoList;
     
    5052CControlSocket::CControlSocket(CFileZillaEnginePrivate & engine)
    5153        : CLogging(engine)
    52         , CEventHandler(engine.event_loop_)
     54        , event_handler(engine.event_loop_)
    5355        , engine_(engine)
    5456{
     
    6769CControlSocket::~CControlSocket()
    6870{
    69         RemoveHandler();
     71        remove_handler();
    7072
    7173        DoClose();
     
    9799        CTransferStatus const status = engine_.transfer_status_.Get(tmp);
    98100        if (!status.empty() && (nErrorCode == FZ_REPLY_OK || status.madeProgress)) {
    99                 int elapsed = static_cast<int>((CDateTime::Now() - status.started).get_seconds());
     101                int elapsed = static_cast<int>((fz::datetime::now() - status.started).get_seconds());
    100102                if (elapsed <= 0)
    101103                        elapsed = 1;
     
    257259{
    258260#ifdef __WXMSW__
    259         int len = IdnToAscii(IDN_ALLOW_UNASSIGNED, domain, domain.size() + 1, 0, 0);
     261        int len = IdnToAscii(IDN_ALLOW_UNASSIGNED, domain.wc_str(), domain.size() + 1, 0, 0);
    260262        if (!len) {
    261263                LogMessage(MessageType::Debug_Warning, _T("Could not convert domain name"));
     
    264266
    265267        wchar_t* output = new wchar_t[len];
    266         int res = IdnToAscii(IDN_ALLOW_UNASSIGNED, domain, domain.size() + 1, output, len);
     268        int res = IdnToAscii(IDN_ALLOW_UNASSIGNED, domain.wc_str(), domain.size() + 1, output, len);
    267269        if (!res) {
    268270                delete [] output;
     
    388390
    389391        if (!pData->download) {
    390                 if (!found && pData->remoteFileSize < 0 && !pData->fileTime.IsValid())
     392                if (!found && pData->remoteFileSize < 0 && !pData->fileTime.empty())
    391393                        return FZ_REPLY_OK;
    392394        }
     
    409411                pNotification->canResume = false;
    410412
    411         pNotification->localTime = CLocalFileSystem::GetModificationTime(pData->localFile);
    412 
    413         if (pData->fileTime.IsValid())
     413        pNotification->localTime = fz::local_filesys::get_modification_time(fz::to_native(pData->localFile));
     414
     415        if (pData->fileTime.empty())
    414416                pNotification->remoteTime = pData->fileTime;
    415417
    416418        if (found) {
    417                 if (!pData->fileTime.IsValid()) {
     419                if (!pData->fileTime.empty()) {
    418420                        if (entry.has_date()) {
    419421                                pNotification->remoteTime = entry.time;
     
    546548}
    547549
    548 void CControlSocket::OnTimer(timer_id)
     550void CControlSocket::OnTimer(fz::timer_id)
    549551{
    550552        m_timer = 0; // It's a one-shot timer, no need to stop it
     
    552554        int const timeout = engine_.GetOptions().GetOptionVal(OPTION_TIMEOUT);
    553555        if (timeout > 0) {
    554                 duration elapsed = CMonotonicClock::now() - m_lastActivity;
     556                fz::duration elapsed = fz::monotonic_clock::now() - m_lastActivity;
    555557
    556558                if ((!m_pCurOpData || !m_pCurOpData->waitForAsyncRequest) && !IsWaitingForLock()) {
    557                         if (elapsed > duration::from_seconds(timeout)) {
     559                        if (elapsed > fz::duration::from_seconds(timeout)) {
    558560                                LogMessage(MessageType::Error, wxPLURAL("Connection timed out after %d second of inactivity", "Connection timed out after %d seconds of inactivity", timeout), timeout);
    559561                                DoClose(FZ_REPLY_TIMEOUT);
     
    562564                }
    563565                else {
    564                         elapsed = duration();
    565                 }
    566 
    567                 m_timer = AddTimer(duration::from_milliseconds(timeout * 1000) - elapsed, true);
     566                        elapsed = fz::duration();
     567                }
     568
     569                m_timer = add_timer(fz::duration::from_milliseconds(timeout * 1000) - elapsed, true);
    568570        }
    569571}
     
    571573void CControlSocket::SetAlive()
    572574{
    573         m_lastActivity = CMonotonicClock::now();
     575        m_lastActivity = fz::monotonic_clock::now();
    574576}
    575577
     
    580582                        return;
    581583
    582                 m_lastActivity = CMonotonicClock::now();
     584                m_lastActivity = fz::monotonic_clock::now();
    583585
    584586                int timeout = engine_.GetOptions().GetOptionVal(OPTION_TIMEOUT);
     
    586588                        return;
    587589
    588                 m_timer = AddTimer(duration::from_milliseconds(timeout * 1000 + 100), true); // Add a bit of slack
     590                m_timer = add_timer(fz::duration::from_milliseconds(timeout * 1000 + 100), true); // Add a bit of slack
    589591        }
    590592        else {
    591                 StopTimer(m_timer);
     593                stop_timer(m_timer);
    592594                m_timer = 0;
    593595        }
     
    741743
    742744                // Send notification
    743                 lockInfo.pControlSocket->SendEvent<CObtainLockEvent>();
     745                lockInfo.pControlSocket->send_event<CObtainLockEvent>();
    744746                break;
    745747        }
     
    813815}
    814816
    815 duration CControlSocket::GetTimezoneOffset() const
    816 {
    817         duration ret;
     817fz::duration CControlSocket::GetTimezoneOffset() const
     818{
     819        fz::duration ret;
    818820        if (m_pCurrentServer) {
    819821                int seconds = 0;
    820822                if (CServerCapabilities::GetCapability(*m_pCurrentServer, timezone_offset, &seconds) == yes) {
    821                         ret = duration::from_seconds(seconds);
     823                        ret = fz::duration::from_seconds(seconds);
    822824                }
    823825        }
     
    900902}
    901903
    902 void CRealControlSocket::operator()(CEventBase const& ev)
    903 {
    904         if (!Dispatch<CSocketEvent, CHostAddressEvent>(ev, this,
     904void CRealControlSocket::operator()(fz::event_base const& ev)
     905{
     906        if (!fz::dispatch<CSocketEvent, CHostAddressEvent>(ev, this,
    905907                &CRealControlSocket::OnSocketEvent,
    906908                &CRealControlSocket::OnHostAddress))
     
    10771079                }
    10781080        }
    1079         if (!IsIpAddress(host))
     1081        if (fz::get_address_type(host.ToStdWstring()) == fz::address_type::unknown) {
    10801082                LogMessage(MessageType::Status, _("Resolving address of %s"), host);
     1083        }
    10811084
    10821085        int res = m_pSocket->Connect(host, port);
     
    11381141                break;
    11391142        case CFileExistsNotification::overwriteNewer:
    1140                 if (!pFileExistsNotification->localTime.IsValid() || !pFileExistsNotification->remoteTime.IsValid())
     1143                if (!pFileExistsNotification->localTime.empty() || !pFileExistsNotification->remoteTime.empty())
    11411144                        SendNextCommand();
    1142                 else if (pFileExistsNotification->download && pFileExistsNotification->localTime.IsEarlierThan(pFileExistsNotification->remoteTime))
     1145                else if (pFileExistsNotification->download && pFileExistsNotification->localTime.earlier_than(pFileExistsNotification->remoteTime))
    11431146                        SendNextCommand();
    1144                 else if (!pFileExistsNotification->download && pFileExistsNotification->localTime.IsLaterThan(pFileExistsNotification->remoteTime))
     1147                else if (!pFileExistsNotification->download && pFileExistsNotification->localTime.later_than(pFileExistsNotification->remoteTime))
    11451148                        SendNextCommand();
    11461149                else
     
    11751178                break;
    11761179        case CFileExistsNotification::overwriteSizeOrNewer:
    1177                 if (!pFileExistsNotification->localTime.IsValid() || !pFileExistsNotification->remoteTime.IsValid())
     1180                if (!pFileExistsNotification->localTime.empty() || !pFileExistsNotification->remoteTime.empty())
    11781181                        SendNextCommand();
    11791182                /* First compare flags both size known but different, one size known and the other not (obviously they are different).
     
    11811184                else if ((pFileExistsNotification->localSize != pFileExistsNotification->remoteSize) || (pFileExistsNotification->localSize < 0))
    11821185                        SendNextCommand();
    1183                 else if (pFileExistsNotification->download && pFileExistsNotification->localTime.IsEarlierThan(pFileExistsNotification->remoteTime))
     1186                else if (pFileExistsNotification->download && pFileExistsNotification->localTime.earlier_than(pFileExistsNotification->remoteTime))
    11841187                        SendNextCommand();
    1185                 else if (!pFileExistsNotification->download && pFileExistsNotification->localTime.IsLaterThan(pFileExistsNotification->remoteTime))
     1188                else if (!pFileExistsNotification->download && pFileExistsNotification->localTime.later_than(pFileExistsNotification->remoteTime))
    11861189                        SendNextCommand();
    11871190                else
     
    12141217                        int64_t size;
    12151218                        bool isLink;
    1216                         if (CLocalFileSystem::GetFileInfo(pData->localFile, isLink, &size, 0, 0) == CLocalFileSystem::file)
     1219                        if (fz::local_filesys::get_file_info(fz::to_native(pData->localFile), isLink, &size, 0, 0) == fz::local_filesys::file)
    12171220                                pData->localFileSize = size;
    12181221                        else
     
    12391242                        }
    12401243                        else {
    1241                                 pData->fileTime = CDateTime();
     1244                                pData->fileTime = fz::datetime();
    12421245                                pData->remoteFileSize = -1;
    12431246                        }
     
    12881291
    12891292#ifdef __WXMSW__
    1290                 BOOL res = CreateDirectory(local_path.GetPath(), 0);
     1293                BOOL res = CreateDirectory(local_path.GetPath().wc_str(), 0);
    12911294                if (!res && GetLastError() != ERROR_ALREADY_EXISTS)
    12921295                        break;
     
    13521355}
    13531356
    1354 void CControlSocket::operator()(CEventBase const& ev)
    1355 {
    1356         if (Dispatch<CTimerEvent>(ev, this, &CControlSocket::OnTimer)) {
    1357                 return;
    1358         }
    1359         Dispatch<CObtainLockEvent>(ev, this, &CControlSocket::OnObtainLock);
     1357void CControlSocket::operator()(fz::event_base const& ev)
     1358{
     1359        fz::dispatch<fz::timer_event, CObtainLockEvent>(ev, this,
     1360                &CControlSocket::OnTimer,
     1361                &CControlSocket::OnObtainLock);
    13601362}
    13611363
Note: See TracChangeset for help on using the changeset viewer.