Changeset 512


Ignore:
Timestamp:
07/21/08 06:00:50 (11 years ago)
Author:
Eoin
Message:

Updated torrent creation to be compatible with trunk.

Location:
trunk
Files:
1 deleted
6 edited

Legend:

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

    r511 r512  
    568568                        </File> 
    569569                        <File 
    570                                 RelativePath="..\..\src\NewTorrentTrackerLV.cpp" 
     570                                RelativePath="..\..\src\NewTorrentTracker.cpp" 
    571571                                > 
    572572                        </File> 
     
    10261026                        </File> 
    10271027                        <File 
    1028                                 RelativePath="..\..\src\NewTorrentTrackerAD.hpp" 
     1028                                RelativePath="..\..\src\NewTorrentTracker.hpp" 
    10291029                                > 
    10301030                        </File> 
  • trunk/src/NewTorrentDialog.hpp

    r509 r512  
    4444 
    4545#include "HaliteSortListViewCtrl.hpp" 
    46 #include "NewTorrentTrackerLV.hpp" 
     46#include "NewTorrentTracker.hpp" 
    4747#include "NewTorrentPeers.hpp" 
    4848 
  • trunk/src/NewTorrentTracker.cpp

    r511 r512  
    88 
    99#include "halTorrent.hpp" 
    10  
    11 #include "NewTorrentTrackerLV.hpp" 
    12 #include "NewTorrentTrackerAD.hpp" 
     10#include "NewTorrentTracker.hpp" 
    1311 
    1412void NewTorrent_TrackerListViewCtrl::OnAttach() 
  • trunk/src/NewTorrentTracker.hpp

    r511 r512  
    77#pragma once 
    88 
     9#define ID_NTTLVM_BEGIN                         18000 
     10#define ID_NTTLVM_NEW                           ID_NTTLVM_BEGIN + 1 
     11#define ID_NTTLVM_EDIT                          ID_NTTLVM_BEGIN + 2 
     12#define ID_NTTLVM_DELETE                        ID_NTTLVM_BEGIN + 3 
     13#define HAL_NEWT_EDIT_TRACKER           ID_NTTLVM_BEGIN + 4 
     14#define HAL_NEWT_ADD_NEW_TRACKER        ID_NTTLVM_BEGIN + 5 
     15 
    916#define HAL_TRACKER_ADD_BEGIN           15500 
    1017#define IDC_TRACKER_EDIT_URL        HAL_TRACKER_ADD_BEGIN + 1 
     
    1320#define IDC_TRACKER_TEXT_TIER       HAL_TRACKER_ADD_BEGIN + 4 
    1421 
     22#include <boost/signals.hpp> 
     23#include <boost/function.hpp> 
     24 
     25#include "stdAfx.hpp" 
     26#include "global/string_conv.hpp" 
     27#include "halIni.hpp" 
     28#include "HaliteSortListViewCtrl.hpp" 
     29 
     30#include "GenericAddListView.hpp" 
    1531#include "GenericAddDialog.hpp" 
    1632 
     
    5571        hal::tracker_detail& tracker_; 
    5672}; 
     73 
     74class NewTorrent_TrackerListViewCtrl : 
     75        public CHaliteSortListViewCtrl<NewTorrent_TrackerListViewCtrl>, 
     76        public hal::IniBase<NewTorrent_TrackerListViewCtrl>, 
     77        public WTLx::GenericAddListView<NewTorrent_TrackerListViewCtrl, true, ID_NTTLVM_NEW, ID_NTTLVM_EDIT, ID_NTTLVM_DELETE>, 
     78        private boost::noncopyable 
     79{ 
     80        typedef NewTorrent_TrackerListViewCtrl thisClass; 
     81        typedef hal::IniBase<thisClass> iniClass; 
     82        typedef CHaliteSortListViewCtrl<thisClass> listClass; 
     83        typedef WTLx::GenericAddListView<thisClass, true, ID_NTTLVM_NEW, ID_NTTLVM_EDIT, ID_NTTLVM_DELETE> genericAddlistClass; 
     84 
     85        friend class listClass; 
     86         
     87public: 
     88        enum {  
     89                LISTVIEW_ID_MENU = HAL_GENERIC_ADD_LV_MENU, 
     90                LISTVIEW_ID_COLUMNNAMES = HAL_TRACKER_LISTVIEW_COLUMNS, 
     91                LISTVIEW_ID_COLUMNWIDTHS = HAL_TRACKER_LISTVIEW_DEFAULTS 
     92        }; 
     93         
     94        NewTorrent_TrackerListViewCtrl() : 
     95                iniClass("listviews/NewTorrent", "NewTorrentListView") 
     96        {} 
     97 
     98        BEGIN_MSG_MAP_EX(TrackerListViewCtrl) 
     99                MSG_WM_DESTROY(OnDestroy) 
     100 
     101                CHAIN_MSG_MAP(genericAddlistClass) 
     102                CHAIN_MSG_MAP(listClass) 
     103                DEFAULT_REFLECTION_HANDLER() 
     104        END_MSG_MAP() 
     105 
     106        void uiUpdate(const hal::torrent_details_ptr pT); 
     107        void saveSettings(); 
     108 
     109    friend class boost::serialization::access; 
     110    template<class Archive> 
     111    void serialize(Archive& ar, const unsigned int version) 
     112    { 
     113                ar & boost::serialization::make_nvp("listview", boost::serialization::base_object<listClass>(*this)); 
     114    } 
     115 
     116        void newItem(); 
     117        void editItem(int); 
     118        void deleteItem(int); 
     119 
     120private: 
     121        void OnAttach(); 
     122        void OnDestroy(); 
     123}; 
     124 
     125typedef NewTorrent_TrackerListViewCtrl::SelectionManager NewTorrent_TrackerListViewManager; 
  • trunk/src/NewTorrentTrackerLV.hpp

    r508 r512  
    55//          http://www.boost.org/LICENSE_1_0.txt) 
    66 
    7 #define ID_NTTLVM_BEGIN                         18000 
    8 #define ID_NTTLVM_NEW                           ID_NTTLVM_BEGIN + 1 
    9 #define ID_NTTLVM_EDIT                          ID_NTTLVM_BEGIN + 2 
    10 #define ID_NTTLVM_DELETE                        ID_NTTLVM_BEGIN + 3 
    11 #define HAL_NEWT_EDIT_TRACKER           ID_NTTLVM_BEGIN + 4 
    12 #define HAL_NEWT_ADD_NEW_TRACKER        ID_NTTLVM_BEGIN + 5 
    13  
    147#ifndef RC_INVOKED 
    158 
    16 #include <boost/signals.hpp> 
    17 #include <boost/function.hpp> 
    189 
    19 #include "stdAfx.hpp" 
    20 #include "global/string_conv.hpp" 
    21 #include "halIni.hpp" 
    22 #include "HaliteSortListViewCtrl.hpp" 
    23  
    24 #include "GenericAddListView.hpp" 
    25  
    26 class NewTorrent_TrackerListViewCtrl : 
    27         public CHaliteSortListViewCtrl<NewTorrent_TrackerListViewCtrl>, 
    28         public hal::IniBase<NewTorrent_TrackerListViewCtrl>, 
    29         public WTLx::GenericAddListView<NewTorrent_TrackerListViewCtrl, true, ID_NTTLVM_NEW, ID_NTTLVM_EDIT, ID_NTTLVM_DELETE>, 
    30         private boost::noncopyable 
    31 { 
    32         typedef NewTorrent_TrackerListViewCtrl thisClass; 
    33         typedef hal::IniBase<thisClass> iniClass; 
    34         typedef CHaliteSortListViewCtrl<thisClass> listClass; 
    35         typedef WTLx::GenericAddListView<thisClass, true, ID_NTTLVM_NEW, ID_NTTLVM_EDIT, ID_NTTLVM_DELETE> genericAddlistClass; 
    36  
    37         friend class listClass; 
    38          
    39 public: 
    40         enum {  
    41                 LISTVIEW_ID_MENU = HAL_GENERIC_ADD_LV_MENU, 
    42                 LISTVIEW_ID_COLUMNNAMES = HAL_TRACKER_LISTVIEW_COLUMNS, 
    43                 LISTVIEW_ID_COLUMNWIDTHS = HAL_TRACKER_LISTVIEW_DEFAULTS 
    44         }; 
    45          
    46         NewTorrent_TrackerListViewCtrl() : 
    47                 iniClass("listviews/NewTorrent", "NewTorrentListView") 
    48         {} 
    49  
    50         BEGIN_MSG_MAP_EX(TrackerListViewCtrl) 
    51                 MSG_WM_DESTROY(OnDestroy) 
    52  
    53                 CHAIN_MSG_MAP(genericAddlistClass) 
    54                 CHAIN_MSG_MAP(listClass) 
    55                 DEFAULT_REFLECTION_HANDLER() 
    56         END_MSG_MAP() 
    57  
    58         void uiUpdate(const hal::torrent_details_ptr pT); 
    59         void saveSettings(); 
    60  
    61     friend class boost::serialization::access; 
    62     template<class Archive> 
    63     void serialize(Archive& ar, const unsigned int version) 
    64     { 
    65                 ar & boost::serialization::make_nvp("listview", boost::serialization::base_object<listClass>(*this)); 
    66     } 
    67  
    68         void newItem(); 
    69         void editItem(int); 
    70         void deleteItem(int); 
    71  
    72 private: 
    73         void OnAttach(); 
    74         void OnDestroy(); 
    75 }; 
    76  
    77 typedef NewTorrent_TrackerListViewCtrl::SelectionManager NewTorrent_TrackerListViewManager; 
    7810 
    7911#endif // RC_INVOKED 
  • trunk/src/halSession.cpp

    r508 r512  
    1717#include <libtorrent/ip_filter.hpp> 
    1818#include <libtorrent/torrent_handle.hpp> 
     19#include <libtorrent/create_torrent.hpp> 
    1920 
    2021#include "global/wtl_app.hpp" 
     
    286287        libt::file_pool f_pool; 
    287288 
    288  
    289289        HAL_DEV_MSG(L"Files"); 
    290290        for (file_size_pairs_t::const_iterator i = params.file_size_pairs.begin(), e = params.file_size_pairs.end(); 
     
    292292        { 
    293293                HAL_DEV_MSG(wformat(L"file path: %1%, size: %2%") % (*i).first % (*i).second); 
    294                 f_pool->add_file(to_utf8((*i).first.string()), (*i).second); 
     294                fs.add_file(to_utf8((*i).first.string()), (*i).second); 
    295295        } 
    296296 
     
    300300        libt::create_torrent t(fs, piece_size); 
    301301         
    302         boost::scoped_ptr<libt::storage_interface> store( 
     302/*      boost::scoped_ptr<libt::storage_interface> store( 
    303303                libt::default_storage_constructor(t_info, to_utf8(params.root_path.string()), 
    304304                        f_pool)); 
    305  
     305*/ 
    306306        HAL_DEV_MSG(L"Trackers"); 
    307307        for (tracker_details_t::const_iterator i = params.trackers.begin(), e = params.trackers.end(); 
     
    309309        { 
    310310                HAL_DEV_MSG(wformat(L"URL: %1%, Tier: %2%") % (*i).url % (*i).tier); 
    311                 t_info->add_tracker(to_utf8((*i).url), (*i).tier); 
     311                t.add_tracker(to_utf8((*i).url), (*i).tier); 
    312312        } 
    313313 
     
    317317        { 
    318318                HAL_DEV_MSG(wformat(L"URL: %1%") % (*i).url); 
    319                 t_info->add_url_seed(to_utf8((*i).url)); 
     319                t.add_url_seed(to_utf8((*i).url)); 
    320320        } 
    321321 
     
    325325        { 
    326326                HAL_DEV_MSG(wformat(L"URL: %1%, port: %2%") % (*i).url % (*i).port); 
    327                 t_info->add_node(hal::make_pair(to_utf8((*i).url), (*i).port)); 
    328         } 
     327                t.add_node(hal::make_pair(to_utf8((*i).url), (*i).port)); 
     328        } 
     329 
     330        boost::scoped_ptr<libt::storage_interface> store( 
     331                default_storage_constructor(const_cast<libt::file_storage&>(t.files()), to_utf8(params.root_path.string()), 
     332                        f_pool)); 
    329333 
    330334        // calculate the hash for all pieces 
    331         int num = t_info->num_pieces(); 
    332         std::vector<char> piece_buf(piece_size); 
     335        int num = t.num_pieces(); 
     336        std::vector<char> piece_buf(t.piece_length()); 
    333337 
    334338        for (int i = 0; i < num; ++i) 
    335339        { 
    336                 store->read(&piece_buf[0], i, 0, t_info->piece_size(i)); 
    337  
    338                 libt::hasher h(&piece_buf[0], t_info->piece_size(i)); 
    339                 t_info->set_hash(i, h.final()); 
     340                store->read(&piece_buf[0], i, 0, t.piece_size(i)); 
     341 
     342                libt::hasher h(&piece_buf[0], t.piece_size(i)); 
     343                t.set_hash(i, h.final()); 
    340344 
    341345                if (fn(100*i / num, hal::app().res_wstr(HAL_NEWT_HASHING_PIECES))) 
     
    350354        } 
    351355 
    352         t_info->set_creator(to_utf8(params.creator).c_str()); 
    353         t_info->set_comment(to_utf8(params.comment).c_str()); 
    354          
    355         t_info->set_priv(params.private_torrent); 
     356        t.set_creator(to_utf8(params.creator).c_str()); 
     357        t.set_comment(to_utf8(params.comment).c_str()); 
     358         
     359        //t.set_priv(params.private_torrent); 
    356360 
    357361        // create the torrent and print it to out 
    358         libt::entry e = t_info->create_torrent(); 
     362        libt::entry e = t.generate(); 
    359363        halencode(out_file, e); 
     364 
    360365        } 
    361366        catch(const std::exception& e) 
Note: See TracChangeset for help on using the changeset viewer.