Changeset 454


Ignore:
Timestamp:
05/21/08 17:03:13 (12 years ago)
Author:
Eoin
Message:

Connection and rates limits refactored as properties.

Location:
trunk/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/HaliteDialog.cpp

    r423 r454  
    138138{ 
    139139        DoDataExchange(true); 
    140          
     140 
     141 
     142        if (hal::bit::torrent t = hal::bittorrent().get(focusedTorrent())) 
     143        { 
     144                t.rate_limits = std::pair<float, float>(downloadRate_, uploadRate_); 
     145                t.connection_limits = std::pair<int, int>(totalConnections_, uploadConnections_); 
     146        } 
     147 
     148        /*       
    141149        if (hal::TorrentDetail_ptr torrent = hal::bittorrent().torrentDetails().focusedTorrent())  
    142150        { 
     
    146154                hal::bittorrent().setTorrentLimit(torrentName, totalConnections_, uploadConnections_); 
    147155        } 
    148          
     156        */ 
    149157        return 0; 
    150158} 
     
    152160LRESULT HaliteDialog::OnHalEditChanged(UINT uMsg, WPARAM wParam, LPARAM lParam) 
    153161{ 
     162        if (hal::bit::torrent t = hal::bittorrent().get(focusedTorrent())) 
     163        { 
     164                t.rate_limits = std::pair<float, float>(downloadRate_, uploadRate_); 
     165                t.connection_limits = std::pair<int, int>(totalConnections_, uploadConnections_); 
     166        } 
     167 
     168        /*       
    154169        if (hal::TorrentDetail_ptr torrent = hal::bittorrent().torrentDetails().focusedTorrent())  
    155170        { 
     
    159174                hal::bittorrent().setTorrentLimit(torrentName, totalConnections_, uploadConnections_); 
    160175        } 
     176        */ 
    161177         
    162178        return 0; 
     
    237253        if (pT) 
    238254        { 
    239                 tranLimit = hal::bittorrent().getTorrentSpeed(pT->name()); 
    240                 connLimit = hal::bittorrent().getTorrentLimit(pT->name()); 
     255                hal::bit::torrent t = hal::bittorrent().get(pT); 
     256 
     257                tranLimit = t.rate_limits; 
     258                connLimit = t.connection_limits; 
    241259                 
    242260                if (!hal::bittorrent().isTorrentActive(pT->name())) 
  • trunk/src/advtabs/Torrent.cpp

    r438 r454  
    107107                string torrentName = hal::to_utf8(torrent->name()); 
    108108                 
    109                 hal::bittorrent().setTorrentSpeed(torrentName, downloadRate_, uploadRate_); 
    110                 hal::bittorrent().setTorrentLimit(torrentName, totalConnections_, uploadConnections_); 
    111                 hal::bittorrent().setTorrentRatio(torrentName, ratio_); 
     109//              hal::bittorrent().setTorrentSpeed(torrentName, downloadRate_, uploadRate_); 
     110//              hal::bittorrent().setTorrentLimit(torrentName, totalConnections_, uploadConnections_); 
     111//              hal::bittorrent().setTorrentRatio(torrentName, ratio_); 
    112112 
    113113//              hal::bit::torrent t = hal::bittorrent().get(torrent->name()); 
    114114 
    115115//              t.ratio = ratio_; 
     116        } 
     117 
     118        if (hal::bit::torrent t = hal::bittorrent().get(focusedTorrent())) 
     119        { 
     120                t.rate_limits = std::pair<float, float>(downloadRate_, uploadRate_); 
     121                t.connection_limits = std::pair<int, int>(totalConnections_, uploadConnections_); 
     122                t.ratio = ratio_; 
    116123        } 
    117124         
     
    126133        float ratio = 0; 
    127134 
    128         if (pT) 
    129         { 
    130                 tranLimit = hal::bittorrent().getTorrentSpeed(pT->name()); 
    131                 connLimit = hal::bittorrent().getTorrentLimit(pT->name()); 
    132                  
    133                 ratio = hal::bittorrent().getTorrentRatio(pT->name()); 
     135        if (hal::bit::torrent t = hal::bittorrent().get(focusedTorrent())) 
     136        { 
     137                tranLimit = t.rate_limits; 
     138                connLimit = t.connection_limits;                 
     139                ratio = t.ratio; 
    134140                 
    135141                ::EnableWindow(GetDlgItem(IDC_EDITTLD), true); 
  • trunk/src/halTorrent.cpp

    r453 r454  
    19931993} 
    19941994 
    1995 void bit::setTorrentLimit(const std::string& filename, int maxConn, int maxUpload) 
    1996 { 
    1997         setTorrentLimit(hal::from_utf8_safe(filename), maxConn, maxUpload); 
    1998 } 
    1999  
    2000 void bit::setTorrentLimit(const std::wstring& filename, int maxConn, int maxUpload) 
    2001 { 
    2002         try { 
    2003          
    2004         pimpl->theTorrents.get(filename)->setConnectionLimit(maxConn, maxUpload); 
    2005          
    2006         } HAL_GENERIC_TORRENT_EXCEPTION_CATCH(filename, "setTorrentLimit") 
    2007 } 
    2008  
    20091995bit::torrent::torrent() 
    20101996{} 
     
    20512037} 
    20522038 
     2039std::pair<int, int> bit::torrent::get_connection_limits() const 
     2040{ 
     2041        try { 
     2042         
     2043        return ptr->getConnectionLimit(); 
     2044         
     2045        } HAL_GENERIC_TORRENT_EXCEPTION_CATCH(L"Me", "get_connection_limits") 
     2046         
     2047        return std::make_pair(-1, -1); 
     2048} 
     2049 
     2050void bit::torrent::set_connection_limits(const std::pair<int, int>& l) 
     2051{ 
     2052        try { 
     2053         
     2054        ptr->setConnectionLimit(l.first, l.second); 
     2055         
     2056        } HAL_GENERIC_TORRENT_EXCEPTION_CATCH(L"Me", "torrent::set_connection_limits") 
     2057} 
     2058 
     2059std::pair<float, float> bit::torrent::get_rate_limits() const 
     2060{ 
     2061        try { 
     2062         
     2063        return ptr->getTransferSpeed(); 
     2064         
     2065        } HAL_GENERIC_TORRENT_EXCEPTION_CATCH(L"Me", "torrent::get_rate_limits") 
     2066         
     2067        return std::pair<float, float>(-1.0, -1.0); 
     2068} 
     2069 
     2070void bit::torrent::set_rate_limits(const std::pair<float, float>& l) 
     2071{ 
     2072        try { 
     2073         
     2074        ptr->setTransferSpeed(l.first, l.second); 
     2075         
     2076        } HAL_GENERIC_TORRENT_EXCEPTION_CATCH(L"Me", "torrent::set_rate_limits") 
     2077} 
     2078 
    20532079wpath bit::torrent::get_save_directory() const 
    20542080{ 
     
    21322158        return L""; 
    21332159} 
    2134  
     2160/* 
    21352161void bit::setTorrentRatio(const std::string& filename, float ratio) 
    21362162{ 
     
    21632189} 
    21642190 
     2191void bit::setTorrentLimit(const std::string& filename, int maxConn, int maxUpload) 
     2192{ 
     2193        setTorrentLimit(hal::from_utf8_safe(filename), maxConn, maxUpload); 
     2194} 
     2195 
     2196void bit::setTorrentLimit(const std::wstring& filename, int maxConn, int maxUpload) 
     2197{ 
     2198        try { 
     2199         
     2200        pimpl->theTorrents.get(filename)->setConnectionLimit(maxConn, maxUpload); 
     2201         
     2202        } HAL_GENERIC_TORRENT_EXCEPTION_CATCH(filename, "setTorrentLimit") 
     2203} 
     2204 
    21652205void bit::setTorrentSpeed(const std::string& filename, float download, float upload) 
    21662206{ 
     
    22072247         
    22082248        return std::pair<float, float>(0, 0); 
    2209 } 
     2249}*/ 
    22102250 
    22112251void bit::setTorrentFilePriorities(const std::string& filename,  
  • trunk/src/halTorrent.hpp

    r453 r454  
    413413typedef boost::function<void (int)> report_num_active; 
    414414typedef std::pair<wstring, wstring> wstring_pair; 
     415typedef std::pair<float, float> float_pair; 
     416typedef std::pair<int, int> int_pair; 
    415417 
    416418class bit_impl; 
     
    475477                float get_ratio() const; 
    476478                void set_ratio(float new_ratio); 
     479                 
     480                std::pair<int, int> get_connection_limits() const; 
     481                void set_connection_limits(const std::pair<int, int>&); 
     482                std::pair<float, float> get_rate_limits() const; 
     483                void set_rate_limits(const std::pair<float, float>&); 
    477484 
    478485                wpath get_save_directory() const; 
     
    490497                STLSOFT_METHOD_PROPERTY_GETSET_EXTERNAL(float, float, class_type,  
    491498                        get_ratio, set_ratio, ratio); 
     499 
     500                STLSOFT_METHOD_PROPERTY_GETSET_EXTERNAL(int_pair, const int_pair&, class_type,  
     501                        get_connection_limits, set_connection_limits, connection_limits); 
     502                STLSOFT_METHOD_PROPERTY_GETSET_EXTERNAL(float_pair, const float_pair&, class_type,  
     503                        get_rate_limits, set_rate_limits, rate_limits); 
    492504                 
    493505                STLSOFT_METHOD_PROPERTY_GETSET_EXTERNAL(wpath, const wpath&, class_type,  
     
    575587                boost::filesystem::wpath moveToDirectory=L"", bool useMoveTo=false); 
    576588         
    577         void setTorrentRatio(const std::string&, float ratio); 
     589/*      void setTorrentRatio(const std::string&, float ratio); 
    578590        void setTorrentRatio(const std::wstring&, float ratio); 
    579591        float getTorrentRatio(const std::string&); 
    580         float getTorrentRatio(const std::wstring&); 
     592        float getTorrentRatio(const std::wstring&);*/ 
    581593         
    582594        void getAllPeerDetails(const std::string& filename, PeerDetails& peerContainer); 
     
    612624        void removeTorrentWipeFiles(const std::wstring&  filename); 
    613625         
    614         void setTorrentLimit(const std::string& filename, int maxConn, int maxUpload); 
     626/*      void setTorrentLimit(const std::string& filename, int maxConn, int maxUpload); 
    615627        void setTorrentLimit(const std::wstring& filename, int maxConn, int maxUpload); 
    616628        void setTorrentSpeed(const std::string& filename, float download, float upload); 
     
    620632        std::pair<float, float> getTorrentSpeed(const std::string& filename); 
    621633        std::pair<float, float> getTorrentSpeed(const std::wstring& filename); 
    622          
     634*/       
    623635        void setTorrentTrackers(const std::string& filename, const std::vector<tracker_detail>& trackers); 
    624636        void setTorrentTrackers(const std::wstring& filename, const std::vector<tracker_detail>& trackers); 
Note: See TracChangeset for help on using the changeset viewer.