Changeset 554 for trunk


Ignore:
Timestamp:
08/21/08 19:29:10 (11 years ago)
Author:
Eoin
Message:

Implementing a new signaler infrastructure.

Location:
trunk
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/Halite.sln

    r505 r554  
    11 
    2 Microsoft Visual Studio Solution File, Format Version 9.00 
    3 # Visual Studio 2005 
     2Microsoft Visual Studio Solution File, Format Version 10.00 
     3# Visual Studio 2008 
    44Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Halite", "sln\Halite\Halite.vcproj", "{ED987C84-FFF9-4656-8F27-2A65FC0847FD}" 
    55        ProjectSection(ProjectDependencies) = postProject 
  • trunk/sln/HalWiX/HalWiX.wixproj

    r541 r554  
    147147  </ItemGroup> 
    148148  <ItemGroup> 
    149     <ProjectReference Include="..\Halite\Halite.vcproj"> 
     149    <Compile Include="HalWiX.wxs" /> 
     150  </ItemGroup> 
     151  <ItemGroup> 
     152    <ProjectReference Include="..\Halite\Halite_2005.vcproj"> 
    150153      <Name>Halite</Name> 
    151154      <Project>{ed987c84-fff9-4656-8f27-2a65fc0847fd}</Project> 
    152155      <Private>True</Private> 
    153156    </ProjectReference> 
    154   </ItemGroup> 
    155   <ItemGroup> 
    156     <Compile Include="HalWiX.wxs" /> 
    157157  </ItemGroup> 
    158158  <Import Project="$(MSBuildExtensionsPath)\Microsoft\WiX\v3.0\Wix.targets" /> 
  • trunk/sln/Halite/Halite.vcproj

    r539 r554  
    22<VisualStudioProject 
    33        ProjectType="Visual C++" 
    4         Version="8.00" 
     4        Version="9.00" 
    55        Name="Halite" 
    66        ProjectGUID="{ED987C84-FFF9-4656-8F27-2A65FC0847FD}" 
    77        RootNamespace="Halite" 
    88        Keyword="Win32Proj" 
     9        TargetFrameworkVersion="131072" 
    910        > 
    1011        <Platforms> 
     
    7273                                GenerateDebugInformation="true" 
    7374                                SubSystem="2" 
     75                                RandomizedBaseAddress="1" 
     76                                DataExecutionPrevention="0" 
    7477                                TargetMachine="1" 
    7578                        /> 
     
    9194                        <Tool 
    9295                                Name="VCAppVerifierTool" 
    93                         /> 
    94                         <Tool 
    95                                 Name="VCWebDeploymentTool" 
    9696                        /> 
    9797                        <Tool 
     
    153153                                GenerateDebugInformation="true" 
    154154                                SubSystem="2" 
     155                                RandomizedBaseAddress="1" 
     156                                DataExecutionPrevention="0" 
    155157                                TargetMachine="17" 
    156158                        /> 
     
    172174                        <Tool 
    173175                                Name="VCAppVerifierTool" 
    174                         /> 
    175                         <Tool 
    176                                 Name="VCWebDeploymentTool" 
    177176                        /> 
    178177                        <Tool 
     
    235234                                OptimizeReferences="2" 
    236235                                EnableCOMDATFolding="2" 
     236                                RandomizedBaseAddress="1" 
     237                                DataExecutionPrevention="0" 
    237238                                TargetMachine="1" 
    238239                        /> 
     
    254255                        <Tool 
    255256                                Name="VCAppVerifierTool" 
    256                         /> 
    257                         <Tool 
    258                                 Name="VCWebDeploymentTool" 
    259257                        /> 
    260258                        <Tool 
     
    319317                                EnableCOMDATFolding="2" 
    320318                                LinkTimeCodeGeneration="0" 
     319                                RandomizedBaseAddress="1" 
     320                                DataExecutionPrevention="0" 
    321321                                TargetMachine="17" 
    322322                        /> 
     
    338338                        <Tool 
    339339                                Name="VCAppVerifierTool" 
    340                         /> 
    341                         <Tool 
    342                                 Name="VCWebDeploymentTool" 
    343340                        /> 
    344341                        <Tool 
     
    403400                                EnableCOMDATFolding="2" 
    404401                                LinkTimeCodeGeneration="0" 
     402                                RandomizedBaseAddress="1" 
     403                                DataExecutionPrevention="0" 
    405404                                TargetMachine="1" 
    406405                        /> 
     
    422421                        <Tool 
    423422                                Name="VCAppVerifierTool" 
    424                         /> 
    425                         <Tool 
    426                                 Name="VCWebDeploymentTool" 
    427423                        /> 
    428424                        <Tool 
     
    487483                                EnableCOMDATFolding="2" 
    488484                                LinkTimeCodeGeneration="0" 
     485                                RandomizedBaseAddress="1" 
     486                                DataExecutionPrevention="0" 
    489487                                TargetMachine="17" 
    490488                        /> 
     
    506504                        <Tool 
    507505                                Name="VCAppVerifierTool" 
    508                         /> 
    509                         <Tool 
    510                                 Name="VCWebDeploymentTool" 
    511506                        /> 
    512507                        <Tool 
  • trunk/sln/libtorrent/libtorrent.vcproj

    r546 r554  
    22<VisualStudioProject 
    33        ProjectType="Visual C++" 
    4         Version="8.00" 
     4        Version="9.00" 
    55        Name="libtorrent" 
    66        ProjectGUID="{333ECB6F-575B-4B11-BDDA-3E7F7555BAD8}" 
    77        RootNamespace="libtorrent" 
    88        Keyword="Win32Proj" 
     9        TargetFrameworkVersion="131072" 
    910        > 
    1011        <Platforms> 
  • trunk/src/HaliteWindow.cpp

    r542 r554  
    411411void HaliteWindow::OnDestroy() 
    412412{        
     413        try 
     414        { 
     415 
    413416        KillTimer(ID_UPDATE_TIMER); 
    414417        KillTimer(ID_SAVE_TIMER); 
     
    435438                shutdown.join(); 
    436439        } 
     440                 
     441        HAL_DEV_MSG(L"Saving before quiting"); 
    437442 
    438443        // Resave for sake of your health. 
     
    443448        HAL_DEV_MSG(L"Posting Quit Message"); 
    444449        PostQuitMessage(0);      
     450 
     451        } 
     452        catch(const std::exception& e) 
     453        { 
     454                hal::event_log.post(shared_ptr<hal::EventDetail>( 
     455                        new hal::EventStdException(hal::event_logger::fatal, e, L"HaliteWindow::OnDestroy()"))); 
     456        }        
    445457} 
    446458 
  • trunk/src/WTLx/GenericAddListView.hpp

    r436 r554  
    2222{ 
    2323 
    24 template<class ListClass, bool supportSingleClickOnEmtpy=false, 
     24template<typename ListClass, bool supportSingleClickOnEmtpy=false, 
    2525        int listID_NEW=HAL_GENERIC_ALV_NEW,  
    2626        int listID_EDIT=HAL_GENERIC_ALV_EDIT,  
     
    2929class GenericAddListView 
    3030{ 
    31         friend class ListClass; 
     31//      friend class ListClass; 
    3232         
    3333public: 
  • trunk/src/WTLx/ListViewIterators.hpp

    r507 r554  
    4242        { 
    4343                winstl::listview_sequence lv_seq(*(static_cast<List*>(this))); 
    44                 return make_filter_iterator<is_selected>(lv_seq.begin(), lv_seq.end()); 
     44                return boost::make_filter_iterator<is_selected>(lv_seq.begin(), lv_seq.end()); 
    4545        } 
    4646 
     
    4848        { 
    4949                winstl::listview_sequence lv_seq(*(static_cast<List*>(this))); 
    50                 return make_filter_iterator<is_selected>(lv_seq.end(), lv_seq.end()); 
     50                return boost::make_filter_iterator<is_selected>(lv_seq.end(), lv_seq.end()); 
    5151        } 
    5252 
     
    7070        { 
    7171                winstl::listview_sequence lv_seq(*(static_cast<List*>(this))); 
    72                 return make_filter_iterator<is_checked>(is_checked(this), lv_seq.begin(), lv_seq.end()); 
     72                return boost::make_filter_iterator<is_checked>(is_checked(this), lv_seq.begin(), lv_seq.end()); 
    7373        } 
    7474 
     
    7676        { 
    7777                winstl::listview_sequence lv_seq(*(static_cast<List*>(this))); 
    78                 return make_filter_iterator<is_checked>(is_checked(this), lv_seq.end(), lv_seq.end()); 
     78                return boost::make_filter_iterator<is_checked>(is_checked(this), lv_seq.end(), lv_seq.end()); 
    7979        } 
    8080 
  • trunk/src/global/txml_iarchive.hpp

    r552 r554  
    286286    void load_override(const ::boost::serialization::nvp<T>& t, int) 
    287287        { 
    288                 if (t.name()) TXML_LOG(boost::wformat(L" << loading: %1%") % t.name()); 
     288                if (t.name())  
     289                { 
     290                        TXML_LOG(boost::wformat(L" << loading: %1%") % t.name()); 
     291                } 
    289292 
    290293                if (current_node_ && load_start(t.name())) 
  • trunk/src/halSession.cpp

    r553 r554  
    129129                libt::ip_filter::filter_tuple_t vectors = ip_filter_.export_filter();    
    130130                 
    131                 std::vector<libt::ip_range<asio::ip::address_v4> > v4(vectors.get<0>()); 
    132                 std::vector<libt::ip_range<asio::ip::address_v6> > v6(vectors.get<1>()); 
     131                std::vector<libt::ip_range<boost::asio::ip::address_v4> > v4(vectors.get<0>()); 
     132                std::vector<libt::ip_range<boost::asio::ip::address_v6> > v6(vectors.get<1>()); 
    133133                 
    134134                v4.erase(std::remove(v4.begin(), v4.end(), 0), v4.end()); 
     
    177177                        } 
    178178                         
    179                         read_range_to_filter<asio::ip::address_v4>(ifs, ip_filter_); 
     179                        read_range_to_filter<boost::asio::ip::address_v4>(ifs, ip_filter_); 
    180180                } 
    181181        }        
    182182} 
    183183 
    184 void  bit_impl::ip_filter_import(std::vector<libt::ip_range<asio::ip::address_v4> >& v4, 
    185         std::vector<libt::ip_range<asio::ip::address_v6> >& v6) 
    186 { 
    187         for(std::vector<libt::ip_range<asio::ip::address_v4> >::iterator i=v4.begin(); 
     184void  bit_impl::ip_filter_import(std::vector<libt::ip_range<boost::asio::ip::address_v4> >& v4, 
     185        std::vector<libt::ip_range<boost::asio::ip::address_v6> >& v6) 
     186{ 
     187        for(std::vector<libt::ip_range<boost::asio::ip::address_v4> >::iterator i=v4.begin(); 
    188188                i != v4.end(); ++i) 
    189189        { 
    190190                ip_filter_.add_rule(i->first, i->last, libt::ip_filter::blocked); 
    191191        } 
    192 /*      for(std::vector<libt::ip_range<asio::ip::address_v6> >::iterator i=v6.begin(); 
     192/*      for(std::vector<libt::ip_range<boost::asio::ip::address_v6> >::iterator i=v6.begin(); 
    193193                i != v6.end(); ++i) 
    194194        { 
     
    254254                                try 
    255255                                {                        
    256                                 ip_filter_.add_rule(asio::ip::address_v4::from_string(first), 
    257                                         asio::ip::address_v4::from_string(last), libt::ip_filter::blocked);      
     256                                ip_filter_.add_rule(boost::asio::ip::address_v4::from_string(first), 
     257                                        boost::asio::ip::address_v4::from_string(last), libt::ip_filter::blocked);       
    258258                                } 
    259259                                catch(...) 
     
    261261                                        hal::event_log.post(shared_ptr<hal::EventDetail>( 
    262262                                                new hal::EventDebug(hal::event_logger::info,  
    263                                                         from_utf8((format("Invalid IP range: %1%-%2%.") % first % last).str())))); 
     263                                                from_utf8((boost::format("Invalid IP range: %1%-%2%.") % first % last).str())))); 
    264264                                } 
    265265                        } 
     
    377377{ 
    378378        mutex_t::scoped_lock l(mutex_); 
     379         
     380        HAL_DEV_MSG(hal::wform(L"start_alert_handler")); 
     381 
    379382 
    380383        boost::function<void (void)> f = bind(&bit_impl::alert_handler, this); 
     
    465468        void operator()(libt::torrent_finished_alert const& a) const 
    466469        { 
     470                HAL_DEV_MSG(L"torrent_finished_alert"); 
     471 
    467472                event_log.post(shared_ptr<EventDetail>( 
    468473                        new EventMsg((hal::wform(hal::app().res_wstr(LBT_EVENT_TORRENT_FINISHED))  
     
    475480        void operator()(libt::torrent_paused_alert const& a) const 
    476481        { 
     482                HAL_DEV_MSG(L"torrent_paused_alert"); 
     483 
    477484                event_log.post(shared_ptr<EventDetail>( 
    478485                        new EventMsg((hal::wform(hal::app().res_wstr(LBT_EVENT_TORRENT_PAUSED))  
     
    480487                                event_logger::info, a.timestamp()))); 
    481488 
    482                 HAL_DEV_MSG(L"torrent_paused_alert"); 
    483489                get(a.handle)->signals().torrent_paused(); 
    484490        } 
     
    537543        void operator()(libt::tracker_announce_alert const& a) const 
    538544        { 
     545                HAL_DEV_MSG(hal::wform(L"HAL_TRACKER_ANNOUNCE_ALERT")); 
     546 
    539547                event_log.post(shared_ptr<EventDetail>( 
    540548                        new EventMsg((hal::wform(hal::app().res_wstr(HAL_TRACKER_ANNOUNCE_ALERT))  
     
    564572                                        % a.num_peers) 
    565573                )       );                               
     574        } 
     575         
     576        void operator()(libt::save_resume_data_alert const& a) const 
     577        { 
     578                event_log.post(shared_ptr<EventDetail>( 
     579                        new EventGeneral(lbtAlertToHalEvent(a.severity()), a.timestamp(), 
     580                                hal::wform(hal::app().res_wstr(HAL_FAST_RESUME_ALERT)) 
     581                                        % get(a.handle)->name() 
     582                                        % hal::from_utf8_safe(a.message())) 
     583                )       );               
    566584        } 
    567585         
     
    648666        } 
    649667         
    650         void operator()(libt::alert const& a) const 
     668/*      void operator()(libt::alert const& a) const 
    651669        { 
    652670                event_log.post(shared_ptr<EventDetail>( 
    653671                                new EventLibtorrent(lbtAlertToHalEvent(a.severity()),  
    654672                                        a.timestamp(), event_logger::unclassified, hal::from_utf8_safe(a.message()))));          
    655         } 
     673        }*/ 
    656674         
    657675        private: 
     
    670688                { 
    671689                mutex_t::scoped_lock l(mutex_); 
     690         
     691                HAL_DEV_MSG(hal::wform(L"DEV_MSG: %1%") % from_utf8(p_alert->message())); 
    672692                 
    673693                libt::handle_alert< 
     694                        libt::save_resume_data_alert, 
    674695                        libt::external_ip_alert, 
    675696                        libt::portmap_error_alert, 
     
    693714                        libt::listen_failed_alert, 
    694715                        libt::listen_succeeded_alert, 
    695                         libt::peer_blocked_alert, 
    696                         libt::alert 
     716                        libt::peer_blocked_alert 
    697717                >::handle_alert(p_alert, handler);                       
    698718                 
     
    700720                catch(libt::unhandled_alert&) 
    701721                { 
    702                         handler(*p_alert); 
     722//                      handler(*p_alert); 
    703723                } 
    704724                catch(std::exception& e) 
     
    711731                p_alert = session_.pop_alert(); 
    712732 
    713                 boost::this_thread::sleep(boost::posix_time::seconds(5)); 
     733                boost::this_thread::interruption_point(); 
    714734        }        
    715735         
  • trunk/src/halSession.hpp

    r553 r554  
    588588        #endif 
    589589 
    590         void ip_v4_filter_block(asio::ip::address_v4 first, asio::ip::address_v4 last) 
     590        void ip_v4_filter_block(boost::asio::ip::address_v4 first, boost::asio::ip::address_v4 last) 
    591591        { 
    592592                ip_filter_.add_rule(first, last, libt::ip_filter::blocked); 
     
    595595        } 
    596596 
    597         void ip_v6_filter_block(asio::ip::address_v6 first, asio::ip::address_v6 last) 
     597        void ip_v6_filter_block(boost::asio::ip::address_v6 first, boost::asio::ip::address_v6 last) 
    598598        { 
    599599                ip_filter_.add_rule(first, last, libt::ip_filter::blocked); 
     
    971971        void ip_filter_count(); 
    972972        void ip_filter_load(progress_callback fn); 
    973         void ip_filter_import(std::vector<libt::ip_range<asio::ip::address_v4> >& v4, 
    974                 std::vector<libt::ip_range<asio::ip::address_v6> >& v6); 
     973        void ip_filter_import(std::vector<libt::ip_range<boost::asio::ip::address_v4> >& v4, 
     974                std::vector<libt::ip_range<boost::asio::ip::address_v6> >& v6); 
    975975         
    976976        bool dht_on_; 
  • trunk/src/halTorrent.cpp

    r542 r554  
    225225#endif 
    226226 
    227 void bit::ip_v4_filter_block(asio::ip::address_v4 first, asio::ip::address_v4 last) 
     227void bit::ip_v4_filter_block(boost::asio::ip::address_v4 first, boost::asio::ip::address_v4 last) 
    228228{ 
    229229        pimpl->ip_filter_.add_rule(first, last, libt::ip_filter::blocked); 
     
    232232} 
    233233 
    234 void bit::ip_v6_filter_block(asio::ip::address_v6 first, asio::ip::address_v6 last) 
     234void bit::ip_v6_filter_block(boost::asio::ip::address_v6 first, boost::asio::ip::address_v6 last) 
    235235{ 
    236236        pimpl->ip_v6_filter_block(first, last); 
  • trunk/src/halTorrentInternal.hpp

    r553 r554  
    509509                progress_(0), \ 
    510510                startTime_(boost::posix_time::second_clock::universal_time()), \ 
    511                 in_session_(false) 
     511                in_session_(false), \ 
     512                queue_position_(0) 
    512513                 
    513514        torrent_internal() :     
     
    577578                        statusMemory_ = handle_.status(); 
    578579                        progress_ = statusMemory_.progress; 
     580 
     581                        queue_position_ = handle_.queue_position(); 
    579582                } 
    580583                else 
     
    666669                        std::pair<float, float>(statusMemory_.download_payload_rate, statusMemory_.upload_payload_rate), 
    667670                        progress_, statusMemory_.distributed_copies, statusMemory_.total_wanted_done, statusMemory_.total_wanted, uploaded_, payloadUploaded_, 
    668                         downloaded_, payloadDownloaded_, connections, ratio_, td, statusMemory_.next_announce, activeDuration_, seedingDuration_, startTime_, finishTime_, handle_.queue_position())); 
     671                        downloaded_, payloadDownloaded_, connections, ratio_, td, statusMemory_.next_announce, activeDuration_, seedingDuration_, startTime_, finishTime_, queue_position_)); 
    669672 
    670673                } 
     
    831834                 
    832835                state_ = torrent_details::torrent_active;                        
    833                 assert(!handle_.is_paused()); 
     836                //assert(!handle_.is_paused()); 
    834837        } 
    835838         
     
    843846 
    844847                        assert(in_session()); 
    845                 //      assert(handle_.is_paused()); 
     848                        assert(handle_.is_paused()); 
    846849                } 
    847850                else 
     
    849852                        assert(in_session()); 
    850853 
     854                        HAL_DEV_MSG(hal::wform(L"pause() - handle_.pause()")); 
    851855                        handle_.pause(); 
    852856                        //signals().torrent_paused.disconnect_all_once(); 
     
    869873                                assert(in_session()); 
    870874 
    871 //                              signals().torrent_paused.disconnect_all_once(); 
    872 //                              signals().torrent_paused.connect_once(bind(&torrent_internal::completed_stop, this)); 
     875                                signaler_wrapper* sig = new signaler_wrapper(bind(&torrent_internal::completed_stop, this)); 
     876                                signals().torrent_paused.connect(bind(&signaler_wrapper::operator(), sig)); 
     877                                 
     878                                HAL_DEV_MSG(hal::wform(L"stop() - handle_.pause()")); 
    873879                                handle_.pause(); 
    874880 
     
    14421448        } 
    14431449 
    1444         void completed_stop() 
     1450        bool completed_stop() 
    14451451        { 
    14461452                mutex_t::scoped_lock l(mutex_); 
     
    14541460 
    14551461                HAL_DEV_MSG(L"completed_stop()"); 
     1462 
     1463                return true; 
    14561464        } 
    14571465 
     
    15231531        FileDetails fileDetailsMemory_; 
    15241532         
     1533        int queue_position_; 
    15251534        bool compactStorage_; 
    15261535}; 
Note: See TracChangeset for help on using the changeset viewer.