ΠΠ·Π»Π΅Π·Π΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈΠ·Π°ΡΠΎΡ Π½Π° Π»ΠΈΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° MyLibrary 4.3. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ C++ ΠΈ Π΅ Π½Π°Π»ΠΈΡΠ΅Π½ (GitHub, GitFlic) ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ GPLv3. ΠΡΠ°ΡΠΈΡΠ½ΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° GTK4. ΠΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π΅ Π°Π΄Π°ΠΏΡΠΈΡΠ°Π½Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΎΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎΡΠΎ Π½Π° Linux ΠΈ Windows. ΠΠ° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° Arch Linux Π² AUR Π΅ Π½Π°Π»ΠΈΡΠ΅Π½ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π³ΠΎΡΠΎΠ² ΠΏΠ°ΠΊΠ΅Ρ. ΠΠ° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° Windows Π΅ Π½Π°Π»ΠΈΡΠ΅Π½ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π΅Π½ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΎΡ.
MyLibrary ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈΠ·ΠΈΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ ΠΊΠ½ΠΈΠ³ΠΈ Π²ΡΠ² ΡΠΎΡΠΌΠ°ΡΠΈΡΠ΅ fb2, epub, pdf, djvu, odt, txt, md, ΠΊΠ°ΠΊΡΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ, ΡΠ°ΠΊΠ° ΠΈ ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½ΠΈ Π² Π°ΡΡ ΠΈΠ²ΠΈ (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar) ΠΈ ΡΡΠ·Π΄Π°Π²Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, Π±Π΅Π· Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½Ρ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ Π±Π΅Π· Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½Ρ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈΠΌ. ΠΠ° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈΠ·Π°ΡΠΈΡ Π΅ Π½Π°Π»ΠΈΡΠ΅Π½ ΠΈ ΡΠΎΡΠΌΠ°ΡΡΡ fbd (ΡΠ°ΠΉΠ» ΠΊΠ½ΠΈΠ³Π°, ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½ Π² Π°ΡΡ ΠΈΠ² Π·Π°Π΅Π΄Π½ΠΎ Ρ ΡΠ°ΠΉΠ» Ρ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ fbd, ΡΡΠ΄ΡΡΠΆΠ°Ρ ΡΠ°Π³ description ΡΠΎΡΠΌΠ°ΡΠ° fb2). ΠΡΠ² ΡΠΎΡΠΌΠ°Ρ fbd ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π½Π΅ ΡΠ°ΠΌΠΎ ΠΊΠ½ΠΈΠ³ΠΈ. ΠΠΎΠ½ΡΡΠΎΠ»ΡΡ Π½Π° ΡΠ΅Π»ΠΎΡΡΡΠ° Π½Π° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΡΠ° ΠΈ Π½Π΅ΠΉΠ½ΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΡΡΠ΅Π· ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ Ρ Π΅Ρ-ΡΡΠΌΠΈΡΠ΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΠΈ Π°ΡΡ ΠΈΠ²ΠΈΡΠ΅.
Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π΅ ΡΡΡΡΠ΅Π½Π΅ Π½Π° ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ (ΡΠ°ΠΌΠΈΠ»ΠΈΡ, ΠΈΠΌΠ΅, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ Π½Π° Π°Π²ΡΠΎΡΠ°, Π·Π°Π³Π»Π°Π²ΠΈΠ΅ Π½Π° ΠΊΠ½ΠΈΠ³Π°ΡΠ°, ΠΏΠΎΡΠ΅Π΄ΠΈΡΠ°, ΠΆΠ°Π½Ρ) ΠΈ ΡΠ΅ΡΠ΅Π½Π΅ΡΠΎ ΠΈΠΌ ΡΡΠ΅Π· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°, ΠΊΠΎΡΡΠΎ Π΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π° Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΎΡΠ²Π°ΡΡΠ½Π΅ Π½Π° ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. ΠΡΠΈ ΠΈΠ·Π±ΠΎΡ Π½Π° ΠΊΠ½ΠΈΠ³Π° ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ Π°Π½ΠΎΡΠ°ΡΠΈΡ ΠΈ ΠΊΠΎΡΠΈΡΠ° Π½Π° ΠΊΠ½ΠΈΠ³Π°ΡΠ°, Π°ΠΊΠΎ ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΈ. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΏΠΈΡΡΠΊ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅, Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π² ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΡΠ°; ΡΠΏΠΈΡΡΠΊ Π½Π° ΠΊΠ½ΠΈΠ³ΠΈΡΠ΅, Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΡΠ°ΠΉΠ»; ΡΠΏΠΈΡΡΠΊ Π½Π° Π°Π²ΡΠΎΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΡΠ°; ΡΠΏΠΈΡΡΠΊ Π½Π° ΠΊΠ½ΠΈΠ³ΠΈΡΠ΅, Π·Π° ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ Π΅ ΡΡΠ·Π΄Π°Π» Π±Π΅Π»Π΅ΠΆΠΊΠΈ.
ΠΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΡΠ°: Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ (ΠΎΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΡΠ»Π°ΡΠ° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡ ΠΈ ΡΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° Ρ Π΅Ρ-ΡΡΠΌΠΈΡΠ΅ Π½Π° Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅), Π±ΡΡΠ·Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ (Π±Π΅Π· ΠΏΡΠ΅ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π½Π° Ρ Π΅Ρ-ΡΡΠΌΠΈΡΠ΅), Π΅ΠΊΡΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π½Π° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΡΠ°, Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΡΠ° ΠΈ ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΡ ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΡΠ°, Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΏΠ°ΠΏΠΊΠΈ Ρ ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΡΠ°, Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π°ΡΡ ΠΈΠ²ΠΈ Ρ ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΡΠ° (Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ Π½Π° ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ/ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅), ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΡ ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΡΠ° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½Π° ΠΏΠ°ΠΏΠΊΠ°, ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ½ΠΈΠ³ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠ»Π΅ΠΊΡΠΈΠΈ. ΠΠΎΡΡΡΠΏΠ½ΠΎ Π΅ ΡΡΡΠ½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΠΏΠΈΡΠΈ Π·Π° ΠΊΠ½ΠΈΠ³ΠΈ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. Π‘ΡΠ·Π΄Π°Π΄Π΅Π½ Π΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΠΎΡΠΌΠ΅ΡΠΊΠΈ Π·Π° Π±ΡΡΠ· Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΊΠ½ΠΈΠ³ΠΈ. ΠΠΌΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ Π±Π΅Π»Π΅ΠΆΠΊΠΈ ΠΊΡΠΌ ΠΊΠ½ΠΈΠ³ΠΈ. ΠΠΏΡΠΈΠΎΠ½Π°Π»Π½ΠΎ Π΅ Π½Π°Π»ΠΈΡΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ ΠΈ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ. ΠΠΌΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΡΠ΅ ΠΎΡΠ²ΠΎΡΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° Π·Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ MLBookProc, MLPluginIfc ΠΈ XMLParserCPP (Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°), Π°ΠΊΠΎ ΡΠ°ΠΊΠ°Π²Π° Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½Π° Π² ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅.
ΠΠ½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ:
- ΠΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ XML ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΡΠ° ΠΈΠ·Π½Π΅ΡΠ΅Π½ΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° XMLParserCPP (Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° MLBookProc, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π°ΠΏΡΠ»Π½ΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ).
- ΠΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° XMLParserCPP Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
- ΠΡΡΡΡΠ°Π½Π΅Π½ΠΈ ΡΠ° Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΎΡΠΎΡΠΌΠ΅Π½ΠΈ XML ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
- ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° MLBookProc Π΅ ΠΏΡΠ΅Π²Π΅Π΄Π΅Π½Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° std::exception ΠΊΠ°ΡΠΎ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ.
- ΠΡΠΊΠΎΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΠΈ ΠΊΠ»Π°ΡΠΎΠ²Π΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° MLBookProc ΡΠ° ΠΎΠ±ΡΠ²Π΅Π½ΠΈ Π·Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ (ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ°).
- Π ΡΠ±ΠΎΡΠΊΠ°ΡΠ°, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° std::thread, Π·Π° Π½ΡΠΊΠΎΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ ΡΠ²Π½ΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΠΎΠΊΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎ ΡΠ΄ΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°.
- Π£ΡΠΊΠΎΡΠ΅Π½ΠΎ Π΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΡΠΈΡΠΈΡΠ΅ Π½Π° ΠΊΠ½ΠΈΠ³ΠΈΡΠ΅.
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΡΡΡΠ°ΡΠΊΠΈΡΠ΅.
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ.
- Π ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π·Π° Π±ΡΡΠ·ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΡΠ° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π° Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² Π°ΡΡ ΠΈΠ²ΠΈΡΠ΅.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ° ΠΎΠ±Π½ΠΎΠ²Π΅Π½ΠΈ ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈΡΠ΅ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°. Π ΡΠ°ΡΡΠ½ΠΎΡΡ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ ΡΠ»Π΅Π΄Π½ΠΎΡΠΎ:
- Π’ΡΡΡΠ°ΡΠΊΠ°ΡΠ° "Π€Π°ΠΌΠΈΠ»ΠΈΡ" ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΡΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½Π° ΡΡΡΡΠ°ΡΠΊΠ° Π·Π° Π°Π²ΡΠΎΡΠΈ. Π’ΠΎΠ΅ΡΡ, ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°Ρ ΡΠ°ΠΌΠΈΠ»ΠΈΡ, ΠΈΠΌΠ΅, Π±Π°ΡΠΈΠ½ΠΎ ΠΈΠΌΠ΅ ΠΈ/ΠΈΠ»ΠΈ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ Π½Π° Π°Π²ΡΠΎΡΠ°, Π° Π½Π΅ ΡΠ°ΠΌΠΎ ΡΠ°ΠΌΠΈΠ»ΠΈΡ.
- ΠΠ½ΠΈΠ³ΠΈΡΠ΅ ΠΎΡ ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΡΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π½Π° Π²ΡΠ½ΡΠ΅Π½ ΡΡΡΠ²ΡΡ. Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΡΠ²ΡΡ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° SMB, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ Π΄Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Ρ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡΠ΅ ΠΌΠ°ΡΠΈΠ½ΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΊΠ°ΡΠ° ΠΏΠ°ΠΏΠΊΠ° Π½Π° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° gvfs, kio-fuse ΠΈΠ»ΠΈ ΡΠ΅Ρ Π½ΠΈ Π°Π½Π°Π»ΠΎΠ·ΠΈ (Ρ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡΡΠ° ΠΏΡΠ΅Π· ΡΠ΅ΡΠΈΡΡΠ°, Π°ΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°). ΠΠΊΠΎ Π²ΡΠΈΡΠΊΠΎ Π΅ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, MyLibrary ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Ρ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΎ ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΊΠ°ΠΊΡΠΎ Ρ Π»ΠΎΠΊΠ°Π»Π½ΠΈ, Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. ΠΠ° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ°, ΡΠ»Π΅Π΄ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° SMB, ΠΊΠΎΠ»Π΅ΠΊΡΠΈΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ ΡΠ°ΠΌΠΎ Π½Π° Π΅Π΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΡΡΡΡ, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π·Π° Π΅ΠΊΡΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π½Π° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΡΠ°.
ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ»ΡΠ³ΠΈΠ½Π° MLInpxPlugin, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π·Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΠΈ ΠΎΡ inpx ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ (Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·Π° GPLv3 Π½Π° altlinux.space ΠΈ GitHub). ΠΠ° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° Arch Linux Π² AUR Π΅ Π½Π°Π»ΠΈΡΠ΅Π½ ΡΠΊΡΠΈΠΏΡ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π³ΠΎΡΠΎΠ² ΠΏΠ°ΠΊΠ΅Ρ. ΠΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΡΠ΅ ΡΠ²Π΅ΠΆΠ΄Π°Ρ Π΄ΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΡΠ²Π½ΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΠΎΠΊΠΎΠ²Π΅ ΠΏΠΎ ΡΠ΄ΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° Π² ΡΠ±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° std::thread.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ»ΡΠ³ΠΈΠ½Π° MLFBDPlugin, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ fbd. Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΠΏΠ»ΡΠ³ΠΈΠ½ΡΡ Π΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π» Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° XMLParserCPP Π·Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² XML ΡΠΎΡΠΌΠ°Ρ, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½ΠΈ Π½ΡΠΊΠΎΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
