Changeset 456


Ignore:
Timestamp:
05/22/08 17:19:57 (12 years ago)
Author:
Eoin
Message:

Refactoring trackers and file_priorities to properties.

Location:
trunk/src
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/NewTorrentTrackerLV.cpp

    r431 r456  
    3535void NewTorrent_TrackerListViewCtrl::uiUpdate(const hal::TorrentDetail_ptr pT) 
    3636{ 
    37         if (pT) 
     37        if (hal::bit::torrent t = hal::bittorrent().get(pT)) 
    3838        {                        
    3939                hal::try_update_lock<listClass> lock(*this); 
    4040                if (lock)  
    4141                {                        
    42                         std::vector<hal::tracker_detail> trackers = 
    43                                 hal::bittorrent().getTorrentTrackers(pT->name()); 
     42                        std::vector<hal::tracker_detail> trackers =     t.trackers; 
    4443                        clearAll(); 
    4544                         
  • trunk/src/advtabs/Files.cpp

    r452 r456  
    6262        } 
    6363         
    64         int priority = nCtrlID-ID_HAL_FILE_PRIORITY_0; 
    65          
    66         std::string torrent = hal::to_utf8(hal::bittorrent().torrentDetails().focusedTorrent()->name()); 
    67         hal::bittorrent().setTorrentFilePriorities(torrent, indices, priority); 
     64        int priority = nCtrlID-ID_HAL_FILE_PRIORITY_0;   
     65 
     66        if (hal::bit::torrent t = hal::bittorrent().get(hal::bittorrent().torrentDetails().focusedTorrent())) 
     67                t.file_priorities = std::pair<std::vector<int>, int>(indices, priority); 
    6868} 
    6969 
     
    139139        int priority = nCtrlID-ID_HAL_FILE_PRIORITY_0; 
    140140         
    141         std::string torrent = hal::to_utf8(hal::bittorrent().torrentDetails().focusedTorrent()->name()); 
    142         hal::bittorrent().setTorrentFilePriorities(torrent, indices, priority); 
     141        if (hal::bit::torrent t = hal::bittorrent().get(hal::bittorrent().torrentDetails().focusedTorrent())) 
     142                t.file_priorities = std::pair<std::vector<int>, int>(indices, priority); 
    143143         
    144144        hal::try_update_lock<thisClass> lock(*this); 
  • trunk/src/advtabs/Tracker.cpp

    r453 r456  
    180180void AdvTrackerDialog::onReset(UINT, int, HWND) 
    181181{ 
    182         string torrent_name;     
    183         if (hal::bittorrent().torrentDetails().focusedTorrent()) 
    184                 torrent_name = hal::to_utf8(hal::bittorrent().torrentDetails().focusedTorrent()->name()); 
    185                  
    186         hal::bittorrent().resetTorrentTrackers(torrent_name); 
    187          
    188         std::vector<hal::tracker_detail> trackers = 
    189                 hal::bittorrent().getTorrentTrackers(torrent_name); 
    190         m_list.clearAll(); 
    191          
    192         foreach (const hal::tracker_detail& tracker, trackers) 
    193         { 
    194                 int itemPos = m_list.AddItem(0, 0, tracker.url.c_str(), 0); 
    195                 m_list.SetItemText(itemPos, 1, lexical_cast<wstring>(tracker.tier).c_str()); 
    196         } 
    197  
     182        if (hal::bit::torrent t = hal::bittorrent().get(focusedTorrent())) 
     183        { 
     184                t.reset_trackers(); 
     185                 
     186                std::vector<hal::tracker_detail> trackers =t.trackers; 
     187                m_list.clearAll(); 
     188                 
     189                foreach (const hal::tracker_detail& tracker, trackers) 
     190                { 
     191                        int itemPos = m_list.AddItem(0, 0, tracker.url.c_str(), 0); 
     192                        m_list.SetItemText(itemPos, 1, lexical_cast<wstring>(tracker.tier).c_str()); 
     193                } 
     194        } 
    198195        ::EnableWindow(GetDlgItem(IDC_TRACKER_APPLY), false); 
    199196} 
     
    217214        std::sort(trackers.begin(), trackers.end()); 
    218215                 
    219         if (hal::bittorrent().torrentDetails().focusedTorrent()) 
    220                 hal::bittorrent().setTorrentTrackers(hal::to_utf8(hal::bittorrent().torrentDetails().focusedTorrent()->name()), trackers); 
     216        if (hal::bit::torrent t = hal::bittorrent().get(focusedTorrent())) 
     217                t.trackers = trackers; 
    221218         
    222219        ::EnableWindow(GetDlgItem(IDC_TRACKER_APPLY), false); 
  • trunk/src/advtabs/TrackerListView.cpp

    r429 r456  
    3535void TrackerListViewCtrl::uiUpdate(const hal::TorrentDetail_ptr pT) 
    3636{ 
    37         if (pT) 
     37        if (hal::bit::torrent t = hal::bittorrent().get(pT)) 
    3838        {                        
    3939                hal::try_update_lock<listClass> lock(*this); 
    4040                if (lock)  
    4141                {                        
    42                         std::vector<hal::tracker_detail> trackers = 
    43                                 hal::bittorrent().getTorrentTrackers(pT->name()); 
     42                        std::vector<hal::tracker_detail> trackers = t.trackers;                          
    4443                        clearAll(); 
    4544                         
  • trunk/src/halTorrent.cpp

    r455 r456  
    20432043        return ptr->getConnectionLimit(); 
    20442044         
    2045         } HAL_GENERIC_TORRENT_EXCEPTION_CATCH(L"Me", "get_connection_limits") 
     2045        } HAL_GENERIC_TORRENT_EXCEPTION_CATCH(L"Me", "torrent::get_connection_limits") 
    20462046         
    20472047        return std::make_pair(-1, -1); 
     
    21592159} 
    21602160 
     2161std::vector<tracker_detail> bit::torrent::get_trackers() const 
     2162{ 
     2163        try { 
     2164         
     2165        return ptr->getTrackers(); 
     2166         
     2167        } HAL_GENERIC_TORRENT_EXCEPTION_CATCH(L"Me", "torrent::get_trackers") 
     2168         
     2169        return std::vector<tracker_detail>(); 
     2170} 
     2171 
     2172void bit::torrent::set_trackers(const std::vector<tracker_detail>& trackers) 
     2173{ 
     2174        try { 
     2175         
     2176        ptr->setTrackers(trackers); 
     2177         
     2178        } HAL_GENERIC_TORRENT_EXCEPTION_CATCH(L"Me", "torrent::set_trackers") 
     2179} 
     2180 
     2181void bit::torrent::reset_trackers() 
     2182{ 
     2183        try { 
     2184         
     2185        ptr->resetTrackers(); 
     2186         
     2187        } HAL_GENERIC_TORRENT_EXCEPTION_CATCH(L"Me", "torrent::set_trackers") 
     2188} 
     2189 
     2190void bit::torrent::set_file_priorities(const std::pair<std::vector<int>, int>& p) 
     2191{ 
     2192        ptr->setFilePriorities(p.first, p.second); 
     2193} 
     2194 
     2195/* 
    21612196void bit::setTorrentFilePriorities(const std::string& filename,  
    21622197        std::vector<int> fileIndices, int priority) 
     
    22192254         
    22202255        return std::vector<tracker_detail>();    
    2221 } 
     2256}*/ 
    22222257 
    22232258void bit::startEventReceiver() 
  • trunk/src/halTorrent.hpp

    r455 r456  
    3636 
    3737 
     38//#if BOOST_VERSION < 103500 
    3839#include <asio/ip/tcp.hpp> 
    3940#include <asio/ip/udp.hpp> 
     41//#else 
     42//#include <boost/asio/ip/tcp.hpp> 
     43//#include <boost/asio/ip/udp.hpp> 
     44//#endif 
    4045 
    4146#include "halTypes.hpp" 
     
    415420typedef std::pair<float, float> float_pair; 
    416421typedef std::pair<int, int> int_pair; 
     422typedef std::pair<std::vector<int>, int> vec_int_pair; 
    417423 
    418424class bit_impl; 
     
    491497                void set_tracker_login(const std::pair<wstring, wstring>&); 
    492498 
     499                std::vector<tracker_detail> get_trackers() const; 
     500                void set_trackers(const std::vector<tracker_detail>&); 
     501 
    493502                bool get_is_active() const; 
    494503                bool get_in_session() const; 
     504 
     505                void set_file_priorities(const vec_int_pair&); 
    495506 
    496507        public: 
     
    516527                        get_in_session, in_session); 
    517528 
     529                STLSOFT_METHOD_PROPERTY_GETSET_EXTERNAL(std::vector<tracker_detail>, const std::vector<tracker_detail>&,  
     530                        class_type, get_trackers, set_trackers, trackers); 
     531 
     532                STLSOFT_METHOD_PROPERTY_SET_EXTERNAL(const vec_int_pair&, class_type,  
     533                        set_file_priorities, file_priorities); 
     534 
     535                void reset_trackers(); 
     536 
    518537                bool is_open() const; 
     538 
    519539 
    520540        private: 
     
    618638        void removeTorrentWipeFiles(const std::string& filename); 
    619639        void removeTorrentWipeFiles(const std::wstring&  filename); 
    620          
     640/*       
    621641        void setTorrentTrackers(const std::string& filename, const std::vector<tracker_detail>& trackers); 
    622642        void setTorrentTrackers(const std::wstring& filename, const std::vector<tracker_detail>& trackers); 
     
    628648        void setTorrentFilePriorities(const std::string& filename, std::vector<int> fileIndices, int priority); 
    629649        void setTorrentFilePriorities(const std::wstring& filename, std::vector<int> fileIndices, int priority); 
    630  
     650*/ 
    631651        void startEventReceiver(); 
    632652        void stopEventReceiver(); 
Note: See TracChangeset for help on using the changeset viewer.