public void autoWrite() { if (getAutoWrite()) { write(); if (array != null) { for (int i=1;i < array.length;i++) { array[i].autoWrite(); } } } }
/** Return whether the given Structure's backing data is identical to * this one, optionally clearing and re-writing native memory before checking. * @param s Structure to compare * @param clear whether to clear native memory * @return equality result */ public boolean dataEquals(Structure s, boolean clear) { if (clear) { s.getPointer().clear(s.size()); s.write(); getPointer().clear(size()); write(); } byte[] data = s.getPointer().getByteArray(0, s.size()); byte[] ref = getPointer().getByteArray(0, size()); if (data.length == ref.length) { for (int i=0;i < data.length;i++) { if (data[i] != ref[i]) { return false; } } return true; } return false; }
@Override public void write() { UserLength = User == null ? 0 : User.length(); DomainLength = Domain == null ? 0 : Domain.length(); PasswordLength = Password == null ? 0 : Password.length(); super.write(); } }
@Override public void write() { super.write(); readDependency(); }
@Override public void write() { super.write(); readDependency(); }
@Override public void write() { cb = this.calculateSize(true); super.write(); }
@Override public void write() { cbSize = size(); super.write(); } }
@Override public void write() { this.cb = size(); super.write(); } }
@Override public void write() { this.cb = size(); super.write(); } }
@Override public void write() { this.Length = size(); super.write(); } }
public DispatchListener(IDispatchCallback callback) { this.vtbl = this.constructVTable(); this.initVTable(callback); super.write(); }
public UnknownListener(IUnknownCallback callback) { this.vtbl = this.constructVTable(); this.initVTable(callback); super.write(); }
public void autoWrite() { if (getAutoWrite()) { write(); if (array != null) { for (int i=1;i < array.length;i++) { array[i].autoWrite(); } } } }
private Memory bufferForStructureByReference(Structure methodCallResult) { methodCallResult.write(); Memory buffer = new Memory(Native.POINTER_SIZE); buffer.setPointer(0, methodCallResult.getPointer()); return buffer; }
private Memory bufferForStructureByValue(Structure methodCallResult) { methodCallResult.write(); int byteCount = methodCallResult.size(); Memory buffer = new Memory(byteCount); memcpy(buffer, methodCallResult.getPointer(), byteCount); return buffer; }
/** Return whether the given Structure's backing data is identical to * this one, optionally clearing and re-writing native memory before checking. * @param s Structure to compare * @param clear whether to clear native memory * @return equality result */ public boolean dataEquals(Structure s, boolean clear) { if (clear) { s.getPointer().clear(s.size()); s.write(); getPointer().clear(size()); write(); } byte[] data = s.getPointer().getByteArray(0, s.size()); byte[] ref = getPointer().getByteArray(0, size()); if (data.length == ref.length) { for (int i=0;i < data.length;i++) { if (data[i] != ref[i]) { return false; } } return true; } return false; }