Premium

Získejte všechny články
jen za 89 Kč/měsíc

S Palm Piloty na internet snadno a rychle (2)

V minulém dílu jsme si představili knihovnu Net.lib. Jakmile zjistíme referenční číslo knihovny použitím funkce SysLibFind(), můžeme používat funkce, které jsou v knihovně obsažené.

2. Připojení k síti a odpojení od sítě

V minulém dílu jsme si představili knihovnu Net.lib. Jakmile zjistíme referenční číslo knihovny použitím funkce SysLibFind(), můžeme používat funkce, které jsou v knihovně obsažené.

Funkce knihovny Net.lib mají dvě společné věci. První z nich je společná předpona: všechny funkce začínají předponou NetLib.. Druhým společným znakem je, že všechny tyto funkce vyžadují jako první parametr referenční číslo knihovny.

První dvě popisované funkce slouží k připojení a odpojení sítě. Funkci NetLibOpen() voláme při požadavku na připojení k síti internet.

Err NetLibOpen(UInt16 refCislo, UInt16 *chybaInterface)

Připojí počítač Palm Pilot k internetu.

Vstupní parametry
  • refCislo - referenční číslo knihovny Net.lib
Výstupní parametry
  • chybaInterface - hodnota 0 pokud při inicializaci interface nedošlo k chybě. Došlo-li při inicializaci interface k chybě, je v této proměnné uloženo číslo chyby.
Vrácená hodnota
  • 0 - připojení se povedlo bez chyby
  • netErrAlreadyOpen - je-li již Palm Pilot připojen na síť internet
  • Jinak udává vrácená hodnota číslo chyby.

V panelu nastavení musí být nastaveny příslušné parametry (typ připojení modemu, telefonní číslo, uživatelské jméno a heslo). Funkce NetLibOpen() nevyžaduje žádné parametry - pro připojení k internetu je použit standardní modul interface.

Funkce NetLibOpen() vrací dva druhy chybových hodnot. Vrácená hodnota informuje o obecné chybě připojení k síti - například není-li definován žádný modul interface nebo není-li možné přidělit knihovně Net.lib dostatek operační paměti. Do proměnné chybaInterface je uloženo číslo chyby vrácené příslušným modulem interface.

Vrátí-li funkce NetLibOpen() hodnotu netErrAlreadyOpen, znamená to, že při volání této funkce byl počítač Palm Pilot již připojen k síti internet. Obalující funkce pro připojení k internetu může vypadat například takto:

static Boolean SitPripojit()
{
    UInt16 chybaInterface;
    Err chyba;

    chyba = NetLibOpen(gNetLibReference, &chybaInterface);

    if(chyba != 0 && chyba != netErrAlreadyOpen)
    {
        return false;
    }

    if(chybaInterface != 0)
    {
        return false;
    }

    return true;
}

Vrátí-li funkce SitPripojit() hodnotu true, je počítač Palm Pilot připojen k internetu a můžeme používat ostatní funkce knihovny Net.lib. K odpojení od internetu slouží funkce NetLibClose().

Err NetLibClose(UInt16 refCislo, UInt16 ihned)

Odpojí počítač Palm Pilot od internetu.

Vstupní parametry
  • refCislo - referenční číslo knihovny Net.lib
  • ihned - požadavek na okamžité odpojení
Vrácená hodnota
  • 0 - odpojení proběhlo bez chyby
  • netErrStillOpen - připojení k internetu používá i jiná aplikace
  • ostatní hodnoty - při odpojení došlo k chybě nebo Palm Pilot nebyl připojen k internetu

Druhý parametr funkce NetLibClose() může mít hodnotu true, nebo false. Předáme-li funkci NetLibClose() parametr true, bude počítač Palm Pilot od internetu odpojen okamžitě. Bude-li mít tento parametr hodnotu false, počká operační systém PalmOS chvíli na to, zda nezačne používat internet i jiné aplikace. Teprve pokud uplyne nějaká doba bez požadavků na internet, odpojí se.

Různé programy zacházejí s parametrem funkce NetLibClose() různě. Připojujeme-li se pomocí mobilního telefonu, tak jistě uvítáme, odpojí-li se aplikace okamžitě po stisknutí tlačítka. Na druhou stranu, pokud používáme připojení k internetu ve více aplikacích, je jednodušší s odpojením vyčkat. Také můžeme uživateli dát na vybranou, zda se chce při ukončení aplikace odpojit od internetu ihned nebo se zpožděním.

static Boolean SitOdpojitOkamzite()
{
    Err chyba;

    chyba = NetLibClose(gNetLibReference, true);

    if(chyba != 0)
    {
        return false;
    }

    return true;
}

Jsme-li již připojeni k internetu a zavoláme-li podruhé funkci NetLibOpen(), tato funkce vrátí hodnotu netErrAlreadyOpen. Knihovna Net.lib si pamatuje, kolik aplikací ji současně používá (volání funkce NetLibOpen() přičte a volání funkce NetLibClose() odečte jedničku od čítače připojení). Abychom se od internetu úspěšně odpojili, musíme zavolat funkci NetLibClose() tolikrát, kolikrát bylo připojení otevřeno funkcí NetLibOpen().

