
================================================================================
           Extractor API 1.3, Copyright (c) 1994-2003 Nova Software
================================================================================

Pomoc API programu Extractor lze vytvoit pluginy, kter budou pidvat podporu
novch formt a groupfil a umoovat vytvet groupfily dalch formt.
V adresi api jsou umstnny hlavikov soubory pouitelnch funkc a struktur.
Adres samples obsahuje nkolik pklad plugin. Pklady jsou vytvoeny pro
jazyky C++ (Microsoft Visual Studio, Borland C++ Builder) a Pascal (Borland
Delphi).

Pluginy mus bt umstnny v adresi Plugins a jejich jmna mus odpovdat
souborov masce fmt_*.dll (formty), grp_*.dll (groupfily) a out_*.dll
(vytven groupfil).
Plugin se shodnou pponou formtu jako integrovan podpora m vt prioritu,
tj. bude pouit pouze tento plugin.


1. Zjitn informac o pluginu
===============================
Knihovna mus mt exportovanou funkci GetPluginInfo, kter v nvratov hodnot
vrac ukazatel na informace (TPluginInfo) o pluginu. Pro uloen informac o
pluginu je doporuno pout globln promnnou.


* Popis funkce GetPluginInfo (prototyp TGetPluginInfoProc):
ServiceProcs    doplkov funkce, pouiteln nap. pi konfiguraci pluginu

nvratov hodnota:
ukazatel na strukturu TPluginInfo


* Popis struktury TPluginInfo:
Version         verze API pluginu (doporueno pout konstantu API_VER)

FormatType      formt souboru (vbr z FT_xxx konstant)

Ext             ppona souboru (vce ppon je mono oddlit rkou)

Description     popis pluginu

Priority        priorita, u formt 0 a 100 (nejvy), u groupfil 0 a 2,
                mla by odpovdat etnosti vskytu formtu

TestProc        adresa funkce, kter testuje existenci formtu,
                pokud nen zadna (NULL), je testovn provdno podle ppon
                souboru, u vstupnch plugin m tak hodnotu NULL

WorkProc        adresa funkce, kter nat/ukld formt nebo groupfile,
                pedvn informac se u natn formt provd v parametru
                funkce, u natn groupfil pomoc funkce AddFile

AboutProc       adresa informan funkce pluginu, nen vyadovna (NULL)

ConfigProc      adresa konfiguran funkce pluginu, nen vyadovna (NULL)


2. Testovn formtu nebo groupfilu
===================================
Funkce Test je volna, aby urila zda se na aktuln pozici nachz formt nebo
groupfile. Funkci je pedna adresa bufferu, z jeho obsahu se detekuje
pslun formt nebo groupfile. Pro detekci je mono pout funkci Compare
nebo v ppad jazyka C tak makro COMPARE,
kter zjist, zda se na zadan adrese nachz uveden etzec.


* Popis funkce TestProc (prototyp TTestProc):
Buf             adresa bufferu,
                minimln velikost bufferu je 128B, maximln velikost platnch
                dat v bufferu nen pedvna, na rychlosti proveden funkce
                siln zvis rychlost hledn

nvratov hodnota:
0 (False)       formt nebo groupfile nebyl detekovn
!= 0 (True)     formt nebo groupfile byl detekovn


* Popis funkce Compare:
buf             adresa bufferu

s               testovan etzec

len             dlka testovanho etzce

pos             posun testovn od zatku bufferu

nvratov hodnota:
0 (False)       etzec nebyl nalezen
!= 0 (True)     etzec byl nalezen

Makro COMPARE m shodn paramentry, navc obsahuje pkaz return.


3. Naten informac
====================
3.1 Formt
----------
Funkce WorkProc s prototypem TLoadFormatProc slou k naten informac o
formtu. Zjitn informace jsou vrceny prostednictvm parametru typu
TLoadFormatParams.


* Popis funkce WorkProc (prototyp TLoadFormatProc):
Params          parametry pro nalezen souboru

nvratov hodnota:
0 (False)       informace o souboru nebyly spn nateny nebo se nejedn o
                detekovan soubor (plan poplach)
!= 0 (True)     informace o souboru byly spn nateny


* Popis struktury TLoadFormatParams:
vstupn parametry:
FileHandle      handle prohledvanho souboru,
                pozice souboru je automaticky pednastavena na hodnotu
                FileStartPos

SourceFileSize  velikost prohledvanho souboru

FileStartPos    vchoz pozice v prohledvanm souboru

vstupn parametry:
FileSize        velikost nalezenho souboru

FileExt         ppona nalezenho souboru,
                pponu lze zkoprovat na pedvanou adresu (vyhrazeno 256B)
                nebo priadit promnn adresu etzcov konstanty i globln
                promnn, nepiazovat vraz nebo lokln promnnou, kter je
                uloena v zsobnku !!!

