public NetAddress(Instance instance, ushort port, byte[] address = null) { if (address == null || address.Length <= PPNetAddressIPv4.IPv4AddressBytes) { var ipAddress = new PPNetAddressIPv4(port, address); handle = PPBNetAddress.CreateFromIPv4Address(instance, ipAddress); } else { var ipAddress = new PPNetAddressIPv6(port, address); handle = PPBNetAddress.CreateFromIPv6Address(instance, ipAddress); } }
/** * Fills a <code>PP_NetAddress_IPv6</code> structure if the network address is * of <code>PP_NETADDRESS_FAMILY_IPV6</code> address family. * Note that passing a network address of * <code>PP_NETADDRESS_FAMILY_IPV4</code> address family will fail - this * method doesn't map it to an IPv6 address. * * @param[in] addr A <code>PP_Resource</code> corresponding to a network * address. * @param[out] ipv6_addr A <code>PP_NetAddress_IPv6</code> structure to store * the result. * * @return A <code>PP_Bool</code> value indicating whether the operation * succeeded. */ public static PPBool DescribeAsIPv6Address(PPResource addr, out PPNetAddressIPv6 ipv6_addr) { return(_DescribeAsIPv6Address(addr, out ipv6_addr)); }
/** * Creates a <code>PPB_NetAddress</code> resource with the specified IPv6 * address. * * @param[in] instance A <code>PP_Instance</code> identifying one instance of * a module. * @param[in] ipv6_addr An IPv6 address. * * @return A <code>PP_Resource</code> representing the same address as * <code>ipv6_addr</code> or 0 on failure. */ public static PPResource CreateFromIPv6Address( PPInstance instance, PPNetAddressIPv6 ipv6_addr) { return(_CreateFromIPv6Address(instance, ipv6_addr)); }
extern static PPBool _DescribeAsIPv6Address( PPResource addr, out PPNetAddressIPv6 ipv6_addr);
extern static PPResource _CreateFromIPv6Address( PPInstance instance, PPNetAddressIPv6 ipv6_addr);