Klávesové zkratky na tomto webu - základní
Přeskočit hlavičku portálu

S Palm Piloty na internet snadno a rychle (2)

aktualizováno 
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ší

Apple má tři nové iPhony. Podporují dvě SIM, ale v Česku to nefunguje

iPhone XS/XS Max

Apple letos představil tři nové iPhony, které navazují na loňský model X. Úplně nových smartphonů od Applu se ovšem...

Takto vypadá boj o zákazníky: pětkrát více dat a úhrada smluvní pokuty

Slovenský operátor O2 navýšil základní data u vybraných tarifů

Od revoluce v roce 2013 zažívá český mobilní trh spíše menší otřesy, zákazníci operátorů toužící po neomezeném tarifu s...



Konkurence se trefuje do „předražených“ nových iPhonů

Všechny tyto produkty Xiaomi stojí stejně, jako nový model iPhone XR

Na vysoké ceny novinek od Applu reagovali konkurenti poněkud posměšnými nabídkami. Ukazují v nich, co všechno z jejich...

Feministky kritizují nové iPhony. Jsou moc velké na ženskou ruku

iPhone XS/XS Max

Od doby, kdy Apple upustil od malých smartphonů, úhlopříčka nových modelů prudce narůstá. Nejnovější model ve verzi Max...

Nejnovější hodinky Apple Watch se povedly. Změří i elektrokardiogram

Apple představil Watch Series 4 s většími displeji a senzorem pro měření EKG

Přestože byly hlavními hvězdami tiskové konference Applu nové iPhony, zájem vzbudila i další generace chytrých hodinek....

Další z rubriky

Už přes ni vyhrožovali smrtí. Přesto je aplikace extrémně populární

Logo aplikace Sarahah

Vysoký nárůst popularity zaznamenala aplikace Sarahah, určená k posílání anonymních zpráv. Ačkoliv se v posledních...

Tyto aplikace vám řeknou vše o počasí. Vyberte si pro vás tu pravou

Ilustrační snímek

Nástroje, které vám pomohou zjistit, jaké bude počasí, jsou v mobilu mnohdy neocenitelným pomocníkem. Vybrali jsme ty...

Sem chodí smartphony umřít. Aplikaci lze použít jen s vybitou baterií

Die With Me

Aplikace s názvem Umři se mnou má velmi neobvyklé omezení. Nemůžete ji zapnout, pokud máte telefon nabitý víc než na...

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

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

Najdete na iDNES.cz