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ší

Ilustrační snímek
ČTÚ smetl ze stolu žádosti virtuálů. Roaming je pro ně noční můrou

Již v průběhu května obdržel Český telekomunikační úřad od tří virtuálních operátorů žádosti o povolení účtovat příplatek k roamingu. Virtuálové bez vlastní...  celý článek

Google Pixel 2 od HTC.
Pixel 2 na prvním obrázku. Vypadá to na hodně konzervativní přístroj

Letos se dočkáme druhé generace smartphonů Pixel od Googlu. Základní model některými vlastnostmi možná nepříjemně překvapí. Jinak bude ze staré školy.  celý článek

Během letu si chtěl natočit vedle letící letadlo, telefonu mu ovšem vypadl z...
Samsung mu vypadl z letícího letadla a nerozbil se

Může smartphone přežít pád ze 300 metrů, když i náraz z jen půlmetrové výšky mívá často fatální následky? Někdy zjevně ano. Třeba jeden tři roky starý Samsung...  celý článek

Nokia 8
Nejlepší Nokia 8 má skvělý výkon a je to první „obojíčkový“ smartphone

Nový vlastník značky Nokia konečně představil svůj top model. Novinka s označením 8 je špičkový smartphone, který ctí tradice. Nemá displej přes celé čelo, ale...  celý článek

Ilustrační snímek
Úřad chce regulovat mobilní trh. Může to zlevnit volání a rychlá data

Podle Českého telekomunikačního úřadu na trhu nefunguje hospodářská soutěž. Regulaci však bude předcházet veřejná konzultace a následně analýza trhu. Výsledky...  celý článek

Další z rubriky

Ilustrační snímek
Na dovolené se můžete seznámit i nespálit

Na dovolenou si bereme kde co, ovšem počítač/notebook často zůstává doma. Ten je na jedné straně prostředkem k pohodlnému přístupu k informacím, na druhé pak k...  celý článek

Netradiční fotoaplikace Gudak vás donutí nad fotkami zase přemýšlet
Za 23 korun vám aplikace fotku z iPhonu ukáže až za tři dny

Vnímání fotografie se za posledních pár let výrazně změnilo. Díky záznamovým médiím již totiž nemusíme přemýšlet nad každým snímkem jako kdysi. Doby, kdy se...  celý článek

Aplikace Facebook Messenger Lite je dostupná i v Česku
Šetří místo i data. Dietní Messenger od Facebooku je i v Česku

Facebook Messenger je jedním z nejpoužívanějších kecálků, ale ne všechny telefony si s ním poradí. Loni se tak zrodila myšlenka na odlehčenou verzi určenou pro...  celý článek

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

Všechny akční letáky na jednom místě!

Najdete na iDNES.cz



mobilní verze
© 1999–2017 MAFRA, a. s., a dodavatelé Profimedia, Reuters, ČTK, AP. Jakékoliv užití obsahu včetně převzetí, šíření či dalšího zpřístupňování článků a fotografií je bez souhlasu MAFRA, a. s., zakázáno. Provozovatelem serveru iDNES.cz je MAFRA, a. s., se sídlem
Karla Engliše 519/11, 150 00 Praha 5, IČ: 45313351, zapsaná v obchodním rejstříku vedeném Městským soudem v Praze, oddíl B, vložka 1328. Vydavatelství MAFRA, a. s., je členem koncernu AGROFERT.