IN const UnicodeString & AFileName, IN const UnicodeString & ADirectory, IN const TCopyParamType * CopyParam) { UnicodeString Result = ADirectory; UnicodeString DestFileName = CopyParam->ChangeFileName(base::UnixExtractFileName(AFileName), osRemote, true); UnicodeString FileNamePath = ::ExtractFilePath(DestFileName); if (!FileNamePath.IsEmpty()) { Result = ::IncludeTrailingBackslash(ADirectory + FileNamePath); ::ForceDirectories(ApiPath(Result)); } return Result; } TCustomFileSystem::~TCustomFileSystem() { #ifdef USE_DLMALLOC dlmalloc_trim(0); // 64 * 1024); #endif } NB_IMPLEMENT_CLASS(TCustomFileSystem, NB_GET_CLASS_INFO(TObject), nullptr) NB_IMPLEMENT_CLASS(TSinkFileParams, NB_GET_CLASS_INFO(TObject), nullptr) NB_IMPLEMENT_CLASS(TFileTransferData, NB_GET_CLASS_INFO(TObject), nullptr) NB_IMPLEMENT_CLASS(TOpenRemoteFileParams, NB_GET_CLASS_INFO(TObject), nullptr) NB_IMPLEMENT_CLASS(TOverwriteFileParams, NB_GET_CLASS_INFO(TObject), nullptr) NB_IMPLEMENT_CLASS(TClipboardHandler, NB_GET_CLASS_INFO(TObject), nullptr)
{ DebugAssert(GetPlugin()); return (FarConfirmations() & FCS_DELETE) != 0; } UnicodeString TFarConfiguration::ModuleFileName() const { DebugAssert(GetPlugin()); return GetPlugin()->GetModuleName(); } void TFarConfiguration::SetBookmarks(const UnicodeString & Key, TBookmarkList * Value) { FBookmarks->SetBookmarks(Key, Value); Changed(); } TBookmarkList * TFarConfiguration::GetBookmarks(const UnicodeString & Key) { return FBookmarks->GetBookmarks(Key); } TFarConfiguration * GetFarConfiguration() { return NB_STATIC_DOWNCAST(TFarConfiguration, GetConfiguration()); } NB_IMPLEMENT_CLASS(TFarConfiguration, NB_GET_CLASS_INFO(TGUIConfiguration), nullptr)
{ std::unique_ptr<TStringList> Temp(new TStringList()); bool Unlimited = false; for (intptr_t Index = 0; Index < Source->GetCount(); ++Index) { UnicodeString Text = Source->GetString(Index); uintptr_t Speed; bool Valid = TryGetSpeedLimit(Text, Speed); if ((!Valid || (Speed == 0)) && !Unlimited) { Temp->Add(LoadStr(SPEED_UNLIMITED)); Unlimited = true; } else if (Valid && (Speed > 0)) { Temp->Add(Text); } } if (!Unlimited) { Temp->Insert(0, LoadStr(SPEED_UNLIMITED)); } Dest->Assign(Temp.get()); } NB_IMPLEMENT_CLASS(TCopyParamType, NB_GET_CLASS_INFO(TObject), nullptr)
return FPermanentLogFileName; } void TConfiguration::SetPermanentLogFileName(const UnicodeString & Value) { FPermanentLogFileName = Value; } UnicodeString TConfiguration::GetPermanentActionsLogFileName() const { return FPermanentActionsLogFileName; } void TConfiguration::SetPermanentActionsLogFileName(const UnicodeString & Value) { FPermanentActionsLogFileName = Value; } void TShortCuts::Add(const TShortCut & ShortCut) { FShortCuts.push_back(ShortCut); } bool TShortCuts::Has(const TShortCut & ShortCut) const { rde::vector<TShortCut>::iterator it = const_cast<TShortCuts *>(this)->FShortCuts.find(ShortCut); return (it != FShortCuts.end()); } NB_IMPLEMENT_CLASS(TConfiguration, NB_GET_CLASS_INFO(TObject), nullptr)
if (m_hTargetWnd) { if (!PostMessage(m_hTargetWnd, m_nLogMessage, FZ_MSG_MAKEMSG(FZ_MSG_STATUS, 0), (LPARAM)pStatus)) delete pStatus; } else if (!PostMessage(m_pApiLogParent->m_hTargetWnd, m_pApiLogParent->m_nLogMessage, FZ_MSG_MAKEMSG(FZ_MSG_STATUS, 0), (LPARAM)pStatus)) delete pStatus; #endif } BOOL CApiLog::SetDebugLevel(int nDebugLevel) { if (m_pApiLogParent) return FALSE; if (nDebugLevel<0 || nDebugLevel>4) return FALSE; m_nDebugLevel=nDebugLevel; return TRUE; } int CApiLog::GetDebugLevel() { if (m_pApiLogParent) return m_pApiLogParent->m_nDebugLevel; return m_nDebugLevel; } NB_IMPLEMENT_CLASS(CApiLog, NB_GET_CLASS_INFO(TObject), nullptr);
{ throw ECallbackGuardAbort(); } else if (NB_STATIC_DOWNCAST(EAbort, E) != nullptr) { throw EAbort(E->Message); } else if (WellKnownException(E, nullptr, nullptr, nullptr, true)) { // noop, should never get here } else { throw ExtException(E, L""); } } NB_IMPLEMENT_CLASS(ExtException, NB_GET_CLASS_INFO(Exception), nullptr); NB_IMPLEMENT_CLASS(EFatal, NB_GET_CLASS_INFO(ExtException), nullptr); NB_IMPLEMENT_CLASS(ESshFatal, NB_GET_CLASS_INFO(EFatal), nullptr); NB_IMPLEMENT_CLASS(EOSExtException, NB_GET_CLASS_INFO(ExtException), nullptr); NB_IMPLEMENT_CLASS(ESshTerminate, NB_GET_CLASS_INFO(EFatal), nullptr); NB_IMPLEMENT_CLASS(ECallbackGuardAbort, NB_GET_CLASS_INFO(EAbort), nullptr); NB_IMPLEMENT_CLASS(ESsh, NB_GET_CLASS_INFO(ExtException), nullptr); NB_IMPLEMENT_CLASS(ETerminal, NB_GET_CLASS_INFO(ExtException), nullptr); NB_IMPLEMENT_CLASS(ECommand, NB_GET_CLASS_INFO(ExtException), nullptr); NB_IMPLEMENT_CLASS(EScp, NB_GET_CLASS_INFO(ExtException), nullptr); NB_IMPLEMENT_CLASS(ESkipFile, NB_GET_CLASS_INFO(ExtException), nullptr); NB_IMPLEMENT_CLASS(EFileSkipped, NB_GET_CLASS_INFO(ESkipFile), nullptr);