Virtlab:Řídící server/ParserTopology.php.inc

Z VirtlabWiki

(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
Verze z 12:31, 21. 2. 2007
Vav166 (Diskuse | příspěvky)
(doplněn popis)
← Předchozí porovnání
Verze z 12:34, 21. 2. 2007
Vav166 (Diskuse | příspěvky)
(Popis funkcí)
Následující porovnání →
Řádka 3: Řádka 3:
== Popis funkcí == == Popis funkcí ==
; function __construct($file, $is_file=0, $cache_ed=1, $cache_ve=1) : konstruktor třídy v PHP5 ; function __construct($file, $is_file=0, $cache_ed=1, $cache_ve=1) : konstruktor třídy v PHP5
-; public function virtlabParserTopology($file, $is_file=0, $cache_ed=1, $cache_ve=1): konstruktor třídy. Jednotlivé parametry mají tento význam:+; private function virtlabParserTopology($file, $is_file=0, $cache_ed=1, $cache_ve=1): konstruktor třídy. Jednotlivé parametry mají tento význam:
:; $file : obsahuje cestu k XML souboru s [[Virtlab:Topology.dtd|popisem topologie]], nebo jsu v této proměnné uložena přímo XML data (o variantě rozhoduje parametr <tt>$is_file</tt>) :; $file : obsahuje cestu k XML souboru s [[Virtlab:Topology.dtd|popisem topologie]], nebo jsu v této proměnné uložena přímo XML data (o variantě rozhoduje parametr <tt>$is_file</tt>)
:; $is_file : udává jestli je atribut <tt>$file</tt> casta k souboru, nebo přímo XML data :; $is_file : udává jestli je atribut <tt>$file</tt> casta k souboru, nebo přímo XML data

Verze z 12:34, 21. 2. 2007

Tato třída pomáhá vytahovat data z XML souboru. Ten je naparsován třídou virtlabXmlParser.

Popis funkcí

function __construct($file, $is_file=0, $cache_ed=1, $cache_ve=1) 
konstruktor třídy v PHP5
private function virtlabParserTopology($file, $is_file=0, $cache_ed=1, $cache_ve=1)
konstruktor třídy. Jednotlivé parametry mají tento význam:
$file 
obsahuje cestu k XML souboru s popisem topologie, nebo jsu v této proměnné uložena přímo XML data (o variantě rozhoduje parametr $is_file)
$is_file 
udává jestli je atribut $file casta k souboru, nebo přímo XML data
$cache_ed 
nastavuje, jestli se maji data o linkách uložit do proměnné, ze které si při potřebě načítají, nebo se vždy čtou z původního výstupu třídy virtlabXmlParser
$cache_ve 
jako u $cache_ed, ale pro jednotlivé prvky
public function getEdges()
vrátí část původního pole, která popisuje jen linky virtuální topologie
public function getEdgesCount()
vrátí počet linek v topologii
public function getEdge($index)
vrátí určenou linku (podle parametru $index, který odpovídá jejímu indexu v celkovém poli včech linek)
public function getEdgeName($index)
vrátí název zadané linky
public function getEdgeByName($name, &$index)
vrátí požadovanou linku (určenou jejím názvem). Do parametru $index se uloží její index
public function getEdgeTechnology($index)
vrátí technologii linky
public function getEdgeEthertype($index)
vrátí verzi ethernetu linky. Pokud je technologie serial vrací NULL.
public function getEdgeMinbps($index)
vrátí minimální rychlost linky. Pokud je technologie ethernet vrací NULL.
public function getEdgeVertexes($index)
vrátí zařízení určené linky
public function getEdgesByVertex($name)
vrátí linky, na kterých leží zadané zařízení. Pokud na žádné vrací NULL.
public function getEdgeFeatures($index)
vrátí speciální vlastnosti linky. Pokud nejsou zadány, vrací NULL.
public function getEdgesFeatures() 
vrátí všechny speciální vlastnosti všech linek v topologii
public function getEdgesList($variant=1) 
vrátí seznam linek v topologii
public function getVertexes()
vrátí část původního pole, která popisuje jen zařízení virtuální topologie
public function getVertexesCount()
vrátí počet zařízení v topologii
public function getVertex($index)
vrátí určené zařízení
public function getVertexName($index)
vrátí název zařízení
public function getVertexByName($name) 
vrátí požadované zařízení (určené jménem)
public function getVertexPlatforms($name, $variant=1) 
vrácí zadané platformy zařízení. Parametr $variant určuje jestli výstup je část původního pole, nebo jde o jednoduche pole hodnot (viz příklady)
public function getVertexOS($name, $variant=1) 
vrátí zadanou verzi OS
public function getVertexType($name) 
vrátí typ zařízení
public function getVertexesByType($type) 
vrátí zařízení určeného typu
public function getVertexesTypes() 
vrátí všechny typy zařízení v topologii
public function getVertexFeatures($name) 
vrátí speciální vlastnosti zařízení
public function getVertexesFeatures() 
vrátí všechny speciální vlastnosti všech zařízení v topologii
public function getVertexesList($variant=1) 
vrátí seznam zařízení v topologii

Příklady

$hrany = $parser->getEdgeName(2);
Kacena
$hrany = $parser->getEdgeVertexes(2);
Array
(
   [0] => ra
   [1] => rd
)
$hrany = $parser->getEdgesList(0);
Array
(
   [Kacena] => 2
   [Krokodyl] => 1
   [Kocour] => 0
)
$hrany = $parser->getEdgesList();
Array
(
   [2] => Kacena
   [1] => Krokodyl
   [0] => Kocour
)
$hrany = $parser->getVertexesList(0);
Array
(
   [ra] => 3
   [rb] => 2
   [rc] => 1
   [rd] => 0
)
$hrany = $parser->getVertexesList();
Array
(
   [3] => ra
   [2] => rb
   [1] => rc
   [0] => rd
)
Osobní nástroje