Co třeba neoficiální SDK

Podpora vývojářů nových pluginů, oznámení o nových pluginech nezávislých autorů a diskuse o nich.
User avatar
Datalog
Posts: 244
Joined: 10 Dec 2005, 11:21
Location: Prague, Czech Republic
Contact:

Co třeba neoficiální SDK

Post by Datalog »

Tak 2.5 je venku.

Nepoodhrnete roušku tajemství a nepustíte ven pár neoficiálních textů SDK, API? Zdůrazňuji neoficiálních.

Vím, že už to zde bylo několikrát žádáno a zamítnuto. Ale předpokládám, že nově vytvářené pluginy by mohly být alespoň částečně zpětně kompatibilní s právě 2.5kou. Takže když nějaké drobné informace pustíte ven, už by zde nemusel být problém kompatibility.
User avatar
Datalog
Posts: 244
Joined: 10 Dec 2005, 11:21
Location: Prague, Czech Republic
Contact:

Post by Datalog »

Mimochodem. Neobtěžoval bych, kdyby v aktualizované roadmap nebylo až do vánoc 07 plno jinými úkoly.
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Post by Jan Rysavy »

SDK vydáme hned po víkendu. Bohužel bez pořádné dokumentace a s komentáři pouze v češtině, ale už chceme, abyste ho měli k dispozici.
User avatar
Datalog
Posts: 244
Joined: 10 Dec 2005, 11:21
Location: Prague, Czech Republic
Contact:

Post by Datalog »

Jan Rysavy wrote:SDK vydáme hned po víkendu.
:-*
Jan Rysavy wrote:Bohužel bez pořádné dokumentace a s komentáři pouze v češtině, ...
Klídek, to zvládneme, zbastlíme, v EN sekci (někteří s omezením chabých jazykových znalostí :oops: ) poradíme co se dá.
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Post by Jan Rysavy »

Pro čechy to použitelné bude, ale pro cizince to bude skutečně chtít přeložit do angličtiny. Kdybychom to dělali před vydáním SDK, zase by ho to odsunulo a odsunulo by to Salamandera.

Tomáš Kopal rozběhne WiKi. Máme tušení, že by se mohla (nejen) v souvislosti s SDK velice hodit.

Mimochodem, máte někdo dobré zkušenosti s nějakým dokumentačním systémem typu DOC++?

Zatím celá "dokumentace" vypadá takto:

Code: Select all

    // odstraneni adresare vcetne jeho obsahu (SHFileOperation je priserne pomaly)
    // mozne volat z libovolneho threadu
    virtual void WINAPI RemoveTemporaryDir(const char *dir) = 0;

    // protoze windowsova verze MoveFile nezvlada prejmenovani souboru s read-only atributem na Novellu,
    // napsali jsme si vlastni (nastane-li chyba pri MoveFile, zkusi shodit read-only, provest operaci,
    // a pak ho zase nahodit); vraci uspech (pri neuspechu vraci v 'err' (neni-li NULL) kod Windows chyby)
    // mozne volat z libovolneho threadu
    virtual BOOL WINAPI SalMoveFile(const char *srcName, const char *destName, DWORD *err) = 0;
Asi bychom to měli překlopit do nějakého použitelnějšího tvaru...
Last edited by Jan Rysavy on 28 Apr 2007, 06:45, edited 1 time in total.
User avatar
Datalog
Posts: 244
Joined: 10 Dec 2005, 11:21
Location: Prague, Czech Republic
Contact:

Post by Datalog »

Jan Rysavy wrote:Asi bychom to měli překlopit do nějakého použitelnějšího tvaru...
Z té ukázky mi to připadá naprosto pochopitelné a dostatečně použitelné. Vždyť to má i komentáře. :)

DOC++ se omlouvám, nemohu sloužit.
User avatar
zarevak
Plugin Developer
Plugin Developer
Posts: 789
Joined: 04 Feb 2006, 16:49
Location: Prague, Czech Republic

