Changeset 45117 in vbox for trunk/include
- Timestamp:
- Mar 21, 2013 8:16:22 AM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 84411
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/settings.h
r44948 r45117 155 155 156 156 /** 157 * 158 */ 159 struct NATRule 160 { 161 NATRule() 162 : proto(NATProtocol_TCP), 163 u16HostPort(0), 164 u16GuestPort(0) 165 {} 166 167 bool operator==(const NATRule &r) const 168 { 169 return strName == r.strName 170 && proto == r.proto 171 && u16HostPort == r.u16HostPort 172 && strHostIP == r.strHostIP 173 && u16GuestPort == r.u16GuestPort 174 && strGuestIP == r.strGuestIP; 175 } 176 177 com::Utf8Str strName; 178 NATProtocol_T proto; 179 uint16_t u16HostPort; 180 com::Utf8Str strHostIP; 181 uint16_t u16GuestPort; 182 com::Utf8Str strGuestIP; 183 }; 184 typedef std::list<NATRule> NATRuleList; 185 186 /** 157 187 * Common base class for both MainConfigFile and MachineConfigFile 158 188 * which contains some common logic for both. … … 187 217 void readMedium(MediaType t, const xml::ElementNode &elmMedium, MediaList &llMedia); 188 218 void readMediaRegistry(const xml::ElementNode &elmMediaRegistry, MediaRegistry &mr); 219 void readNATForwardRuleList(const xml::ElementNode &elmParent, NATRuleList &llRules); 189 220 190 221 void setVersionAttribute(xml::ElementNode &elm); … … 201 232 void buildMediaRegistry(xml::ElementNode &elmParent, 202 233 const MediaRegistry &mr); 234 void buildNATForwardRuleList(xml::ElementNode &elmParent, const NATRuleList &natRuleList); 203 235 void clearDocument(); 204 236 … … 260 292 typedef std::list<DHCPServer> DHCPServersList; 261 293 294 295 /** 296 * Nat Networking settings (NAT service). 297 */ 298 struct NATNetwork 299 { 300 com::Utf8Str strNetworkName; 301 bool fEnabled; 302 com::Utf8Str strNetwork; 303 bool fIPv6; 304 com::Utf8Str strIPv6Prefix; 305 bool fAdvertiseDefaultIPv6Route; 306 bool fNeedDhcpServer; 307 NATRuleList llPortForwardRules4; 308 NATRuleList llPortForwardRules6; 309 NATNetwork():fEnabled(false), 310 fAdvertiseDefaultIPv6Route(false), 311 fNeedDhcpServer(false) 312 {} 313 bool operator==(const NATNetwork &n) const 314 { 315 return strNetworkName == n.strNetworkName 316 && strNetwork == n.strNetwork; 317 } 318 319 }; 320 typedef std::list<NATNetwork> NATNetworksList; 321 262 322 class MainConfigFile : public ConfigFileBase 263 323 { … … 267 327 void readMachineRegistry(const xml::ElementNode &elmMachineRegistry); 268 328 void readDHCPServers(const xml::ElementNode &elmDHCPServers); 329 void readNATNetworks(const xml::ElementNode &elmNATNetworks); 269 330 270 331 void write(const com::Utf8Str strFilename); … … 275 336 MachinesRegistry llMachines; 276 337 DHCPServersList llDhcpServers; 338 NATNetworksList llNATNetworks; 277 339 StringsMap mapExtraDataItems; 278 340 }; … … 360 422 USBDeviceFiltersList llDeviceFilters; 361 423 }; 362 363 struct NATRule364 {365 NATRule()366 : proto(NATProtocol_TCP),367 u16HostPort(0),368 u16GuestPort(0)369 {}370 371 bool operator==(const NATRule &r) const372 {373 return strName == r.strName374 && proto == r.proto375 && u16HostPort == r.u16HostPort376 && strHostIP == r.strHostIP377 && u16GuestPort == r.u16GuestPort378 && strGuestIP == r.strGuestIP;379 }380 381 com::Utf8Str strName;382 NATProtocol_T proto;383 uint16_t u16HostPort;384 com::Utf8Str strHostIP;385 uint16_t u16GuestPort;386 com::Utf8Str strGuestIP;387 };388 typedef std::list<NATRule> NATRuleList;389 424 390 425 struct NAT … … 443 478 NATRuleList llRules; 444 479 }; 480 445 481 /** 446 482 * NOTE: If you add any fields in here, you must update a) the constructor and b)
Note:
See TracChangeset
for help on using the changeset viewer.