Err NetLibOpenCount(UInt16 refCislo, UInt16 *počet)

Zjistí, kolik aplikací využívá připojení na internet.

Vstupní parametry
  • refCislo - referenční číslo knihovny Net.lib
Výstupní parametry
  • počet - počet aplikací, které otevřely připojení na internet
Vrácená hodnota
  • vždy 0

Chceme-li zjistit, zda jsme připojeni k internetu, můžeme volat funkci NetLibOpenCount(). Tato funkce uloží do proměnné, jejíž adresu jí předáme, kolik aplikací zavolalo funkci NetLibOpen() k připojení na internet a ještě se neodpojilo. Má-li tato proměnná vyšší hodnotu než nula, je počítač Palm Pilot stále připojen na internet.

static Boolean SitPripojena()
{
    UInt16 pocet;
	
    NetLibOpenCount(gNetLibReference, &pocet);
    return (pocet > 0);
}

Můžeme použít jednoduchou obalující funkci SitPripojena(), která vrátí hodnotu true, je-li možné přistupovat na internet. Všechny obalující funkce, které budeme v tomto článku vytvářet, budou mít předponu Sit... a budou používat globální proměnnou gNetLibReference, ve které bude uloženo referenční číslo knihovny Net.lib.


Příště si nastavíme emulátor POSE tak, abychom na něm mohli vyzkoušet naši první aplikaci, která se jedním stiskem tlačítka k internetu připojí a druhým se odpojí.

  • Nejčtenější

Spotem s Trojanem na horách operátor popudil Poláky. Nerozuměli nadsázce

21. dubna 2024  8:01

Po dvojici Vojtěch Kotek a Lukáš Pavlásek, k níž později přibyl Jakub Kohák, vsadil T-Mobile ve...

Je to už spíš foťák s mobilem a opravdu se povedl. Test Xiaomi 14 Ultra

21. dubna 2024

Prémiový smartphone Xiaomi 14 Ultra působí mezi současnou nabídkou mobilů jako unikát. Jaký jiný...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Toto zařízení mělo nahradit mobily. V recenzích se mu vysmáli

23. dubna 2024

Novinka s názvem Humane AI Pin se zdála být převratným zařízením. V mnoha ohledech měla nahradit...

Vodafone měl výpadek, někteří zákazníci se nemohli dovolat

25. dubna 2024  10:03,  aktualizováno  10:15

Síť mobilního operátora Vodafone postihl ráno výpadek. Týkal se části zákazníků, kteří se nemohli...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Operátoři zahušťují pokrytí Česka signálem 5G. Máte ho doma? Podívejte se

20. dubna 2024

Premium V červenci to budou již čtyři roky, co byla v Česku spuštěna první komerční 5G síť. Zatímco v...

Xiaomi už se nebude držet zpátky. Pro řadu T chystá další prémiové funkce

26. dubna 2024

Smartphony řady T od Xiaomi mají vždy parádní výbavu, ale zároveň i pár kompromisů, aby trochu...

Vodafone měl výpadek, někteří zákazníci se nemohli dovolat

25. dubna 2024  10:03,  aktualizováno  10:15

Síť mobilního operátora Vodafone postihl ráno výpadek. Týkal se části zákazníků, kteří se nemohli...

Toto mohl být nevídaný smartphone. Myšlenku však nakonec poslali k vodě

25. dubna 2024

S takovým smartphonem bychom už nikdy nemuseli řešit, že se zpomaluje, nemá dostatek paměti či je...

Samsung má povedenou stylovku. Zkusí to s ní na trhu, kde se mu nedaří

24. dubna 2024

Samsung po velmi dlouhé době oprášil modelovou řadu Galaxy C a představil stylový smartphone se...

Akční letáky
Akční letáky

Prohlédněte si akční letáky všech obchodů hezky na jednom místě!

Bývalý fitness trenér Kavalír zrušil asistovanou sebevraždu, manželka je těhotná

Bývalý fitness trenér Jan Kavalír (33) trpí osmým rokem amyotrofickou laterální sklerózou. 19. dubna tohoto roku měl ve...

Herečka Hunter Schaferová potvrdila románek se španělskou zpěvačkou

Americká herečka Hunter Schaferová potvrdila domněnky mnoha jejích fanoušků. A to sice, že před pěti lety opravdu...

Největší mýty o zubní hygieně, kvůli kterým si můžete zničit chrup

Možná si myslíte, že se v péči o zuby orientujete dost dobře, přesto v této oblasti stále ještě existuje spousta...

Tenistka Markéta Vondroušová se po necelých dvou letech manželství rozvádí

Sedmá hráčka světa a aktuální vítězka nejprestižnějšího turnaje světa Wimbledonu, tenistka Markéta Vondroušová (24), se...

Za vytlačení z linky do Brna musí Student Agency zaplatit náhradu 21 milionů

Společnost Student Agency provozující autobusy a vlaky pod označením RegioJet musí zaplatit bývalému konkurentovi 21...