Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev6.5.4

posix

Exibe a API POSIX no OSx e Linux

AndroidiOSmacOSWindowsLinux
Downloads em 30 dias
9,4 mi
Curtidas
12
Pontos Pub
160

Instalar pacote

flutter pub add posix

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

O pacote posix fornece acesso às APIs do sistema POSIX no macOS e Linux, permitindo operações de baixo nível como manipulação de arquivos, controle de processos e tratamento de sinais. É projetado para aplicações desktop que exigem interação direta com o sistema operacional subjacente. O pacote expõe funções nativas do POSIX por meio de uma interface Dart, tornando-o adequado para tarefas avançadas de programação de sistema. Ele é compatível com as plataformas macOS, Linux, Windows, Android e iOS, embora a funcionalidade completa do POSIX esteja principalmente disponível no macOS e Linux. Este pacote é ideal para desenvolvedores que criam ferramentas que precisam de controle granular sobre os recursos do sistema.

Casos de uso

  • Operações de arquivo em nível de sistema
  • Gerenciamento de processo e thread
  • Tratamento de sinal em aplicativos para desktop
  • Utilitários de sistema multiplataforma
  • Interações de baixo nível com o sistema operacional

Principais recursos

  • Acesso às APIs nativas POSIX
  • Suporte para macOS e Linux
  • Compatibilidade multiplataforma
  • Wrapper amigável ao Dart para chamadas de sistema
  • Design leve e focado

Indicado para

  • Desenvolvedores de aplicativos para desktop
  • Criadores de ferramentas do sistema
  • Usuários avançados do Flutter
  • Desenvolvedores que precisam de acesso ao nível do sistema operacional
  • Ferramentas que exigem isolamento de processo

Considerações

  • Funcionalidade limitada em plataformas não-POSIX
  • Requer conhecimento específico da plataforma
  • Não destinado à lógica central do aplicativo móvel
  • Pode exigir permissões elevadas
  • Mais adequado apenas para ambientes de desktop

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

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.

Categorias

Dependências

Lista de dependências 3 itens

Repositório-fonte

Projetos que usam este pacote