| 64 | | // The functions below should be reduced to just one. |
| 65 | | void |
| 66 | | CommandMap::insert_generic(key_type key, Command* variable, generic_slot targetSlot, int flags, const char* parm, const char* doc) { |
| 67 | | iterator itr = insert(key, variable, flags, parm, doc); |
| 68 | | |
| 69 | | itr->second.m_target = target_generic; |
| 70 | | itr->second.m_genericSlot = targetSlot; |
| 71 | | } |
| 72 | | |
| 73 | | void |
| 74 | | CommandMap::insert_any(key_type key, Command* variable, any_slot targetSlot, int flags, const char* parm, const char* doc) { |
| 75 | | iterator itr = insert(key, variable, flags, parm, doc); |
| 76 | | |
| 77 | | itr->second.m_target = target_any; |
| 78 | | itr->second.m_anySlot = targetSlot; |
| 79 | | } |
| 80 | | |
| 81 | | void |
| 82 | | CommandMap::insert_download(key_type key, Command* variable, download_slot targetSlot, int flags, const char* parm, const char* doc) { |
| 83 | | iterator itr = insert(key, variable, flags, parm, doc); |
| 84 | | |
| 85 | | itr->second.m_target = target_download; |
| 86 | | itr->second.m_downloadSlot = targetSlot; |
| 87 | | } |
| 88 | | |
| 89 | | void |
| 90 | | CommandMap::insert_peer(key_type key, Command* variable, peer_slot targetSlot, int flags, const char* parm, const char* doc) { |
| 91 | | iterator itr = insert(key, variable, flags, parm, doc); |
| 92 | | |
| 93 | | itr->second.m_target = target_peer; |
| 94 | | itr->second.m_peerSlot = targetSlot; |
| 95 | | } |
| 96 | | |
| 97 | | void |
| 98 | | CommandMap::insert_tracker(key_type key, Command* variable, tracker_slot targetSlot, int flags, const char* parm, const char* doc) { |
| 99 | | iterator itr = insert(key, variable, flags, parm, doc); |
| 100 | | |
| 101 | | itr->second.m_target = target_tracker; |
| 102 | | itr->second.m_trackerSlot = targetSlot; |
| 103 | | } |
| 104 | | |
| 105 | | void |
| 106 | | CommandMap::insert_file(key_type key, Command* variable, file_slot targetSlot, int flags, const char* parm, const char* doc) { |
| 107 | | iterator itr = insert(key, variable, flags, parm, doc); |
| 108 | | |
| 109 | | itr->second.m_target = target_file; |
| 110 | | itr->second.m_fileSlot = targetSlot; |
| 111 | | } |
| 112 | | |
| 113 | | void |
| 114 | | CommandMap::insert_file_itr(key_type key, Command* variable, file_itr_slot targetSlot, int flags, const char* parm, const char* doc) { |
| 115 | | iterator itr = insert(key, variable, flags, parm, doc); |
| 116 | | |
| 117 | | itr->second.m_target = target_file_itr; |
| 118 | | itr->second.m_fileItrSlot = targetSlot; |
| 119 | | } |
| 120 | | |
| 134 | | case target_generic: itr->second.m_genericSlot = src.m_genericSlot; break; |
| 135 | | case target_any: itr->second.m_anySlot = src.m_anySlot; break; |
| 136 | | case target_download: itr->second.m_downloadSlot = src.m_downloadSlot; break; |
| 137 | | case target_file: itr->second.m_fileSlot = src.m_fileSlot; break; |
| 138 | | case target_file_itr: itr->second.m_fileItrSlot = src.m_fileItrSlot; break; |
| 139 | | case target_peer: itr->second.m_peerSlot = src.m_peerSlot; break; |
| 140 | | case target_tracker: itr->second.m_trackerSlot = src.m_trackerSlot; break; |
| | 77 | case Command::target_generic: itr->second.m_genericSlot = src.m_genericSlot; break; |
| | 78 | case Command::target_any: itr->second.m_anySlot = src.m_anySlot; break; |
| | 79 | case Command::target_download: itr->second.m_downloadSlot = src.m_downloadSlot; break; |
| | 80 | case Command::target_file: itr->second.m_fileSlot = src.m_fileSlot; break; |
| | 81 | case Command::target_file_itr: itr->second.m_fileItrSlot = src.m_fileItrSlot; break; |
| | 82 | case Command::target_peer: itr->second.m_peerSlot = src.m_peerSlot; break; |
| | 83 | case Command::target_tracker: itr->second.m_trackerSlot = src.m_trackerSlot; break; |
| 172 | | case target_generic: return itr->second.m_genericSlot (itr->second.m_variable, arg); |
| 173 | | case target_any: return itr->second.m_anySlot (itr->second.m_variable, target, arg); |
| 174 | | case target_download: return itr->second.m_downloadSlot(itr->second.m_variable, (core::Download*)target.second, arg); |
| 175 | | case target_peer: return itr->second.m_peerSlot (itr->second.m_variable, (torrent::Peer*)target.second, arg); |
| 176 | | case target_tracker: return itr->second.m_trackerSlot (itr->second.m_variable, (torrent::Tracker*)target.second, arg); |
| 177 | | case target_file: return itr->second.m_fileSlot (itr->second.m_variable, (torrent::File*)target.second, arg); |
| 178 | | case target_file_itr: return itr->second.m_fileItrSlot (itr->second.m_variable, (torrent::FileListIterator*)target.second, arg); |
| | 115 | case Command::target_generic: return itr->second.m_genericSlot (itr->second.m_variable, arg); |
| | 116 | case Command::target_any: return itr->second.m_anySlot (itr->second.m_variable, target, arg); |
| | 117 | case Command::target_download: return itr->second.m_downloadSlot(itr->second.m_variable, (core::Download*)target.second, arg); |
| | 118 | case Command::target_peer: return itr->second.m_peerSlot (itr->second.m_variable, (torrent::Peer*)target.second, arg); |
| | 119 | case Command::target_tracker: return itr->second.m_trackerSlot (itr->second.m_variable, (torrent::Tracker*)target.second, arg); |
| | 120 | case Command::target_file: return itr->second.m_fileSlot (itr->second.m_variable, (torrent::File*)target.second, arg); |
| | 121 | case Command::target_file_itr: return itr->second.m_fileItrSlot (itr->second.m_variable, (torrent::FileListIterator*)target.second, arg); |
| 199 | | case target_generic: return itr->second.m_genericSlot (itr->second.m_variable, arg); |
| 200 | | case target_any: return itr->second.m_anySlot (itr->second.m_variable, target, arg); |
| 201 | | case target_download: return itr->second.m_downloadSlot(itr->second.m_variable, (core::Download*)target.second, arg); |
| 202 | | case target_peer: return itr->second.m_peerSlot (itr->second.m_variable, (torrent::Peer*)target.second, arg); |
| 203 | | case target_tracker: return itr->second.m_trackerSlot (itr->second.m_variable, (torrent::Tracker*)target.second, arg); |
| 204 | | case target_file: return itr->second.m_fileSlot (itr->second.m_variable, (torrent::File*)target.second, arg); |
| 205 | | case target_file_itr: return itr->second.m_fileItrSlot (itr->second.m_variable, (torrent::FileListIterator*)target.second, arg); |
| | 142 | case Command::target_generic: return itr->second.m_genericSlot (itr->second.m_variable, arg); |
| | 143 | case Command::target_any: return itr->second.m_anySlot (itr->second.m_variable, target, arg); |
| | 144 | case Command::target_download: return itr->second.m_downloadSlot(itr->second.m_variable, (core::Download*)target.second, arg); |
| | 145 | case Command::target_peer: return itr->second.m_peerSlot (itr->second.m_variable, (torrent::Peer*)target.second, arg); |
| | 146 | case Command::target_tracker: return itr->second.m_trackerSlot (itr->second.m_variable, (torrent::Tracker*)target.second, arg); |
| | 147 | case Command::target_file: return itr->second.m_fileSlot (itr->second.m_variable, (torrent::File*)target.second, arg); |
| | 148 | case Command::target_file_itr: return itr->second.m_fileItrSlot (itr->second.m_variable, (torrent::FileListIterator*)target.second, arg); |