Changeset 681 for trunk


Ignore:
Timestamp:
01/11/09 12:51:45 (11 years ago)
Author:
Eoin
Message:
 
Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/sln/Halite/Halite.vcproj

    r666 r681  
    1818        </Platforms> 
    1919        <ToolFiles> 
    20                 <DefaultToolFile 
    21                         FileName="CNC.rules" 
    22                 /> 
     20 
    2321        </ToolFiles> 
    2422        <Configurations> 
  • trunk/src/Halite.cpp

    r659 r681  
    136136                boost::filesystem::create_directories(hal::app().working_directory); 
    137137 
    138         WTL::AtlInitCommonControls(ICC_COOL_CLASSES | ICC_BAR_CLASSES|ICC_LISTVIEW_CLASSES);     
     138        WTL::AtlInitCommonControls(ICC_COOL_CLASSES | ICC_BAR_CLASSES | ICC_LISTVIEW_CLASSES);   
    139139        HINSTANCE hInstRich = ::LoadLibrary(WTL::CRichEditCtrl::GetLibraryName()); 
    140140        ATLASSERT(hInstRich != NULL); 
  • trunk/src/advtabs/Peers.cpp

    r659 r681  
    5555                        int index = GetColumnSortType(col_sort_index); 
    5656                         
    57                         HAL_DEV_MSG(hal::wform(L"col_sort_index() = %1%, index() = %2%")  
     57                        HAL_DEV_SORT_MSG(hal::wform(L"col_sort_index() = %1%, index() = %2%")  
    5858                                % col_sort_index % index); 
    5959 
  • trunk/src/halSession.hpp

    r680 r681  
    654654        } 
    655655 
    656         #ifndef TORRENT_DISABLE_ENCRYPTION       
     656#       ifndef TORRENT_DISABLE_ENCRYPTION        
    657657        void ensure_pe_on(const pe_settings& pe_s) 
    658658        { 
     
    748748                event_log.post(shared_ptr<EventDetail>(new EventMsg(L"Protocol encryption off."))); 
    749749        } 
    750         #endif 
     750#       endif 
    751751         
    752752        void set_resolve_countries(bool b) 
     
    892892                } 
    893893        } 
    894 #if 0 
    895         std::pair<boost::intrusive_ptr<libt::torrent_info>, libt::entry> prep_torrent(wpath filename, wpath saveDirectory) 
    896         { 
    897                 libt::torrent_info info(path_to_utf8(filename)); 
    898                  
    899                 wstring torrentName = hal::from_utf8_safe(info.name()); 
    900                 if (!boost::find_last(torrentName, L".torrent"))  
    901                         torrentName += L".torrent"; 
    902                  
    903                 wpath torrentFilename = torrentName; 
    904                 const wpath resumeFile = hal::app().get_working_directory()/L"resume"/torrentFilename.filename(); 
    905                  
    906                 //  vvv Handle old naming style! 
    907                 const wpath oldResumeFile = hal::app().get_working_directory()/L"resume"/filename.filename(); 
    908                  
    909                 if (filename.filename() != torrentFilename.filename() && exists(oldResumeFile)) 
    910                         fs::rename(oldResumeFile, resumeFile); 
    911                 //  ^^^ Handle old naming style!         
    912                  
    913                 libt::entry resumeData;  
    914                  
    915                 if (fs::exists(resumeFile))  
    916                 { 
    917                         try  
    918                         { 
    919                                 resumeData = haldecode(resumeFile); 
    920                         } 
    921                         catch(std::exception &e)  
    922                         {                
    923                                 hal::event_log.post(boost::shared_ptr<hal::EventDetail>( 
    924                                         new hal::EventStdException(event_logger::critical, e, L"prepTorrent, Resume")));  
    925                  
    926                                 fs::remove(resumeFile); 
    927                         } 
    928                 } 
    929  
    930                 if (!fs::exists(hal::app().get_working_directory()/L"torrents")) 
    931                         fs::create_directory(hal::app().get_working_directory()/L"torrents"); 
    932  
    933                 if (!fs::exists(hal::app().get_working_directory()/L"torrents"/torrentFilename.filename())) 
    934                         fs::copy_file(filename.string(), hal::app().get_working_directory()/L"torrents"/torrentFilename.filename()); 
    935  
    936                 if (!fs::exists(saveDirectory)) 
    937                         fs::create_directory(saveDirectory); 
    938                  
    939                 return std::make_pair(info, resumeData); 
    940         } 
    941 #endif 
     894 
    942895        void removal_thread(torrent_internal_ptr pIT, bool wipeFiles) 
    943896        { 
     
    10661019                                { 
    10671020                                        hal::event_log.post(shared_ptr<hal::EventDetail>( 
    1068                                                 new hal::EventStdException(hal::event_logger::warning, e, L"resumeAll"))); 
     1021                                                new hal::EventStdException(hal::event_logger::warning, e, L"resume_all"))); 
    10691022                                         
    10701023                                        the_torrents_.erase(i++); 
     
    10771030                } 
    10781031                 
    1079                 } HAL_GENERIC_TORRENT_EXCEPTION_CATCH("Torrent Unknown!", "closeAll") 
    1080         } 
    1081  
     1032                } HAL_GENERIC_TORRENT_EXCEPTION_CATCH("Torrent Unknown!", "resume_all") 
     1033        } 
     1034 
     1035        bool close_counter(int* count) 
     1036        { 
     1037                --(*count); 
     1038                return true; 
     1039        } 
     1040         
    10821041        void close_all(boost::optional<report_num_active> fn) 
    10831042        { 
    10841043                try  
    10851044                {        
     1045 
    10861046                event_log.post(shared_ptr<EventDetail>(new EventInfo(L"Saving torrent data..."))); 
    10871047 
     
    10891049 
    10901050                event_log.post(shared_ptr<EventDetail>(new EventInfo(L"Stopping all torrents..."))); 
    1091                 session_.pause(); 
    1092                  
    1093 /*              for (torrent_manager::torrent_by_name::iterator i=the_torrents_.begin(), e=the_torrents_.end();  
    1094                         i != e; ++i) 
    1095                 { 
    1096                         (*i).torrent->stop(); 
    1097                 } 
    1098 */               
     1051 
     1052                int     num_active = 0; 
     1053                for (torrent_manager::torrent_by_name::iterator i=the_torrents_.begin(), e=the_torrents_.end();  
     1054                                i != e; ++i) 
     1055                { 
     1056                        if ((*i).torrent && (*i).torrent->state() != torrent_details::torrent_stopped  
     1057                                        && (*i).torrent->state() != torrent_details::torrent_paused) 
     1058                        { 
     1059                                signaler_wrapper<>* sig_pause = new signaler_wrapper<>(bind(&bit_impl::close_counter, this, &num_active)); 
     1060                                (*i).torrent->signals().torrent_paused.connect(bind(&signaler_wrapper<>::operator(), sig_pause)); 
     1061 
     1062                                signaler_wrapper<>* sig_resume = new signaler_wrapper<>(bind(&bit_impl::close_counter, this, &num_active)); 
     1063                                (*i).torrent->signals().resume_data.connect(bind(&signaler_wrapper<>::operator(), sig_resume)); 
     1064 
     1065                                num_active += 2; // because two things need to happen! 
     1066 
     1067                                (*i).torrent->save_resume_data(); 
     1068                        } 
     1069                } 
     1070 
     1071                event_log.post(shared_ptr<EventDetail>(new EventInfo(hal::wform(L"%1% active") % (num_active/2)))); 
     1072                session_.pause();                
     1073 
    10991074                // Ok this polling loop here is a bit curde, but a blocking wait is actually appropiate. 
    1100                 for (int num_active = -1; num_active != 0; ) 
    1101                 { 
    1102                         num_active = 0; 
    1103  
    1104                         for (torrent_manager::torrent_by_name::iterator i=the_torrents_.begin(), e=the_torrents_.end();  
    1105                                         i != e; ++i) 
    1106                         { 
    1107                                 if ((*i).torrent && (*i).torrent->state() != torrent_details::torrent_stopped  
    1108                                                 && (*i).torrent->state() != torrent_details::torrent_paused) 
    1109                                         ++num_active; 
    1110                         } 
    1111                          
    1112                         event_log.post(shared_ptr<EventDetail>(new EventInfo(hal::wform(L"%1% still active") % num_active))); 
    1113  
    1114                         if (fn) (*fn)(num_active); 
     1075                while (num_active > 0) 
     1076                { 
     1077                        event_log.post(shared_ptr<EventDetail>(new EventInfo(hal::wform(L"%1% still active") % (num_active/2)))); 
     1078 
     1079                        if (fn) (*fn)(num_active/2); 
    11151080                        boost::this_thread::sleep(pt::milliseconds(500)); 
    11161081                } 
     
    11191084                event_log.post(shared_ptr<EventDetail>(new EventInfo(L"Fast-resume data written."))); 
    11201085                 
    1121                 } HAL_GENERIC_TORRENT_EXCEPTION_CATCH("Torrent Unknown!", "closeAll") 
     1086                } HAL_GENERIC_TORRENT_EXCEPTION_CATCH("Torrent Unknown!", "close_all()") 
    11221087        } 
    11231088         
     
    11401105                { 
    11411106                        event_log.post(shared_ptr<EventDetail>(\ 
    1142                                 new EventStdException(event_logger::critical, e, L"saveTorrentData"))); 
     1107                                new EventStdException(event_logger::critical, e, L"save_torrent_data()"))); 
    11431108                } 
    11441109        } 
  • trunk/src/halTorrentInternal.hpp

    r680 r681  
    661661                        signals().resume_data.connect(bind(&signaler_wrapper<>::operator(), sig)); 
    662662                         
    663                         handle_.save_resume_data(); 
     663                        save_resume_data(); 
    664664 
    665665                        return false; 
     
    735735                        signals().torrent_paused.connect(bind(&signaler_wrapper<>::operator(), sig)); 
    736736 
    737                         state(torrent_details::torrent_pausing);         
     737                        state(torrent_details::torrent_pausing); 
    738738                }                        
    739739        } 
     
    816816 
    817817                HAL_DEV_MSG(L"Written!"); 
     818        } 
     819 
     820        void save_resume_data() 
     821        { 
     822                handle_.save_resume_data(); 
    818823        } 
    819824         
     
    13401345 
    13411346                HAL_DEV_MSG(L"completed_pause()"); 
    1342                                  
     1347 
     1348                save_resume_data();                              
    13431349                state(torrent_details::torrent_paused); 
    13441350 
Note: See TracChangeset for help on using the changeset viewer.