Post by zarevak »

Jan Rysavy wrote:Mimochodem, máte někdo dobré zkušenosti s nějakým dokumentačním systémem typu DOC++?
DOC++ neznám. Asi bych radši použil Doxygen, který mi z jejich webu přijde spravovanější a i používá hežčí syntax komentářů vycházející z JavaDoc, který je rozumně čitelný i lidmi :wink:
Jan Rysavy wrote:Asi bychom to měli překlopit do nějakého použitelnějšího tvaru...
Verze v JavaDoc pro Doxygen (nektere komentare jsem si domyslel):

Code: Select all

/** Odstraneni adresare vcetne jeho obsahu
 * Odstraneni adresare vcetne jeho obsahu (SHFileOperation je priserne pomaly)
 *
 * Mozne volat z libovolneho threadu
 *
 * @param dir          Cesta k adresari. Nemusi obsahovat koncove \.
 *                     Pokud je NULL, tak funkce nic nedela.
 * @return void
 */
virtual void WINAPI RemoveTemporaryDir(const char *dir) = 0;

/** Prejmenovani souboru s osetrenymi problemy
 * Protoze windowsova verze MoveFile nezvlada prejmenovani souboru s read-only atributem na Novellu,
 * napsali jsme si vlastni (nastane-li chyba pri MoveFile, zkusi shodit read-only, provest operaci,
 * a pak ho zase nahodit); 
 *
 * Mozne volat z libovolneho threadu
 * 
 * @param srcName      Zdrojovy nazev souboru. Pokud soubor neexistuje, tak problem.
 *                     Pokud je NULL, tak funkce nic nedela.
 * @param destName     Cilovy nazev souboru. Nesmi byt NULL
 * @param err          kod Windows chyby v pripade neuspechu
 * @return BOOL        <code>true</code> pokud byl soubor prejmenovan; 
 *                     <code>false</code> pokud nejaky problem - zkontrolujte err.
 */
virtual BOOL WINAPI SalMoveFile(const char *srcName, const char *destName, DWORD *err) = 0;
k0nelupy

Post by k0nelupy »

Sláva děkujeme za 2.5 i za SDK

jinak v http://www.altap.cz/salam_cz/newver.html
se píše že Jádro Altap Salamandera :

* První verze Altap Salamander 2.5 SDK pro vývojáře pluginů.
předpokládám tedy že to platí až po víkendu
neboť jsem nikde v jádru nic ukrytého nenašel :-)

Pro mne tedy rozhodně lepší takto krásně komentováno než nějaký učesaný překlad do angličtiny. Aspoň budeme mít před anglánama náskok :-)
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Post by Jan Rysavy »

Ano, jak píšu nahoře: po víkendu :)

Počítejte prosím s tím, že pomocí SDK bude možné realizovat pluginy podobné těm existujícím (prohlížeče, archivátory a případně file systémy). Nepřidáte do Salamandera třetí panel, nevložíte do panelu QuickView, atd.
User avatar
Datalog
Posts: 244
Joined: 10 Dec 2005, 11:21
Location: Prague, Czech Republic
Contact:

Post by Datalog »

k0nelupy wrote:... jinak v http://www.altap.cz/salam_cz/newver.html
se píše že Jádro Altap Salamandera :

* První verze Altap Salamander 2.5 SDK pro vývojáře pluginů.
Jejky, jsem slepouš slepý a při zakládání tématu jsem to přehlédl :cry:
Moc se omlouvám za omyl, má úvodní otázka byla naprosto zbytečná. Stačilo lépe číst.
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Post by Jan Rysavy »

Bohužel jsme nestihli připravit SDK společně s plnou verzí 2.5, což způsobilo tento mírný zmatek. Příští týden to dořešíme.
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Post by Jan Rysavy »

Informace o stavu SDK k 3.5.2007

