Coverage profiler SDK - Třídy


_PackUtils

Tato třída slouží pro identifikaci VFP plug-inu komponenty, kompresní a dekompresní EXE/DLL. Plní se informacema z INI souboru ze sekce [PakcUtils].
Provádí také vlastní test na přítomnost jednotlivých částí (zda vůbec existují).
Vlastnosti
NázevHodnotaPopis
C_File""Kompresní utilita
 Určuje umístění a název kompresní utility. Pokud je v INI souboru použita relativní cesta, pak tato cesta bude nahrazena plnou cestou.
D_File""Dekompresní utilita
 Určuje umístění a název dekompresní utility. Pokud je v INI souboru použita relativní cesta, pak tato cesta bude nahrazena plnou cestou.
VFP""VFP plugin pro kompresi a dekompresi
 Určuje umístění a název VFP pluginu s definicí interface pro kompresní a dekompresi. Pokud je v INI souboru použita relativní cesta, pak tato cesta bude nahrazena plnou cestou.
iPack.NULL.Interface pro pakování a rozpakování
 Na tuto vlastnost se nalinkuje interface pakovací komponenty vrácený pomocí procedury GetIterface() z VFP pluginu.
lError.F.Příznak chyby
 Interní příznak pro zachycení chyby v události Error()
Metody
NázevPopis
IntegrityTest()Provede test, zda existují části pakovací komponenty
 
BOOLEAN IntegrityTest(
   liFile INTEGER && Typ části na kontrolu
)
Parametr:
liFile
Tento parametr řídí, která část se má kontrolovat. 0 - kompresní část, 1 - dekompresní část
Vrací:
.T. - části lokalizovány, .F. - jakákoliv část nebyla lokalizována
Poznámka:
Pokud na daných cestách neexistují dané části (EXE/DLL), pak se je pokusí lokalizovat. Pokud se to podaří pak se zapíšou zpět do vlastností C_File/D_File/VFP cesta a název dané části..
Tuto metodu volá sám "Coverage Profiler" před každým ukládáním do CVP souboru či načítáním z CVP souboru. VFP plugin se kontroluje vždy jen jednou a to při první zavoláním této metody.


_struc_PROCESS_INFORMATION

Tato třída slouží předání informací pro funkci CreateProcess() co a jak se má spustit. Tato třída je částečným ekvivalentem struktury PROCESS_INFORMATION.
Vlastnosti
NázevHodnotaPopis
cb0Reserved
 
lpReserved.NULL.
 
lpDesktop.NULL.
 
lpTitle.NULL.
 
dwX0
 
dwY0
 
dwXSize0
 
dwYSize0
 
dwXCountChars0
 
dwYCountChars0
 
dwFillAttribute0
 
dwFlags0
 
wShowWindow0
 
cbReserved20
 
lpReserved2.NULL.
 
hStdInput0
 
hStdOutput0
 
hStdError0
 
Metody
NázevPopis
SizeOf()Vrátí kompletní délku struktury v bytes.
 
INTEGER SizeOf()
Vrací:
Kompletní délku řetězce v bytes.
Poznámka:
Tuto metodu využívá metoda CreateString().
CreateString()Vytvoří string
 
STRING CreateString()
Vrací:
Z obsahu vlastností vytvoří řetězec.
Poznámka:
Vrácený řetěc se předá do API funkce CreateProcess()..


_struc_STARTUPINFO

Tato třída slouží pro navrácení informací z funkce CreateProcess() o spuštěném procesu. Tato třída je ekvivalentem struktury STARTUPINFO.
Vlastnosti
NázevHodnotaPopis
hProcess0Handle spuštěného procesu
 Handle spuštěného procesu
hThread0Handle hlavního vlákna spuštěného procesu
 
dwProcessId0Identifikátor spuštěného procesu
 
dwThreadId0Identifikátor hlavního vlákna spuštěného procesu
 