FileInfo        informace o nalezenm souboru,
                vyhrazeno je 4096B, o piazovn plat tot co u pedchozho
                parametru FileExt

3.2 Groupfile
-------------
Funkce WorkProc s prototypem TLoadGroupfileProc slou k naten informac
o souborech uvnit groupfilu. Zjitn informace o souborech jsou pedvny
prostednictvm funkce AddFile.


* Popis funkce WorkProc (prototyp TLoadGroupfileProc):
Params          parametry pro nalezen soubor

nvratov hodnota:
0 (False)       nastala chyba pi natn informac o souborech
!= 0 (True)     vechny informace o souborech byly spn nateny


* Popis struktury TLoadGroupfileParams:
vstupn parametry:
FileHandle      handle prohledvanho souboru,
                pozice souboru je vdy automaticky pednastavena na hodnotu 0

FileName        jmno zdrojovho souboru

Stop            pznak udvajc pkaz k ukonen prohledvn souboru

vstupn parametry:
FileDone        promnn udvajc poet zpracovanch byt souboru,
                slou pro informativn ely

AddFile         funkce, pomoc n se pedvaj informace o nalezenm souboru
                Extractoru

ShowStatus      funkce, kter obnov informace o prohledvn souboru,


* Popis funkce AddFile:
Source          ukazatel na nzev zdrojovho souboru,
                promnn se piazuje ukazatel na nzev souboru, vtinou
                vstupn parametr FileName

Pos             pozice nalezenho souboru ve zdrojovm souboru

Size            velikost nalezenho souboru

Info            informace o nalezenm souboru,
                lze uvst ukazatel na informace o nalezenm souboru

Flag            pznak souboru,
                pro intern pouit, nastavovat na 0

nvratov hodnota:
0 (False)       pidn souboru do seznamu neprobhlo v podku, hledn je
                nutn ukonit
!= 0 (True)     pidn souboru do seznamu probhlo v podku


4. Vytvoen groupfilu
======================
Funkce WorkProc s prototypem TSaveGroupfileProc slou k uloen soubor
do groupfilu. K uloen soubor je mono pout funkci ExtractFile.


* Popis funkce WorkProc (prototyp TSaveGroupfileProc):
Params          parametry pro nalezen soubor

nvratov hodnota:
0 (False)       nastala chyba pi vytven groupfilu nebo bylo vytven
                groupfilu perueno (chybov zprva se nezobraz)
!= 0 (True)     groupfile byl spn vytvoen


* Popis struktury TSaveGroupfileParams:
vstupn parametry:
FileHandle      handle vytvenho souboru,
                pozice souboru je vdy automaticky pednastavena na hodnotu 0

FileName        jmno vytvenho souboru

Count           poet soubor pro uloen do groupfilu

Stop            pznak udvajc pkaz k ukonen prohledvn souboru

vstupn parametry:
FileDone        promnn udvajc poet zpracovanch byt souboru,
                slou pro informativn ely

GetFile         funkce vracejc informace o danm souboru ze seznamu ukldanch
                soubor

ExtractFile     funkce, kter ulo soubor ze seznamu do vytvenho groupfilu

SetInfo         informan funkce

ShowStatus      funkce, kter obnov informace o prohledvn souboru,


* Popis funkce GetFile:
Index           index souboru ze seznamu ukldanch soubor

nvratov hodnota:
adresa struktury GetFileInfo


* Popis funkce ExtractFile:
Index           index souboru ze seznamu ukldanch soubor
Pos             pozice ve souboru groupfilu, na kterou se m dan soubor uloit

nvratov hodnota:
0 (False)       nastala chyba pi ukldn souboru
!= 0 (True)     soubor byl spn uloen nebo bylo ukldn souboru perueno,
                v tom ppad je nastavena hodnota parametru Stop na True 

* Popis funkce SetInfo:
Info           informan etzec, doporueno pedvat jmno aktuln
               zpracovvanho souboru


5. O pluginu
============
Pro zobrazen informac o pluginu slou funkce AboutProc. Funkce je volna pi
stisknut tlatka O pluginu.


* Popis funkce AboutProc (prototyp TAboutProc):
Handle          handle hlavnho okna programu Extractor


6. Konfigurace pluginu
======================
Pro konfiguraci pluginu slou funkce ConfigProc. Funkce je volna pi
stisknut tlatka Nastaven. Pro ukldn nastaven pluginu je mono pout
sadu funkc, kter jsou pedvan pi voln funkce GetPluginInfo. 

* Popis funkce ConfigProc (prototyp TConfigProc):
Handle          handle hlavnho okna programu Extractor