Překládáme interní hlášení Salamandera do angličtiny. Jedná se asi o 2000 hlášek, do zítřka by to mělo být. Tyto hlášky jsou pro tvůrce pluginu poměrně zásadní (například Salamander ohlásí, že dané volání mělo proběhnout z hlavního vlákna, atd). S SDK tedy vydáme vývojářský build Salamandera 2.5. Hlášky padají do maličké aplikace Trace Server (fotka dole), která bude také součástí SDK.

Momentálně je ideální vývojovou platformou pro Salamandera Microsoft Visual C++ 6.0. Pokud máte tento překladač, budete schopni vytvořit shodné pluginy, jaké jsou standardně součástí Salamandera.

Pluginy lze tvořit také v Borland C++ a Microsoft Visual C++ 2005 (EE). Interface je pro tyto překladače připaven. V tomto případě je však problém s RTL, není možné plugin linkovat se salrtl.dll. Místo toho si plugin musí nést své RTL, což znamená celkově větší rozměry. Pro MS Visual C++ 2005 se možná najde řešení, musíme to ještě prověřit. Koncem roku vydáme Salamandera 2.53, který bude přeložen v MS Visual C++ 2005, které se tak stane hlavní vývojovou platformou.

Teoreticky by pluginy mělo být možné tvořit v Delphi, volací konvence jsou na to připraveny. Znamenalo by to však překlopení interface do Delphi. Samozřejmě je tu opět overhead s RTL. Tento krok neplánujeme, nebudeme se bránit Vaší případné iniciativě.

SDK pro Salamandera je VELIKÉ. Pokud srovnáte SDK Salamandera s SDK konkurence (TC, FAR), vychází náš interface minimálně 10x větší. Je to dáno tím, že jsme se snažili pluginy do Salamandera integrovat co možná nejhladším způsobem (mám na mysli zážitek uživatele při práci s pluginem). Předesílám to předem, abyste nebyli zaskočeni :)

Co s SDK bude možné vytvořit:
Plugin typu VIEWER (asi nejméně složitý plugin, používá několik málo funkcí interface)
Plugin typu ARCHIVER (trošku složitější plugin, používá kolem desítky funkcí, unpackery jsou obecně jednodušší proti packerům)
Plugin typu FILE SYSTEM (řádově komplikovanější typ pluginu)
Ostatní pluginy typu Checksum, Renamer nebo File Comparator jsou z hlediska SDK naprosto nenáročné.
Samozřejmě jsem bral v potaz pouze otázku náročnosti připojení pluginu na Salamandera.

Editace: zmena cisel verzi: 2.6 na 2.51, 2.7 na 2.52 a 2.8 na 2.53
Attachments
Altap Trace Server
Altap Trace Server
traceserver.png (24.83 KiB) Viewed 20917 times
Last edited by Jan Rysavy on 04 May 2007, 13:57, edited 1 time in total.
k0nelupy

Post by k0nelupy »

Dekujeme za info
bohuzel fotku nevidim

Mam dotaz nebylo by mozne dat take ceskou verzi tech 2000 hlaseni treba jako prilozeny slovnicek ? urcite to nekde v textaku budete mit.
Tyto hlasky budou pro tvurce pomerne zasadni tak aby jim tvurce rozumel :-)
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Post by Jan Rysavy »

Nezobrazuje se Vám příloha u mého příspěvku? Ani informace o tom, že příloha existuje?

Čeština: nepředpokládáme, že by tvůrci pluginů nerozuměli angličtině alespoň na triviální úrovni, kterou sami používáme. Jak by si potom přečetli MSDN (MS Platform SDK) dokumentaci -- bibli pro tvorbu pluginů. Naopak doufáme, že se kolem SDK vytvoří komunita, co ho dostane kompletně do angličtiny.
k0nelupy

Post by k0nelupy »

nikde zadnou prilohu ani informaci o ni nevidim :-(

Ta cestina je pro mne porad jeste trivialnejsi. Bibli nectu.
Aspoň se tedy zase zdokonalim v anglictine.
Post Reply