NATNetworkImpl.h revision c33cfc3b3717e118f6e786433bd3725c33f2b8f8
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * VirtualBox COM class implementation
625c607af2ec5549c016c35f80cb8741eafd774bvboxsync * Copyright (C) 2006-2011 Oracle Corporation
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * available from http://www.virtualbox.org. This file is free software;
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * you can redistribute it and/or modify it under the terms of the GNU
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * General Public License (GPL) as published by the Free Software
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
9562e2d410460d8fae06fa24297f172fee1d1995vboxsyncclass NATNetworkServiceRunner: public NetworkServiceRunner
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync NATNetworkServiceRunner(): NetworkServiceRunner(NATSR_EXECUTABLE_NAME){}
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT(NATNetwork, INATNetwork)
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync // INATNetwork::EventSource
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync STDMETHOD(COMGETTER(EventSource))(IEventSource **IEventSource);
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync // INATNetwork properties
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync STDMETHOD(COMGETTER(AdvertiseDefaultIPv6RouteEnabled))(BOOL *aEnabled);
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync STDMETHOD(COMSETTER(AdvertiseDefaultIPv6RouteEnabled))(BOOL aEnabled);
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync STDMETHOD(COMGETTER(NeedDhcpServer))(BOOL *aEnabled);
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync STDMETHOD(COMSETTER(NeedDhcpServer))(BOOL aEnabled);
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync STDMETHOD(COMGETTER(LocalMappings))(ComSafeArrayOut(BSTR, aLocalMappings));
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync STDMETHOD(AddLocalMapping)(IN_BSTR aHostId, LONG aOffset);
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync STDMETHOD(GetOffsetForService)(NATNetworkServiceType_T service, LONG *aOffset);
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync STDMETHOD(SetOffsetForService)(NATNetworkServiceType_T service, LONG aOffset);
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync STDMETHOD(COMGETTER(PortForwardRules4))(ComSafeArrayOut(BSTR, aPortForwardRules4));
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync STDMETHOD(COMGETTER(PortForwardRules6))(ComSafeArrayOut(BSTR, aPortForwardRules6));
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync STDMETHOD(RemovePortForwardRule)(BOOL aIsIpv6, IN_BSTR aPortForwardRuleName);
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync typedef std::map<Utf8Str, settings::NATRule> NATRuleMap;
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync typedef NATRuleMap::const_iterator constNATRuleMapIterator;
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync void GetPortForwardRulesFromMap(ComSafeArrayOut(BSTR, aPortForwardRules), NATRuleMap& aRules);
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync /** weak VirtualBox parent */
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync#endif // ____H_H_NATNETWORKIMPL