Pakete, Repositories und App-Kategorien suchen

Paketdetailsv6.5.4

posix

Bietet die POSIX-API auf OSx und Linux verfügbar

AndroidiOSmacOSWindowsLinux
30-Tage-Downloads
9,4 Mio.
Likes
12
Pub-Punkte
160

Paket installieren

flutter pub add posix

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Das posix-Paket bietet auf macOS und Linux Zugriff auf POSIX-System-APIs und ermöglicht Low-Level-Systemoperationen wie Dateimanipulation, Prozesssteuerung und Signaleverarbeitung. Es ist für Desktop-Anwendungen konzipiert, die eine direkte Interaktion mit dem zugrunde liegenden Betriebssystem erfordern. Das Paket macht native POSIX-Funktionen über eine Dart-Schnittstelle verfügbar und eignet sich daher für anspruchsvolle Systemprogrammieraufgaben. Es unterstützt die Plattformen macOS, Linux, Windows, Android und iOS, wobei jedoch die vollständige POSIX-Funktionalität hauptsächlich auf macOS und Linux verfügbar ist. Dieses Paket ist ideal für Entwickler, die Werkzeuge erstellen, die eine feinabgestimmte Kontrolle über Systemressourcen benötigen.

Anwendungsfälle

  • Systemnahe Dateioperationen
  • Prozess- und Threadverwaltung
  • Signalverarbeitung in Desktop-Anwendungen
  • Plattformübergreifende Systemtools
  • Niedrigstufige OS-Interaktionen

Hauptmerkmale

  • Zugriff auf native POSIX-APIs
  • Unterstützung für macOS und Linux
  • Plattformübergreifende Kompatibilität
  • Dart-kompatibler Wrapper für Systemaufrufe
  • Leichtgewichtiges und fokussiertes Design

Geeignet für

  • Desktop-Anwendungsentwickler
  • Systemtool-Ersteller
  • Fortgeschrittene Flutter-Nutzer
  • Entwickler, die Zugriff auf Betriebssystemebene benötigen
  • Tools, die Prozessisolierung erfordern

Hinweise

  • Eingeschränkte Funktionalität auf nicht-POSIX-Plattformen
  • Erfordert plattformspezifisches Wissen
  • Nicht für die Kernlogik der mobilen App vorgesehen
  • Kann erhöhte Berechtigungen erfordern
  • Am besten geeignet für Desktop-Umgebungen nur

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

Provides Dart access to the POSIX api for MacOS and Linux system.


import 'package:posix/posix.dart';

int uid = getuid();

Contributing

Dart types only

The api should only expose dart types. Any C types MUST be translated to dart types before being returned.

setters and getters

One of the first questsion is to whether we should use Dart's settings and getters:

e.g.


// getuid
int uid = getuid;

or

int uid = getuid();


/// setuid

uid = myuid;

or 

setuid = uid;

or

setuid(uid);

My initial thoughts is to make the api identical to the posix api which would mean that we don't use Dart setters and getters.

error returns

Do we return error no.s or do we throw.

As Dart is a modern language it uses Exception whereas posix returns error codes.

Often posix will return null and then expect you to make a separate call to 'errorno' to get the actual error no.

I'm inclined to bring the api that we expose into the modern world.

So I'm proposing that if an posix api returns an error that we throw a PosixException with a message and error code.

Adding additional functions

The process of adding additional functions is:

  1. Install ffigen
dart pub global activate ffigen
  1. Run the ffigen setup.

The paths may be different on your system. Search for clang-c/Index.h

sudo apt-get install libclang-dev
dart pub run ffigen:setup -I/usr/lib/llvm-11/include -L/usr/lib/llvm-11/lib
  1. find the required posix header file

  2. use ffigen to create the initial dart file from the header.

    • add your header file to ffigen.yaml
  3. Run ffigen

dart pub run ffigen  --config ffigen/linux.yaml 
  1. convert each method to take/return dart types.

Kategorien

Abhängigkeiten

Abhängigkeiten 3 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden