Class MappedFile

All Implemented Interfaces:
PointerInterface

public class MappedFile extends Record
The #GMappedFile represents a file mapping created with
g_mapped_file_new(). It has only private members and should
not be accessed directly.

https://docs.gtk.org/glib/struct.MappedFile.html

  • Constructor Details

    • MappedFile

      public MappedFile(PointerContainer pointer)
    • MappedFile

      public MappedFile(@Nonnull Str filename, boolean writable)
      Maps a file into memory. On UNIX, this is using the mmap() function.

      If @writable is %TRUE, the mapped buffer may be modified, otherwise
      it is an error to modify the mapped buffer. Modifications to the buffer
      are not visible to other processes mapping the same file, and are not
      written back to the file.

      Note that modifications of the underlying file might affect the contents
      of the #GMappedFile. Therefore, mapping should only be used if the file
      will not be modified, or if all modifications of the file are done
      atomically (e.g. using g_file_set_contents()).

      If @filename is the name of an empty, regular file, the function
      will successfully return an empty #GMappedFile. In other cases of
      size 0 (e.g. device files such as /dev/null), @error will be set
      to the #GFileError value %G_FILE_ERROR_INVAL.
      Parameters:
      filename - The path of the file to load, in the GLib filename encoding
      writable - whether the mapping should be writable
    • MappedFile

      public MappedFile(String filename, boolean writable)
      Maps a file into memory. On UNIX, this is using the mmap() function.

      If @writable is %TRUE, the mapped buffer may be modified, otherwise
      it is an error to modify the mapped buffer. Modifications to the buffer
      are not visible to other processes mapping the same file, and are not
      written back to the file.

      Note that modifications of the underlying file might affect the contents
      of the #GMappedFile. Therefore, mapping should only be used if the file
      will not be modified, or if all modifications of the file are done
      atomically (e.g. using g_file_set_contents()).

      If @filename is the name of an empty, regular file, the function
      will successfully return an empty #GMappedFile. In other cases of
      size 0 (e.g. device files such as /dev/null), @error will be set
      to the #GFileError value %G_FILE_ERROR_INVAL.
      Parameters:
      filename - The path of the file to load, in the GLib filename encoding
      writable - whether the mapping should be writable
  • Method Details

    • getClassHandler

      public static ClassHandler getClassHandler()
    • newFromFdMappedFile

      public static MappedFile newFromFdMappedFile(int fd, boolean writable) throws AllocationError
      Maps a file into memory. On UNIX, this is using the mmap() function.

      If @writable is %TRUE, the mapped buffer may be modified, otherwise
      it is an error to modify the mapped buffer. Modifications to the buffer
      are not visible to other processes mapping the same file, and are not
      written back to the file.

      Note that modifications of the underlying file might affect the contents
      of the #GMappedFile. Therefore, mapping should only be used if the file
      will not be modified, or if all modifications of the file are done
      atomically (e.g. using g_file_set_contents()).
      Parameters:
      fd - The file descriptor of the file to load
      writable - whether the mapping should be writable
      Returns:
      a newly allocated #GMappedFile which must be unref'd with g_mapped_file_unref(), or %NULL if the mapping failed.
      Throws:
      AllocationError
    • getBytes

      public Bytes getBytes()
      Creates a new #GBytes which references the data mapped from @file.
      The mapped contents of the file must not be modified after creating this
      bytes object, because a #GBytes should be immutable.
      Returns:
      A newly allocated #GBytes referencing data from @file
    • getContents

      public Str getContents()
      Returns the contents of a #GMappedFile.

      Note that the contents may not be zero-terminated,
      even if the #GMappedFile is backed by a text file.

      If the file is empty then %NULL is returned.
      Returns:
      the contents of @file, or %NULL.
    • getLength

      public long getLength()
      Returns the length of the contents of a #GMappedFile.
      Returns:
      the length of the contents of @file.
    • ref

      public MappedFile ref()
      Increments the reference count of @file by one. It is safe to call
      this function from any thread.
      Returns:
      the passed in #GMappedFile.
    • unref

      public void unref()
      Decrements the reference count of @file by one. If the reference count
      drops to 0, unmaps the buffer of @file and frees it.

      It is safe to call this function from any thread.

      Since 2.22
    • getTypeID

      public static long getTypeID()
    • getParentTypeID

      public static long getParentTypeID()
    • getTypeSize

      public static TypeSystem.TypeSize getTypeSize()
    • getParentTypeSize

      public static TypeSystem.TypeSize getParentTypeSize()
    • getInstanceSize

      public static int getInstanceSize()