Changeset 570 for trunk


Ignore:
Timestamp:
09/08/08 16:49:26 (11 years ago)
Author:
Eoin
Message:

Switching from deprecated libtorrent functions.

Location:
trunk
Files:
8 edited

Legend:

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

    r564 r570  
    4747                                Optimization="0" 
    4848                                AdditionalIncludeDirectories=""$(SolutionDir)src";"$(SolutionDir)src\WTLx";"$(SolutionDir)lib\libtorrent\include";"$(SolutionDir)lib\libtorrent\zlib";"$(SolutionDir)lib\Asio\include";"$(SolutionDir)lib\OpenSSL\inc";"$(SolutionDir)lib\STLSoft\include"" 
    49                                 PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32;_WIN32;_WINDOWS;_DEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;TORRENT_LOGGING;TORRENT_VERBOSE_LOGGING;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0" 
     49                                PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32;_WIN32;_WINDOWS;_DEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;TORRENT_LOGGING;TORRENT_VERBOSE_LOGGING;TORRENT_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0" 
    5050                                MinimalRebuild="true" 
    5151                                ExceptionHandling="2" 
     
    128128                                Optimization="0" 
    129129                                AdditionalIncludeDirectories=""$(SolutionDir)src";"$(SolutionDir)src\WTLx";"$(SolutionDir)lib\libtorrent\include";"$(SolutionDir)lib\libtorrent\zlib";"$(SolutionDir)lib\Asio\include";"$(SolutionDir)lib\OpenSSL\inc";"$(SolutionDir)lib\STLSoft\include"" 
    130                                 PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32;_WIN32;WIN64;_WIN64;_WINDOWS;_DEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0" 
     130                                PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32;_WIN32;WIN64;_WIN64;_WINDOWS;_DEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;TORRENT_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0" 
    131131                                MinimalRebuild="true" 
    132132                                ExceptionHandling="2" 
     
    208208                                FavorSizeOrSpeed="2" 
    209209                                AdditionalIncludeDirectories=""$(SolutionDir)src";"$(SolutionDir)src\WTLx";"$(SolutionDir)lib\libtorrent\include";"$(SolutionDir)lib\libtorrent\zlib";"$(SolutionDir)lib\Asio\include";"$(SolutionDir)lib\OpenSSL\inc";"$(SolutionDir)lib\STLSoft\include"" 
    210                                 PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32;_WIN32;_WINDOWS;NDEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0" 
     210                                PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32;_WIN32;_WINDOWS;NDEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;TORRENT_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0" 
    211211                                MinimalRebuild="true" 
    212212                                ExceptionHandling="2" 
     
    291291                                WholeProgramOptimization="false" 
    292292                                AdditionalIncludeDirectories=""$(SolutionDir)src";"$(SolutionDir)src\WTLx";"$(SolutionDir)lib\libtorrent\include";"$(SolutionDir)lib\libtorrent\zlib";"$(SolutionDir)lib\Asio\include";"$(SolutionDir)lib\OpenSSL\inc";"$(SolutionDir)lib\STLSoft\include"" 
    293                                 PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32;_WIN32;WIN64;_WIN64;_WINDOWS;NDEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0" 
     293                                PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32;_WIN32;WIN64;_WIN64;_WINDOWS;NDEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;TORRENT_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0" 
    294294                                ExceptionHandling="2" 
    295295                                RuntimeLibrary="0" 
     
    373373                                WholeProgramOptimization="false" 
    374374                                AdditionalIncludeDirectories=""$(SolutionDir)src";"$(SolutionDir)src\WTLx";"$(SolutionDir)lib\libtorrent\include";"$(SolutionDir)lib\libtorrent\zlib";"$(SolutionDir)lib\Asio\include";"$(SolutionDir)lib\OpenSSL\inc";"$(SolutionDir)lib\STLSoft\include"" 
    375                                 PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32;_WIN32;_WINDOWS;NDEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;TORRENT_LOGGING;TORRENT_VERBOSE_LOGGING;TORRENT_UPNP_LOGGING;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0" 
     375                                PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32;_WIN32;_WINDOWS;NDEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;TORRENT_LOGGING;TORRENT_VERBOSE_LOGGING;TORRENT_UPNP_LOGGING;TORRENT_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0" 
    376376                                MinimalRebuild="true" 
    377377                                ExceptionHandling="2" 
     
    457457                                WholeProgramOptimization="false" 
    458458                                AdditionalIncludeDirectories=""$(SolutionDir)src";"$(SolutionDir)src\WTLx";"$(SolutionDir)lib\libtorrent\include";"$(SolutionDir)lib\libtorrent\zlib";"$(SolutionDir)lib\Asio\include";"$(SolutionDir)lib\OpenSSL\inc";"$(SolutionDir)lib\STLSoft\include"" 
    459                                 PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32;_WIN32;WIN64;_WIN64;_WINDOWS;NDEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0" 
     459                                PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32;_WIN32;WIN64;_WIN64;_WINDOWS;NDEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;TORRENT_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0" 
    460460                                ExceptionHandling="2" 
    461461                                RuntimeLibrary="0" 
  • trunk/sln/libtorrent/libtorrent.vcproj

    r554 r570  
    4646                                Optimization="0" 
    4747                                AdditionalIncludeDirectories=""$(SolutionDir)lib\libtorrent\include";"$(SolutionDir)lib\libtorrent\zlib";"$(SolutionDir)lib\Asio\include\";"$(SolutionDir)lib\Openssl\inc"" 
    48                                 PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32;_WIN32;_WINDOWS;_DEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;TORRENT_LOGGING;TORRENT_VERBOSE_LOGGING;TORRENT_STORAGE_DEBUG;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0" 
     48                                PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32;_WIN32;_WINDOWS;_DEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;TORRENT_LOGGING;TORRENT_VERBOSE_LOGGING;TORRENT_STORAGE_DEBUG;TORRENT_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0" 
    4949                                MinimalRebuild="true" 
    5050                                ExceptionHandling="2" 
     
    111111                                Optimization="0" 
    112112                                AdditionalIncludeDirectories=""$(SolutionDir)lib\libtorrent\include";"$(SolutionDir)lib\libtorrent\zlib";"$(SolutionDir)lib\Asio\include\";"$(SolutionDir)lib\Openssl\inc"" 
    113                                 PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;_DEBUG;WIN32;_WIN32;_WINDOWS;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0" 
     113                                PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;_DEBUG;WIN32;_WIN32;_WINDOWS;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;TORRENT_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0" 
    114114                                MinimalRebuild="true" 
    115115                                ExceptionHandling="2" 
     
    242242                                FavorSizeOrSpeed="2" 
    243243                                AdditionalIncludeDirectories=""$(SolutionDir)lib\libtorrent\include";"$(SolutionDir)lib\libtorrent\zlib";"$(SolutionDir)lib\Asio\include\";"$(SolutionDir)lib\Openssl\inc"" 
    244                                 PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32;_WIN32;_WINDOWS;NDEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0" 
     244                                PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32;_WIN32;_WINDOWS;NDEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;TORRENT_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0" 
    245245                                ExceptionHandling="2" 
    246246                                RuntimeLibrary="0" 
     
    373373                                FavorSizeOrSpeed="2" 
    374374                                AdditionalIncludeDirectories=""$(SolutionDir)lib\libtorrent\include";"$(SolutionDir)lib\libtorrent\zlib";"$(SolutionDir)lib\Asio\include\";"$(SolutionDir)lib\Openssl\inc"" 
    375                                 PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32;_WIN32;_WINDOWS;NDEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0" 
     375                                PreprocessorDefinitions="WIN32_LEAN_AND_MEAN;_WIN32_WINNT=0x0500;__USE_W32_SOCKETS;WIN32;_WIN32;_WINDOWS;NDEBUG;TORRENT_USE_BOOST_DATE_TIME;TORRENT_USE_OPENSSL;TORRENT_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0" 
    376376                                ExceptionHandling="2" 
    377377                                RuntimeLibrary="0" 
  • trunk/src/halEvent.cpp

    r558 r570  
    6363        if (pimpl_) 
    6464        { 
    65         mutex_t::scoped_lock l(pimpl_->mutex_); 
    66         return pimpl_->event_signal_.connect(fn); 
     65                mutex_t::scoped_lock l(pimpl_->mutex_); 
     66                return pimpl_->event_signal_.connect(fn); 
    6767        } 
     68        else 
     69                return boost::signals::connection(); 
    6870} 
    6971 
     
    7274        if (pimpl_) 
    7375        { 
    74         mutex_t::scoped_lock l(pimpl_->mutex_); 
    75         pimpl_->event_signal_.disconnect(c); 
     76                mutex_t::scoped_lock l(pimpl_->mutex_); 
     77                pimpl_->event_signal_.disconnect(c); 
    7678        } 
    7779} 
  • trunk/src/halSession.cpp

    r569 r570  
    7373        if (fs::exists(hal::app().get_working_directory()/L"Torrents.xml")) 
    7474        { 
     75                assert(false); 
     76#if 0 
    7577                { 
    7678                fs::wifstream ifs(hal::app().get_working_directory()/L"Torrents.xml"); 
     
    8991                 
    9092                fs::rename(hal::app().get_working_directory()/L"Torrents.xml", hal::app().get_working_directory()/L"Torrents.xml.safe.to.delete"); 
     93#endif 
    9194        }                        
    9295        } 
  • trunk/src/halSession.hpp

    r569 r570  
    190190} 
    191191 
     192#define HAL_GENERIC_TORRENT_PROP_EXCEPTION_CATCH(FUNCTION) \ 
     193catch (const libt::invalid_handle&) \ 
     194{\ 
     195        event_log.post(shared_ptr<EventDetail>( \ 
     196                new EventInvalidTorrent(event_logger::critical, event_logger::invalidTorrent, name, std::string(FUNCTION)))); \ 
     197}\ 
     198catch (const invalidTorrent& t) \ 
     199{ \ 
     200        event_log.post(shared_ptr<EventDetail>( \ 
     201                new EventInvalidTorrent(event_logger::info, event_logger::invalidTorrent, t.who(), std::string(FUNCTION)))); \ 
     202} \ 
     203catch (const access_violation& e) \ 
     204{ \ 
     205        hal::event_log.post(shared_ptr<hal::EventDetail>( \ 
     206                new hal::EventMsg(hal::wform(L"Torrent property %1% access_violation (code %2$x) at %3$x. Bad address %4$x") % hal::from_utf8(FUNCTION) % e.code() % (unsigned)e.where() % (unsigned)e.badAddress(), \ 
     207                        hal::event_logger::critical))); \ 
     208} \ 
     209catch (const win32_exception& e) \ 
     210{ \ 
     211        hal::event_log.post(shared_ptr<hal::EventDetail>( \ 
     212                new hal::EventMsg(hal::wform(L"Torrent property %1% win32_exception (code %2$x) at %3$x") % hal::from_utf8(FUNCTION) % e.code() % (unsigned)e.where(), \ 
     213                        hal::event_logger::critical))); \ 
     214} \ 
     215catch (const std::exception& e) \ 
     216{ \ 
     217        event_log.post(shared_ptr<EventDetail>( \ 
     218                new EventTorrentException(event_logger::critical, event_logger::torrentException, std::string(e.what()), name, std::string(FUNCTION)))); \ 
     219} \ 
     220catch(...) \ 
     221{ \ 
     222        hal::event_log.post(shared_ptr<hal::EventDetail>( \ 
     223                new hal::EventMsg(hal::wform(L"%1% catch all") % hal::from_utf8(FUNCTION), \ 
     224                        hal::event_logger::critical))); \ 
     225} 
     226 
    192227#define HAL_GENERIC_TORRENT_EXCEPTION_CATCH(TORRENT, FUNCTION) \ 
    193228catch (const libt::invalid_handle&) \ 
     
    201236                new EventInvalidTorrent(event_logger::info, event_logger::invalidTorrent, t.who(), std::string(FUNCTION)))); \ 
    202237}\ 
     238catch (const access_violation& e) \ 
     239{ \ 
     240        hal::event_log.post(shared_ptr<hal::EventDetail>( \ 
     241                new hal::EventMsg(hal::wform(L"Generic Torrent %1% access_violation (code %2$x) at %3$x. Bad address %4$x (%5%)") % hal::from_utf8(FUNCTION) % e.code() % (unsigned)e.where() % (unsigned)e.badAddress() % TORRENT, \ 
     242                        hal::event_logger::critical))); \ 
     243} \ 
     244catch (const win32_exception& e) \ 
     245{ \ 
     246        hal::event_log.post(shared_ptr<hal::EventDetail>( \ 
     247                new hal::EventMsg(hal::wform(L"Generic Torrent %1% win32_exception (code %2$x) at %3$x (%4%)") % hal::from_utf8(FUNCTION) % e.code() % (unsigned)e.where() % TORRENT, \ 
     248                        hal::event_logger::critical))); \ 
     249} \ 
    203250catch (const std::exception& e) \ 
    204 {\ 
     251{ \ 
    205252        event_log.post(shared_ptr<EventDetail>( \ 
    206253                new EventTorrentException(event_logger::critical, event_logger::torrentException, std::string(e.what()), TORRENT, std::string(FUNCTION)))); \ 
     254} \ 
     255catch (...) \ 
     256{ \ 
     257        hal::event_log.post(shared_ptr<hal::EventDetail>( \ 
     258                new hal::EventMsg(hal::wform(L"Generic Torrent %1% catch all") % hal::from_utf8(FUNCTION), \ 
     259                        hal::event_logger::critical))); \ 
    207260} 
    208261 
     
    689742        } 
    690743 
    691         std::pair<libt::entry, libt::entry> prep_torrent(wpath filename, wpath saveDirectory) 
    692         { 
    693                 libt::entry metadata = haldecode(filename); 
    694                 libt::torrent_info info(metadata); 
     744        std::pair<boost::intrusive_ptr<libt::torrent_info>, libt::entry> prep_torrent(wpath filename, wpath saveDirectory) 
     745        { 
     746                libt::torrent_info info(path_to_utf8(filename)); 
    695747                 
    696748                wstring torrentName = hal::from_utf8_safe(info.name()); 
     
    734786                        fs::create_directory(saveDirectory); 
    735787                 
    736                 return std::make_pair(metadata, resumeData); 
     788                return std::make_pair(info, resumeData); 
    737789        } 
    738790 
     
    753805                        else 
    754806                        { 
    755                                 libt::torrent_info m_info = pIT->infoMemory(); 
     807                                //libt::torrent_info m_info = pIT->infoMemory(); 
    756808                                 
    757809/*                              // delete the files from disk 
  • trunk/src/halTorrent.cpp

    r569 r570  
    103103        pimpl(new bit_impl()) 
    104104{} 
    105  
    106 #define HAL_GENERIC_TORRENT_PROP_EXCEPTION_CATCH(FUNCTION) \ 
    107 catch (const libt::invalid_handle&) \ 
    108 {\ 
    109         event_log.post(shared_ptr<EventDetail>( \ 
    110                 new EventInvalidTorrent(event_logger::critical, event_logger::invalidTorrent, name, std::string(FUNCTION)))); \ 
    111 }\ 
    112 catch (const invalidTorrent& t) \ 
    113 { \ 
    114         event_log.post(shared_ptr<EventDetail>( \ 
    115                 new EventInvalidTorrent(event_logger::info, event_logger::invalidTorrent, t.who(), std::string(FUNCTION)))); \ 
    116 } \ 
    117 catch (const access_violation& e) \ 
    118 { \ 
    119         hal::event_log.post(shared_ptr<hal::EventDetail>( \ 
    120                 new hal::EventMsg(hal::wform(L"Torrent property %1% access_violation (code %2$x) at %3$x. Bad address %4$x") % hal::from_utf8(FUNCTION) % e.code() % (unsigned)e.where() % (unsigned)e.badAddress(), \ 
    121                         hal::event_logger::critical))); \ 
    122 } \ 
    123 catch (const win32_exception& e) \ 
    124 { \ 
    125         hal::event_log.post(shared_ptr<hal::EventDetail>( \ 
    126                 new hal::EventMsg(hal::wform(L"Torrent property %1% win32_exception (code %2$x) at %3$x") % hal::from_utf8(FUNCTION) % e.code() % (unsigned)e.where(), \ 
    127                         hal::event_logger::critical))); \ 
    128 } \ 
    129 catch (const std::exception& e) \ 
    130 { \ 
    131         event_log.post(shared_ptr<EventDetail>( \ 
    132                 new EventTorrentException(event_logger::critical, event_logger::torrentException, std::string(e.what()), name, std::string(FUNCTION)))); \ 
    133 } \ 
    134 catch(...) \ 
    135 { \ 
    136         hal::event_log.post(shared_ptr<hal::EventDetail>( \ 
    137                 new hal::EventMsg(hal::wform(L"%1% catch all") % hal::from_utf8(FUNCTION), \ 
    138                         hal::event_logger::critical))); \ 
    139 } 
    140  
    141 #define HAL_GENERIC_TORRENT_EXCEPTION_CATCH(TORRENT, FUNCTION) \ 
    142 catch (const libt::invalid_handle&) \ 
    143 {\ 
    144         event_log.post(shared_ptr<EventDetail>( \ 
    145                 new EventInvalidTorrent(event_logger::critical, event_logger::invalidTorrent, TORRENT, std::string(FUNCTION)))); \ 
    146 }\ 
    147 catch (const invalidTorrent& t) \ 
    148 {\ 
    149         event_log.post(shared_ptr<EventDetail>( \ 
    150                 new EventInvalidTorrent(event_logger::info, event_logger::invalidTorrent, t.who(), std::string(FUNCTION)))); \ 
    151 }\ 
    152 catch (const access_violation& e) \ 
    153 { \ 
    154         hal::event_log.post(shared_ptr<hal::EventDetail>( \ 
    155                 new hal::EventMsg(hal::wform(L"Generic Torrent %1% access_violation (code %2$x) at %3$x. Bad address %4$x (%5%)") % hal::from_utf8(FUNCTION) % e.code() % (unsigned)e.where() % (unsigned)e.badAddress() % TORRENT, \ 
    156                         hal::event_logger::critical))); \ 
    157 } \ 
    158 catch (const win32_exception& e) \ 
    159 { \ 
    160         hal::event_log.post(shared_ptr<hal::EventDetail>( \ 
    161                 new hal::EventMsg(hal::wform(L"Generic Torrent %1% win32_exception (code %2$x) at %3$x (%4%)") % hal::from_utf8(FUNCTION) % e.code() % (unsigned)e.where() % TORRENT, \ 
    162                         hal::event_logger::critical))); \ 
    163 } \ 
    164 catch (const std::exception& e) \ 
    165 { \ 
    166         event_log.post(shared_ptr<EventDetail>( \ 
    167                 new EventTorrentException(event_logger::critical, event_logger::torrentException, std::string(e.what()), TORRENT, std::string(FUNCTION)))); \ 
    168 } \ 
    169 catch (...) \ 
    170 { \ 
    171         hal::event_log.post(shared_ptr<hal::EventDetail>( \ 
    172                 new hal::EventMsg(hal::wform(L"Generic Torrent %1% catch all") % hal::from_utf8(FUNCTION), \ 
    173                         hal::event_logger::critical))); \ 
    174 } 
    175105 
    176106void bit::shutDownSession() 
  • trunk/src/halTorrent.hpp

    r552 r570  
    265265struct FileDetail 
    266266{ 
    267         FileDetail(boost::filesystem::wpath p, boost::int64_t s=0, float pg=0, int pr=1, size_t o=0, unsigned t=FileDetail::file) : 
     267        FileDetail(boost::filesystem::wpath p, boost::int64_t s=0, boost::int64_t pg=0, int pr=1, size_t o=0, unsigned t=FileDetail::file) : 
    268268                branch(p.parent_path()), 
    269269                filename(p.filename()), 
     
    297297        unsigned type; 
    298298        boost::int64_t size; 
    299         float progress; 
     299        boost::int64_t progress; 
    300300        int priority; 
    301301         
  • trunk/src/halTorrentInternal.hpp

    r564 r570  
    160160        if (fs::exists(file))  
    161161        {        
    162                 libt::torrent_info info(haldecode(file)); 
     162                libt::torrent_info info(path_to_utf8(file)); 
    163163 
    164164                std::string name = info.name();  
     
    286286}; 
    287287         
     288#if 0 
    288289class TorrentInternalOld 
    289290{ 
     
    363364    } 
    364365         
    365         void extractNames(libt::entry& metadata) 
    366         {                
    367                 libt::torrent_info info(metadata);                               
    368                 name_ = hal::from_utf8_safe(info.name()); 
     366        void extractNames(boost::intrusive_ptr<libt::torrent_info> metadata) 
     367        {                                        
     368                name_ = hal::from_utf8_safe(metadata->name()); 
    369369                 
    370370                filename_ = name_; 
     
    450450        bool compactStorage_; 
    451451}; 
    452  
     452#endif 
    453453 
    454454struct signalers 
     
    457457        boost::signal<void ()> torrent_paused; 
    458458}; 
    459  
    460459 
    461460class torrent_internal; 
     
    528527                prepare(filename); 
    529528        } 
    530          
     529#if 0    
    531530        torrent_internal(const TorrentInternalOld& t) : 
    532531                transferLimit_(t.transferLimit_), 
     
    564563                compactStorage_(t.compactStorage_) 
    565564        {} 
    566          
     565#endif 
     566 
    567567        #undef TORRENT_INTERNALS_DEFAULTS 
    568568         
     
    749749                                storage = libt::storage_mode_compact; 
    750750                         
    751                         handle_ = the_session_->add_torrent(metadata_, dir, resumedata_, storage, paused);                       
     751                        libt::add_torrent_params atp; 
     752 
     753                        atp.save_path = dir; 
     754                        atp.ti = info_memory(); 
     755                        atp.storage_mode = storage; 
     756                        atp.paused = paused; 
     757 
     758                        handle_ = the_session_->add_torrent(atp);                        
    752759                        assert(handle_.is_valid()); 
    753760                         
     
    788795                { 
    789796                        HAL_DEV_MSG(L"getting resume data"); 
    790                         resumedata_ = handle_.write_resume_data(); // Update the fast-resume data 
     797//                      resumedata_ = handle_.save(); // Update the fast-resume data 
    791798                        HAL_DEV_MSG(L"writing resume data"); 
    792799                        write_resume_data(); 
     
    10551062        const std::vector<tracker_detail>& getTrackers() 
    10561063        { 
    1057                 if (trackers_.empty() && infoMemory_) 
    1058                 { 
    1059                         std::vector<libt::announce_entry> trackers = infoMemory_->trackers(); 
     1064                if (trackers_.empty() && info_memory_) 
     1065                { 
     1066                        std::vector<libt::announce_entry> trackers = info_memory_->trackers(); 
    10601067                         
    10611068                        foreach (const libt::announce_entry& entry, trackers) 
     
    11671174    } 
    11681175 
    1169         void setEntryData(libtorrent::entry metadata, libtorrent::entry resumedata) 
     1176        void setEntryData(boost::intrusive_ptr<libt::torrent_info> metadata, libtorrent::entry resumedata) 
    11701177        {                
    1171                 metadata_ = metadata; 
     1178                info_memory_ = metadata; 
    11721179                resumedata_ = resumedata; 
    11731180        } 
     
    12231230                if (fileDetailsMemory_.empty()) 
    12241231                { 
    1225                         libt::torrent_info& info = infoMemory(); 
     1232                        boost::intrusive_ptr<libt::torrent_info> info = info_memory(); 
    12261233                        std::vector<libt::file_entry> files; 
    12271234                         
    1228                         std::copy(info.begin_files(), info.end_files(),  
     1235                        std::copy(info->begin_files(), info->end_files(),  
    12291236                                std::back_inserter(files));                                      
    12301237                                 
     
    12461253                if (in_session()) 
    12471254                {                        
    1248                         std::vector<float> fileProgress;                         
     1255                        std::vector<libt::size_type> fileProgress;                       
    12491256                        handle_.file_progress(fileProgress); 
    12501257                         
     
    12641271                 
    12651272                if (fs::exists(filename))  
    1266                         metadata_ = haldecode(filename); 
    1267                  
    1268                 extractNames(metadata_);                         
     1273                        info_memory_ = new libt::torrent_info(path_to_utf8(filename)); 
     1274                 
     1275                extractNames(info_memory());                     
    12691276                 
    12701277                const wpath resumeFile = workingDir_/L"resume"/filename_; 
     
    12741281                        hal::wform(L"File: %1%, %2%.") % resumeFile % torrentFile))); 
    12751282                 
    1276                 if (exists(resumeFile))  
    1277                         resumedata_ = haldecode(resumeFile); 
     1283        //      if (exists(resumeFile))  
     1284        //              resumedata_ = haldecode(resumeFile); 
    12781285 
    12791286                if (!exists(workingDir_/L"torrents")) 
     
    12921299        } 
    12931300         
    1294         void extractNames(libt::entry& metadata) 
    1295         { 
    1296                 mutex_t::scoped_lock l(mutex_); 
    1297                  
    1298                 libt::torrent_info info(metadata);                               
    1299                 name_ = hal::from_utf8_safe(info.name()); 
     1301        void extractNames(boost::intrusive_ptr<libt::torrent_info> metadata) 
     1302        { 
     1303                mutex_t::scoped_lock l(mutex_); 
     1304                                 
     1305                name_ = hal::from_utf8_safe(metadata->name()); 
    13001306                 
    13011307                filename_ = name_; 
     
    13071313        } 
    13081314         
    1309         libt::torrent_info& infoMemory() 
    1310         { 
    1311                 if (!infoMemory_) infoMemory_ = libt::torrent_info(metadata_); 
    1312                  
    1313                 return *infoMemory_; 
     1315        boost::intrusive_ptr<libt::torrent_info> info_memory() 
     1316        { 
     1317                if (!info_memory_)  
     1318                        info_memory_ =  
     1319                                boost::intrusive_ptr<libt::torrent_info>(new libt::torrent_info(path_to_utf8(filename()))); 
     1320                 
     1321                return info_memory_; 
    13141322        } 
    13151323         
     
    15011509        libt::torrent_handle handle_;    
    15021510         
    1503         libt::entry metadata_; 
     1511//      boost::intrusive_ptr<libt::torrent_info> metadata_; 
    15041512        libt::entry resumedata_; 
    15051513         
     
    15271535        float progress_; 
    15281536         
    1529         boost::optional<libt::torrent_info> infoMemory_; 
     1537        boost::intrusive_ptr<libt::torrent_info> info_memory_; 
    15301538        libt::torrent_status statusMemory_; 
    15311539        FileDetails fileDetailsMemory_; 
     
    16071615                iniClass("bittorrent", "TorrentManager", ini) 
    16081616        {} 
    1609          
     1617#if 0    
    16101618        TorrentManager& operator=(const TorrentMap& map) 
    16111619        { 
     
    16241632                return *this; 
    16251633        } 
    1626          
     1634#endif   
    16271635        std::pair<torrentByName::iterator, bool> insert(const TorrentHolder& h) 
    16281636        { 
Note: See TracChangeset for help on using the changeset viewer.