Capítulo 4. Tópicos Diversos

Transparência de rede através do KIO

KIO-Slaves

A biblioteca KIO do Frameworks™ suporta a transparência de rede através dos 'KIO-slaves'. O KDiff3 usa isto para ler os arquivos de entrada e para pesquisar as pastas. Isto significa que você poderá indicar arquivos e pastas em recursos locais e remotos através dos URLs.

Exemplo:

kdiff3 teste.cpp  ftp://ftp.longe.org/teste.cpp
   kdiff3 tar:/home/eu/pacote.tar.gz/pasta ./pasta

A primeira linha compara um arquivo local com outro arquivo num servidor de FTP. A segunda linha compara uma pasta dentro de um pacote comprimido com uma pasta local.

Outros 'KIO-slaves' que serão interessantes:

  • Arquivos da WWW (http:),

  • Arquivos de FTP (ftp:),

  • Transferência de arquivos criptografada (fish:, sftp:),

  • Recursos do Windows® (smb:),

  • Arquivos locais (file:),

Outras coisas que são possíveis, mas provavelmente serão menos interessantes:

  • Páginas do 'man' (man:),

  • Páginas do 'info' (info:),

Como escrever URLs

Um URL tem uma sintaxe diferente, em comparação com as localizações dos arquivos e pastas locais. Alguns fatores terão que ser considerados:

  • Uma localização poderá ser relativa e conter "." ou "..". Isto não é possível para os URLs, uma vez que eles são sempre absolutos.

  • Caracteres especiais devem ser escritos com "escape". ("#" -> "%23", espaço ->"%20", etc.) Por exemplo, um arquivo com o nome "#foo#" teria a URL "file:/%23foo%23".

  • Quando os URLs não funcionarem como seria de esperar, tente abri-los primeiro no Konqueror.

Capacidades dos 'KIO-Slaves'

A transparência de rede tem um senão: nem todos os recursos têm as mesmas capacidades.

Algumas das vezes isto é devido ao sistema de arquivos do servidor, enquanto que em outras ocasiões poderá ser devido ao protocolo. Aqui está uma pequena lista das restrições:

  • Em alguns casos não existe o suporte para ligações simbólicas.

  • Ou não existe forma de distinguir se uma ligação aponta para um arquivo ou uma pasta; é assumido sempre um arquivo. (ftp:, sftp:).

  • Não é sempre possível determinar o tamanho do arquivo.

  • Existe um suporte de permissões limitado.

  • Não existe a possibilidade de modificar as permissões ou a data de modificação, assim as permissões ou a data de uma cópia poderão ser diferentes do original. (Veja a opção Confiar no tamanho (inseguro).) (A modificação de permissões ou das datas só é possível para os arquivos locais.)