All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.qt.core.QSharedMemory Maven / Gradle / Ivy

There is a newer version: 6.8.2
Show newest version
package io.qt.core;


/**
 * 

Access to a shared memory segment

*

Java wrapper for Qt class QSharedMemory

*/ public class QSharedMemory extends io.qt.core.QObject { /** * This variable stores the meta-object for the class. */ public static final io.qt.core.QMetaObject staticMetaObject = io.qt.core.QMetaObject.forType(QSharedMemory.class); /** *

Java wrapper for Qt enum QSharedMemory::AccessMode

*/ @io.qt.QtUnlistedEnum public enum AccessMode implements io.qt.QtEnumerator { ReadOnly(0), ReadWrite(1); private AccessMode(int value) { this.value = value; } /** * {@inheritDoc} */ public int value() { return value; } /** * Returns the corresponding enum entry for the given value. * @param value * @return enum entry */ public static AccessMode resolve(int value) { switch (value) { case 0: return ReadOnly; case 1: return ReadWrite; default: throw new io.qt.QNoSuchEnumValueException(value); } } private final int value; } /** *

Java wrapper for Qt enum QSharedMemory::SharedMemoryError

*/ @io.qt.QtUnlistedEnum public enum SharedMemoryError implements io.qt.QtEnumerator { NoError(0), PermissionDenied(1), InvalidSize(2), KeyError(3), AlreadyExists(4), NotFound(5), LockError(6), OutOfResources(7), UnknownError(8); private SharedMemoryError(int value) { this.value = value; } /** * {@inheritDoc} */ public int value() { return value; } /** * Returns the corresponding enum entry for the given value. * @param value * @return enum entry */ public static SharedMemoryError resolve(int value) { switch (value) { case 0: return NoError; case 1: return PermissionDenied; case 2: return InvalidSize; case 3: return KeyError; case 4: return AlreadyExists; case 5: return NotFound; case 6: return LockError; case 7: return OutOfResources; case 8: return UnknownError; default: throw new io.qt.QNoSuchEnumValueException(value); } } private final int value; } /** *

Overloaded constructor for {@link #QSharedMemory(io.qt.core.QObject)} * with parent = null.

*/ public QSharedMemory() { this((io.qt.core.QObject)null); } /** *

See QSharedMemory::QSharedMemory(QObject*)

*/ public QSharedMemory(io.qt.core.QObject parent){ super((QPrivateConstructor)null); initialize_native(this, parent); } private native static void initialize_native(QSharedMemory instance, io.qt.core.QObject parent); /** *

Overloaded constructor for {@link #QSharedMemory(java.lang.String, io.qt.core.QObject)} * with parent = null.

*/ public QSharedMemory(java.lang.String key) { this(key, (io.qt.core.QObject)null); } /** *

See QSharedMemory::QSharedMemory(QString,QObject*)

*/ public QSharedMemory(java.lang.String key, io.qt.core.QObject parent){ super((QPrivateConstructor)null); initialize_native(this, key, parent); } private native static void initialize_native(QSharedMemory instance, java.lang.String key, io.qt.core.QObject parent); /** *

Overloaded function for {@link #attach(io.qt.core.QSharedMemory.AccessMode)} * with mode = io.qt.core.QSharedMemory.AccessMode.ReadWrite.

*/ @io.qt.QtUninvokable public final boolean attach() { return attach(io.qt.core.QSharedMemory.AccessMode.ReadWrite); } /** *

See QSharedMemory::attach(QSharedMemory::AccessMode)

*/ @io.qt.QtUninvokable public final boolean attach(io.qt.core.QSharedMemory.AccessMode mode){ boolean __qt_return_value = attach_native_QSharedMemory_AccessMode(QtJambi_LibraryUtilities.internal.nativeId(this), mode.value()); if(__qt_return_value){ __qt_accessMode = mode; } return __qt_return_value; } @io.qt.QtUninvokable private native boolean attach_native_QSharedMemory_AccessMode(long __this__nativeId, int mode); /** *

Overloaded function for {@link #create(long, io.qt.core.QSharedMemory.AccessMode)} * with mode = io.qt.core.QSharedMemory.AccessMode.ReadWrite.

*/ @io.qt.QtUninvokable public final boolean create(long size) { return create(size, io.qt.core.QSharedMemory.AccessMode.ReadWrite); } /** *

See QSharedMemory::create(qsizetype,QSharedMemory::AccessMode)

*/ @io.qt.QtUninvokable public final boolean create(long size, io.qt.core.QSharedMemory.AccessMode mode){ boolean __qt_return_value = create_native_qsizetype_QSharedMemory_AccessMode(QtJambi_LibraryUtilities.internal.nativeId(this), size, mode.value()); if(__qt_return_value){ __qt_accessMode = mode; } return __qt_return_value; } @io.qt.QtUninvokable private native boolean create_native_qsizetype_QSharedMemory_AccessMode(long __this__nativeId, long size, int mode); /** *

See QSharedMemory::data()

*/ @io.qt.QtUninvokable private final java.nio.ByteBuffer data(){ return data_native(QtJambi_LibraryUtilities.internal.nativeId(this)); } @io.qt.QtUninvokable private native java.nio.ByteBuffer data_native(long __this__nativeId); /** *

See QSharedMemory::detach()

*/ @io.qt.QtUninvokable public final boolean detach(){ return detach_native(QtJambi_LibraryUtilities.internal.nativeId(this)); } @io.qt.QtUninvokable private native boolean detach_native(long __this__nativeId); /** *

See QSharedMemory::error()const

*/ @io.qt.QtUninvokable public final io.qt.core.QSharedMemory.SharedMemoryError error(){ return io.qt.core.QSharedMemory.SharedMemoryError.resolve(error_native_constfct(QtJambi_LibraryUtilities.internal.nativeId(this))); } @io.qt.QtUninvokable private native int error_native_constfct(long __this__nativeId); /** *

See QSharedMemory::errorString()const

*/ @io.qt.QtUninvokable public final java.lang.String errorString(){ return errorString_native_constfct(QtJambi_LibraryUtilities.internal.nativeId(this)); } @io.qt.QtUninvokable private native java.lang.String errorString_native_constfct(long __this__nativeId); /** *

See QSharedMemory::isAttached()const

*/ @io.qt.QtUninvokable public final boolean isAttached(){ return isAttached_native_constfct(QtJambi_LibraryUtilities.internal.nativeId(this)); } @io.qt.QtUninvokable private native boolean isAttached_native_constfct(long __this__nativeId); /** *

See QSharedMemory::key()const

*/ @io.qt.QtUninvokable public final java.lang.String key(){ return key_native_constfct(QtJambi_LibraryUtilities.internal.nativeId(this)); } @io.qt.QtUninvokable private native java.lang.String key_native_constfct(long __this__nativeId); /** *

See QSharedMemory::lock()

*/ @io.qt.QtUninvokable private final boolean lock(){ return lock_native(QtJambi_LibraryUtilities.internal.nativeId(this)); } @io.qt.QtUninvokable private native boolean lock_native(long __this__nativeId); /** *

See QSharedMemory::nativeKey()const

*/ @io.qt.QtUninvokable public final java.lang.String nativeKey(){ return nativeKey_native_constfct(QtJambi_LibraryUtilities.internal.nativeId(this)); } @io.qt.QtUninvokable private native java.lang.String nativeKey_native_constfct(long __this__nativeId); /** *

See QSharedMemory::setKey(QString)

*/ @io.qt.QtUninvokable public final void setKey(java.lang.String key){ setKey_native_cref_QString(QtJambi_LibraryUtilities.internal.nativeId(this), key); } @io.qt.QtUninvokable private native void setKey_native_cref_QString(long __this__nativeId, java.lang.String key); /** *

See QSharedMemory::setNativeKey(QString)

*/ @io.qt.QtUninvokable public final void setNativeKey(java.lang.String key){ setNativeKey_native_cref_QString(QtJambi_LibraryUtilities.internal.nativeId(this), key); } @io.qt.QtUninvokable private native void setNativeKey_native_cref_QString(long __this__nativeId, java.lang.String key); /** *

See QSharedMemory::size()const

*/ @io.qt.QtUninvokable public final long size(){ return size_native_constfct(QtJambi_LibraryUtilities.internal.nativeId(this)); } @io.qt.QtUninvokable private native long size_native_constfct(long __this__nativeId); /** *

See QSharedMemory::unlock()

*/ @io.qt.QtUninvokable private final boolean unlock(){ return unlock_native(QtJambi_LibraryUtilities.internal.nativeId(this)); } @io.qt.QtUninvokable private native boolean unlock_native(long __this__nativeId); /** * Constructor for internal use only. * @param p expected to be null. */ @io.qt.NativeAccess protected QSharedMemory(QPrivateConstructor p) { super(p); } /** * Constructor for internal use only. * It is not allowed to call the declarative constructor from inside Java. */ @io.qt.NativeAccess protected QSharedMemory(QDeclarativeConstructor constructor) { super((QPrivateConstructor)null); initialize_native(this, constructor); } @io.qt.QtUninvokable private static native void initialize_native(QSharedMemory instance, QDeclarativeConstructor constructor); private static class CleanTask implements Runnable{ private CleanTask(QSharedMemory sharedMemory) { super(); this.sharedMemory = sharedMemory; } @Override public void run() { if(!isClosed) { isClosed = true; try{ if(!sharedMemory.isDisposed()) sharedMemory.unlock(); }finally { sharedMemory.__qt_isInUse = false; } } } private final QSharedMemory sharedMemory; private boolean isClosed = false; } public static class DataAccess implements AutoCloseable{ private final QSharedMemory sharedMemory; private final io.qt.InternalAccess.Cleanable cleanable; DataAccess(QSharedMemory sharedMemory){ this.sharedMemory = sharedMemory; cleanable = QtJambi_LibraryUtilities.internal.registerCleaner(this, new CleanTask(sharedMemory)); } @Override public void close(){ cleanable.clean(); } @io.qt.QtUninvokable public java.nio.ByteBuffer data() { if(!sharedMemory.__qt_isInUse) { throw new IllegalStateException(); } java.nio.ByteBuffer result = sharedMemory.data(); if(sharedMemory.__qt_accessMode==AccessMode.ReadOnly){ result = result.asReadOnlyBuffer(); } return result; } } private AccessMode __qt_accessMode = AccessMode.ReadOnly; private boolean __qt_isInUse; public DataAccess access() throws IllegalStateException{ if(this.isAttached() && !__qt_isInUse && lock()) { __qt_isInUse = true; return new DataAccess(this); } throw new IllegalStateException(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy