package com.kedzie.vbox.api;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.os.Parcel;
import android.os.Parcelable;
import com.kedzie.vbox.api.jaxb.NetworkAdapterPromiscModePolicy;
import com.kedzie.vbox.api.jaxb.NetworkAdapterType;
import com.kedzie.vbox.api.jaxb.NetworkAttachmentType;
import com.kedzie.vbox.soap.Asyncronous;
import com.kedzie.vbox.soap.KSOAP;
import com.kedzie.vbox.soap.VBoxSvc;
@KSOAP
public interface INetworkAdapter extends IManagedObjectRef, Parcelable {
public static final String BUNDLE = "network";
static final ClassLoader LOADER = INetworkAdapter.class.getClassLoader();
public static final Parcelable.Creator<INetworkAdapter> CREATOR = new Parcelable.Creator<INetworkAdapter>() {
public INetworkAdapter createFromParcel(Parcel in) {
VBoxSvc vmgr = in.readParcelable(LOADER);
String id = in.readString();
Map<String, Object> cache = new HashMap<String, Object>();
in.readMap(cache, LOADER);
return (INetworkAdapter) vmgr.getProxy(INetworkAdapter.class, id, cache);
}
public INetworkAdapter[] newArray(int size) {
return new INetworkAdapter[size];
}
};
@KSOAP(cacheable=true) public NetworkAdapterType getAdapterType();
@Asyncronous public void setAdapterType(@KSOAP("adapterType") NetworkAdapterType adapterType);
@KSOAP(cacheable=true) public Integer getSlot();
@KSOAP(cacheable=true) public Boolean getEnabled();
@Asyncronous public void setEnabled(@KSOAP("enabled") boolean enabled);
@KSOAP(cacheable=true) public String getMACAddress();
@Asyncronous public void setMACAddress(@KSOAP("MACAddress") String macAddress);
@KSOAP(cacheable=true) public NetworkAttachmentType getAttachmentType();
@Asyncronous public void setAttachmentType(@KSOAP("attachmentType") NetworkAttachmentType attachmentType);
@KSOAP(cacheable=true) public String getBridgedInterface();
@Asyncronous public void setBridgedInterface(@KSOAP("bridgedInterface") String bridgedInterface);
@KSOAP(cacheable=true) public String getHostOnlyInterface();
@Asyncronous public void setHostOnlyInterface(@KSOAP("hostOnlyInterface") String hostOnlyInterface);
@KSOAP(cacheable=true) public String getInternalNetwork();
@Asyncronous public void setInternalNetwork(@KSOAP("internalNetwork") String internalNetwork);
@KSOAP(cacheable=true) public String getNATNetwork();
@Asyncronous public void setNATNetwork(@KSOAP("NATNetwork") String natNetwork);
@KSOAP(cacheable=true) public String getGenericDriver();
@Asyncronous public void setGenericDriver(@KSOAP("genericDriver") String genericDriver);
@KSOAP(cacheable=true) public Boolean getCableConnected();
@Asyncronous public void setCableConnected(@KSOAP("cableConnected") boolean cableConnected);
@KSOAP(cacheable=true) public Integer getLineSpeed();
@Asyncronous public void setLineSpeed(@KSOAP(type="unsignedInt", value="lineSpeed") int lineSpeed);
@KSOAP(cacheable=true) public NetworkAdapterPromiscModePolicy getPromiscModePolicy();
@Asyncronous public void setPromiscModePolicy(@KSOAP("promiscModePolicy") NetworkAdapterPromiscModePolicy promiscModePolicy);
@KSOAP(cacheable=true) public Boolean getTraceEnabled();
@Asyncronous public void setTraceEnabled(@KSOAP("traceEnabled") boolean traceEnabled);
@KSOAP(cacheable=true) public String getTraceFile();
@Asyncronous public void setTraceFile(@KSOAP("traceFile") String traceFile);
@KSOAP(cacheable=true) public Integer getBootPriority();
@Asyncronous public void setBootPriority(@KSOAP("bootPriority") int bootPriority);
// @KSOAP(cacheable=true) public IBandwidthGroup getBandwidthGroup();
// @Asyncronous public void setBandwidthGroup(@KSOAP("bandwidthGroup") IBandwidthGroup bandwidthGroup);
// KSOAP(cacheable=true) public INATEngine getNATEngine();
@KSOAP(cacheable=true) String getProperty(@KSOAP("key") String key);
@Asyncronous public void setProperty(@KSOAP("key") String key, @KSOAP("value") String value);
@KSOAP(cacheable=true) public Map<String, List<String>> getProperties(@KSOAP("names") String names);
}