com.github.markusbernhardt.proxy.jna.win.WinHttpCurrentUserIEProxyConfig Maven / Gradle / Ivy
package com.github.markusbernhardt.proxy.jna.win;
import java.util.Arrays;
import java.util.List;
import com.sun.jna.Pointer;
import com.sun.jna.Structure;
import com.sun.jna.platform.win32.WTypes;
/**
* The WINHTTP_CURRENT_USER_IE_PROXY_CONFIG structure contains the Internet
* Explorer proxy configuration information.
*
* @author Markus Bernhardt, Copyright 2016
*/
public class WinHttpCurrentUserIEProxyConfig extends Structure {
/**
* If TRUE, indicates that the Internet Explorer proxy configuration for the
* current user specifies "automatically detect settings".
*/
public boolean fAutoDetect;
/**
* Pointer to a null-terminated Unicode string that contains the
* auto-configuration URL if the Internet Explorer proxy configuration for
* the current user specifies "Use automatic proxy configuration".
*/
public WTypes.LPWSTR lpszAutoConfigUrl;
/**
* Pointer to a null-terminated Unicode string that contains the proxy URL
* if the Internet Explorer proxy configuration for the current user
* specifies "use a proxy server".
*/
public WTypes.LPWSTR lpszProxy;
/**
* Pointer to a null-terminated Unicode string that contains the optional
* proxy by-pass server list.
*/
public WTypes.LPWSTR lpszProxyBypass;
/**
* Create WinHttpCurrentUserIeProxyConfig structure.
*/
public WinHttpCurrentUserIEProxyConfig() {
super();
}
/**
* Create WinHttpCurrentUserIeProxyConfig structure cast onto pre-allocated
* memory.
*
* @param pointer
* pointer to pre-allocated memory
*/
public WinHttpCurrentUserIEProxyConfig(Pointer pointer) {
super(pointer);
read();
}
/**
* Return this Structure's field names in their proper order. For example,
*
*
*
* protected List getFieldOrder() {
* return Arrays.asList(new String[] { ... });
* }
*
*
*
* IMPORTANT When deriving from an existing Structure
* subclass, ensure that you augment the list provided by the superclass,
* e.g.
*
*
*
* protected List getFieldOrder() {
* List fields = new ArrayList(super.getFieldOrder());
* fields.addAll(Arrays.asList(new String[] { ... }));
* return fields;
* }
*
*
*
* Field order must be explicitly indicated, since the field order as
* returned by {@link Class#getFields()} is not guaranteed to be
* predictable.
*
* @return ordered list of field names
*/
@Override
protected List getFieldOrder() {
return Arrays.asList("fAutoDetect", "lpszAutoConfigUrl", "lpszProxy", "lpszProxyBypass");
}
/**
* Tagging interface to indicate the address of an instance of the Structure
* type is to be used within a Structure
definition rather than
* nesting the full Structure contents. The default behavior is to inline
* Structure
fields.
*/
public static class ByReference extends WinHttpProxyInfo implements Structure.ByReference {
}
/**
* Tagging interface to indicate the value of an instance of the
* Structure
type is to be used in function invocations rather
* than its address. The default behavior is to treat Structure
* function parameters and return values as by reference, meaning the
* address of the structure is used.
*/
public static class ByValue extends WinHttpProxyInfo implements Structure.ByValue {
}
}