Metody
NázevPopis
CreateString()Vytvoří string z vlastností
 
STRING CreateString()
Vrací:
Z obsahu vlastností hProcess, hThread, dwProcessId, dwThreadId vytvoří řetězec.
Poznámka:
Vrácený řetěc se předá do API funkce CreateProcess()..
ReadString()Ze stringu načte zpět informace do vlastností
 
NONE ReadString(
   lcStruc STRING && Zdrojový řetězec obsahující strukturu jazyka C++ 
)
Parametr:
lcStruc
Tento parametr obsahuje naplněnou strukturu STARTUPINFO vyjádřenou jako řetězec
Poznámka:
Údaje z řetězce se převedou na vlastnosti hProcess, hThread, dwProcessId, dwThreadId.


_File

Tato třída slouží pro předání informací o komprimovaném/dekomprimovaném souboru.
Vlastnosti
NázevHodnotaPopis
Key""Kód souboru (XXT100.DBF)
 Určuje jednoznačný klíč souboru v interním seznamu.
Group""Skupina (XXT100)
 Určuje skupinu, do které soubor patří. Třeba soubory XXT100.DBF a XXT100.FPT patří do skupiny XXT100
Main.T.Příznak, zda se jedná o hlavní soubor ve skupině
 Určuje zda tento soubor je definován jako hlavní v dané skupině. Tento příznak mají všechny DBF soubory.
Caption""Popis skupiny/souboru
 Popis konkrétního souboru nebo skupiny.
Necessary.T.Příznak, zda je soubor nutný pro uložení
 Příznak, zda je nutné tento soubor uložit do souboru CVP.
Size0Velikost nezpakovaného souboru
 Určuje velikost nezpakovaného souboru.
Packed0Příznak souboru, zda byl zpakován
 Příznak, zda byl tento soubor při načtení z CVP souboru dekomprimován.
PackedSize0Velikost zpakovaného souboru
 Určuje velikost zpakovaného souboru.
Saved0Příznak, zda byl souboru uložen
 Příznak, zda se podařilo tento soubor uložit do souboru CVP, či byl tento soubor načten z CVP souboru.
MaySave0Příznak, zda se může uložit (jen pro Necessary=.F.)
 Určuje zda se má tento soubor ukládat do CVP souboru.
File""Název cesty a souboru pro uložení a otevření
 Určuje umístění a název souboru pro práci s nim.
FirstRecord0První řádek, kde se nachází uložený soubor
 Určuje první řádek v CVP souboru, kde se nacházejí první bytes tohoto souboru.


_strucPack

Tato třída slouží předání informací pro kompresi/dekompresi souborů.
Vlastnosti
NázevHodnotaPopis
PU.NULL.Odkaz na objekt o pakovací utilitě třídy _PackUtils
 Objekt obsahuje potřebné informace pro určení samotných kompresních a dekompresních utilit.
PI.NULL.Odkaz na objekt třídy _struc_PROCESS_INFORMATION
 Objekt má vyplněné vlastnosti dwFlags a wShowWindow a to tak, aby se při spuštění procesu nezobrazovalo hlavní okno procesu.
SI.NULL.Odkaz na objekt třídy _struc_STARTUPINFO
 Objekt soluží pro navrácení informací o spuštěném procesu.
File.NULL.Odkaz na objekt souboru _File
 Objekt obsahuje potřebné informace pro kompresi a dekompresi souboru (třeba velikost souboru před a po kompresi).
File_S""Zdrojový soubor pro kompresi/dekompresi
 V případě komprese obsahuje umístění a název souboru pro kompresi.
V případě dekomprese obsahuje umístění a název souboru pro dekompresi.
File_D""Cílový soubor pro kompresi/dekompresi
 V případě komprese obsahuje umístění a název souboru výsledného zkomprimovaného souboru.
V případě dekomprese obsahuje umístění a název dekomprimovaného souboru.