wiki:ImageFlasher/API
Last modified 7 years ago Last modified on 09/13/2009 12:32:33 PM

Ker se za flashanje posameznih tipov routerjev v veliki meri uporabljajo podobni ukazi, je eden prvih ciljev dela na Image Flasherju določitev API-ja, ki se potem lahko uporablja v vseh primerih flashanja

RouterFlasher

Z idejo abstrakcije posameznega flashing procesa (za določen tip routerja) od GUI čarovnika, definiramo vmesnik RouterFlasher.

interface RouterFlasher {
   string getRouterTypeName()
   string[] requiredFirmwareFiles()
   int setFirmwareFiles(string[])
   int flash(Monitor)
}

Glavni del implementacije (dejansko flashanje) se izvrši v funkciji flash, ki dobi kot vhodni parameter objekt tipa Monitor. Preko tega objekta lahko proces uporabniku preko GUIja sporoča informacije o napredku.

interface Monitor {
   void print(string)
   void setProgress(int)
}

Flashing API

Večina elementarnih operacij, potrebnih pri procesu flashanja je za vse tipe routerjev podobnih, zato je cilj pri izdelavi ImageFlasherja določitev APIja, ki ga lahko uporabimo za hitro dodajanje podpore flashanja novih routerjev.

HTTP requests

TODO

telnet requests

TODO

SSH requests

TODO

TFTP support

TODO