linux dbus ΡΡΠΎ ΡΡΠΎ
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Dbus
ΠΡΠ»ΠΈ Π²Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π°Π²Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Linux, ΡΠΎ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΡΠΆΠ΅ Π½Π΅ ΡΠ°Π· ΡΠ»ΡΡΠ°Π»ΠΈ ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ΅ DBus. ΠΠ½ ΡΠΈΠ³ΡΡΠΈΡΡΠ΅Ρ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π»ΠΎΠ³Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ ΡΠ΅ΡΠ²ΠΈΡ DBus-daemon, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΠΎ Π·Π°ΡΠ΅ΠΌ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΏΠΎΠΏΡΡΠ°Π΅ΠΌΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ DBus, Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ Π½ΡΠΆΠ΅Π½, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Dbus?
ΠΠΎ ΡΡΡΠΈ, DBus ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ Π΄Π΅ΠΌΠΎΠ½Π°, API Π΄Π»Ρ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Ρ ΠΎΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ DBus, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π² Π΄Π΅ΠΌΠΎΠ½Π΅ DBus. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΌΠΎΠ³ΡΡ Π±Π΅ΡΠΏΡΠ΅ΠΏΡΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ, ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± Π΅ΡΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΈΠ½Π° DBus. ΠΠ° ΡΠΈΠ½Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ Π°Π΄ΡΠ΅Ρ, Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΈ Π°Π΄ΡΠ΅ΡΠ°ΡΠ°. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ Ρ ΠΎΠ΄Π½ΠΈΠΌ, Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΡ Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅.
ΠΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π΄Π°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΎΠ³ΡΠΎΠΌΠ½ΡΡ Π³ΠΈΠ±ΠΊΠΎΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π½ΠΎΠ²ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ², ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π½Π°ΡΡΡΠΎΠ΅ΠΊ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅. ΠΡΠ΅ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° DBus, ΡΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ. Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠ³ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ ΡΠ΅ΡΠ²ΠΈΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°ΠΏΡΡΠΊΠ°Π»Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π»Π° Π² ΡΠΎΠ½Π΅.
ΠΠ±ΡΠ΅ΠΊΡΡ Dbus
ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Dbus, ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅Ρ ΡΠ²ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². ΠΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, Π΅Π³ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ. ΠΠ½ΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΠΏΡΡΡ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. Π§ΡΠΎΠ±Ρ ΠΈΠΌΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π±ΡΠ»ΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ Π² Π½Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, /org/kde ΠΈΠ»ΠΈ /com/redhat.
ΠΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° DBus ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΠ΅Ρ ΡΠ°ΡΡΠ΅ΠΉ:
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²:
Π§Π°ΡΡΠΈ ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ ΡΠΎΡΠΊΠΎΠΉ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠΈΠΉ ΠΏΡΡΡ Π½Π° ΠΏΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ , ΠΈΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ, ΡΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΎ ΡΠ»ΡΡΠ΅ΠΌ. ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΠΌΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ Ρ ΠΏΡΠΈΠ²Π΅Π» ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ Π΅ΡΡΡ ΡΡΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ:
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Dbus
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Dbus ΡΡΠΎ ΡΠΎΠΆΠ΅ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½Π°Ρ ΡΠ΅ΠΌΠ°. ΠΠ½ΠΈ Π±ΡΠ²Π°ΡΡ ΡΠ΅ΡΡΡΠ΅Ρ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ². ΠΡΠΎ Π²ΡΠ·ΠΎΠ²Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΡΠΈΠ³Π½Π°Π»Ρ ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ. Dbus ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π»ΡΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ , ΠΏΠΎΡΡΠΎΠΌΡ ΠΈ Π±ΡΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΡΠ°ΠΊΠΈΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ. ΠΠΎΠ³Π΄Π° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΏΠΎΡΠΎΠΌ Π² ΠΎΡΠ²Π΅ΡΠ½ΠΎΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ Π²Π΅ΡΠ½ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ (ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ) ΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΡ.
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Dbus
sudo apt install qttools5-dev-tools
ΠΠ°ΠΏΡΡΡΠΈΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΅ΡΠ΅Π· Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π²ΠΎΡ ΡΠ°ΠΊΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ:
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΎ, Π΅ΡΡΡ Π΄Π²Π΅ ΡΠΈΠ½Ρ, ΡΠ΅ΡΡΠΈΠΎΠ½Π½Π°Ρ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½Π°Ρ. Π ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΡΠ»Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π²ΡΠ·ΡΠ²Π°Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΠΌΠ΅Π½ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°. ΠΠΎ ΡΡΠΎ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ±. ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Dbus ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½ΠΈΠΆΠ΅.
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Dbus?
ΠΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ Dbus ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΡ dbus-send. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΅Π΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠΏΡΠΈΠΈ ΡΡΠΈΠ»ΠΈΡΡ:
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π·Π°ΠΏΡΠΎΡ, ΡΠΊΠ°ΠΆΠ΅ΠΌ method_call ΡΡΠΈΠ»ΠΈΡΠ° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ Π½Π°ΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π·Π°ΡΠ΅ΠΌ ΠΆΠ΄Π΅Ρ ΠΎΡ Π½Π΅Π³ΠΎ ΠΎΡΠ²Π΅ΡΠ°, ΠΎΡΠ²Π΅Ρ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ method_result, ΠΈ Π΅ΡΠ»ΠΈ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎ, ΡΡΠΎ ΠΎΡΠ²Π΅Ρ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ Π½Π° ΡΠΊΡΠ°Π½, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½. ΠΡΠ΅ ΠΏΠΎΠ»Ρ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ, ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Π°, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
ΠΡ ΡΠΆΠ΅ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΈ Π³Π΄Π΅ ΠΈΡΠΊΠ°ΡΡ Π½ΡΠΆΠ½ΡΠ΅ Π²Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, Π° ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠ°ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Dbus.
ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΡΠ΅Π²ΡΡ Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠ² NetworkManager:
ΠΠΊΠ»ΡΡΠΈΠΌ ΠΌΡΠ·ΡΠΊΡ Π² ΠΏΠ»Π΅Π΅ΡΠ΅ VLC:
ΠΠ΅ΡΠΎΠ΄Ρ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠ°Π΅ΠΌ Π½Π°Ρ ΡΡΠ΅ΠΊ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄:
Π£Π·Π½Π°ΡΡ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΆΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ qdbusviewer. ΠΠ»ΠΈΠΊΠ½ΠΈΡΠ΅ ΠΏΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Call, Π² ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π²Π²Π΅ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΊΠ°Π·Π°Π½ Π΅Π΅ ΡΠΈΠΏ.
ΠΡΠΎΠΌΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π·Π΄Π΅ΡΡ Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅. ΠΠΎΠ½ΡΡΡ Ρ ΡΠ΅ΠΌ ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ Π΄Π΅Π»ΠΎ, ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΆΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ qdbusviewer. ΠΠ»Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π±ΡΠ΄Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ method, Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ property. ΠΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠ°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ:
ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ org.freedesktop.DBus.Properties.Get ΠΎΠ±ΡΠ΅ΠΊΡΠ° /org/mpris/MediaPlayer2 ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π΅ΠΌΡ Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ. ΠΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠ°Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅ΠΊΡΡΡΡ Π³ΡΠΎΠΌΠΊΠΎΡΡΡ VLC.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΅ΡΠ΅ ΡΠ»ΠΎΠΆΠ½Π΅Π΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ org.freedesktop.DBus.Properties.Set:
ΠΡΠΈΠΌΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π³ΡΠΎΠΌΠΊΠΎΡΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ VLC. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΆΠ΅ ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π΄Π²Π΅ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡΠ΅ Π½Π°ΠΌ ΡΡΡΠΎΠΊΠΈ ΠΈ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ variant ΠΈ Π΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π½ΡΠΆΠ½ΡΠΉ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½ΡΠΆΠ½Π° double. ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½ΡΠΆΠ΅Π½ Π²Π°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π² qdbusviewer, ΠΊΠ»ΠΈΠΊΠ½ΠΈΡΠ΅ ΠΏΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Set Value. ΠΠ΄Π΅ΡΡ ΠΊΡΠΎΠΌΠ΅ ΠΏΠΎΠ»Ρ Π²Π²ΠΎΠ΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΠΉ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
ΠΡΠ²ΠΎΠ΄Ρ
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Dbus, Π½ΠΎ ΠΈ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Dbus Π±ΡΠ»ΠΎ Π΄Π»Ρ Π²Π°Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠΌ Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΅Π³ΠΎ Π½Π° ΠΏΠΎΠ»Π½ΡΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ. ΠΠ°ΡΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Dbus, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½Π° Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ? ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ !
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ Π²Π²ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² D-Bus
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ D-BUS
https://dbus.freedesktop.org/doc/dbus-tutorial.html, Red Hat, Inc
ΠΡΠ²ΠΈΠ΄ Π£ΠΈΠ»Π»Π΅Ρ, ΠΠΆΠΎΠ½ ΠΠ°Π»ΠΌΠΈΠ΅ΡΠΈ, Red Hat, Inc.
ΠΠΎΠ»ΠΈΠ½ Π£ΠΎΠ»ΡΠ΅ΡΡ, Red Hat, Inc.
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΠ»Π°ΡΡΠΎΠ² Π.Π., plastov.igor@yandex.ru
ΠΠΎΠΊΡΠΌΠ΅Π½Ρ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
ΠΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π½Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΎ. ΠΠ½ΠΎ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ². ΠΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ Π²Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ D-Bus, ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Doxygen ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ D-Bus.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ D-Bus?
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° libdbus, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄Π²ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π΄ΡΡΠ³ ΠΊ Π΄ΡΡΠ³Ρ ΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π΄Π΅ΠΌΠΎΠ½Π° ΡΠΈΠ½Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π½Π° libdbus, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ΅ΠΌΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊ Π½ΡΠ»Ρ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π²ΡΠ°ΠΏΠ΅ΡΠΎΠ² ΠΈΠ»ΠΈ ΠΏΡΠΈΠ²ΡΠ·ΠΎΠΊ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΡΠ°ΡΡΠΈΡΠ½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, libdbus-glib ΠΈ libdbus-qt. Π’Π°ΠΊΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊ ΡΠ°ΠΊΠΈΠΌ ΡΠ·ΡΠΊΠ°ΠΌ, ΠΊΠ°ΠΊ Python. ΠΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ-Π²ΡΠ°ΠΏΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Ρ Π»ΡΠ΄Π΅ΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ ΡΠΏΡΠΎΡΠ°ΡΡ Π΄Π΅ΡΠ°Π»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ D-Bus. libdbus ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ Π±ΡΠΊΠ΅Π½Π΄Π° Π² ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ. ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ API libdbus ΠΏΠΎΠ»Π΅Π·Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈΠ²ΡΠ·ΠΎΠΊ.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° libdbus ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠΎΡΠΊΠ°-ΡΠΎΡΠΊΠ°, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ raw-ΡΠΎΠΊΠ΅ΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ, Π²ΠΌΠ΅ΡΡΠΎ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠ° Π±Π°ΠΉΡΠΎΠ², Π²Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ Π΅Π³ΠΎ ΡΠΈΠΏ ΠΈ ΡΠ΅Π»ΠΎ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. libdbus ΡΠ°ΠΊΠΆΠ΅ Π°Π±ΡΡΡΠ°Π³ΠΈΡΡΠ΅Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΡΡΠ°Π½ΡΠΏΠΎΡΡ (ΡΠΎΠΊΠ΅ΡΡ ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ Π΅ΡΠ΅) ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΊΠΈΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ, ΠΊΠ°ΠΊ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ.
ΠΠ΅ΠΌΠΎΠ½ ΡΠΈΠ½Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΡΡΠΏΠΈΡΡ ΠΊΠΎΠ»Π΅ΡΠ°. ΠΠ°ΠΆΠ΄Π°Ρ ΡΠΏΠΈΡΠ° ΠΊΠΎΠ»Π΅ΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠ°-ΡΠΎΡΠΊΠ° Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΌ libdbus. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π΄Π΅ΠΌΠΎΠ½Ρ ΡΠΈΠ½Ρ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΡΠΏΠΈΡΠ΅, Π° Π΄Π΅ΠΌΠΎΠ½ ΡΠΈΠ½Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠΉΡΠ΅ Π΄Π΅ΠΌΠΎΠ½ ΠΊΠ°ΠΊ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡ.
ΠΠ±ΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΠΈ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΠ΅ Π΄Π΅ΠΌΠΎΠ½Ρ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ. ΠΠ±ΡΡΠ½ΡΠΉ Π²Π½ΡΡΡΠΈΡΠ΅ΡΡΠΈΠΎΠ½Π½ΡΠΉ IPC Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΈΠ½Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ±ΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ D-Bus
Π‘Π²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΡΡΠΎΠ»Π΅; Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΡΠ΅Π°Π½ΡΠ° ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π° Π² ΡΠ΅Π»ΠΎΠΌ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΏΡΠΎΡΠ΅ΡΡΠ° (ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π° Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΈ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ).
Π‘Π²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π°Π½ΡΠΎΠΌ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π° ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, Π³Π΄Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ΄ΡΠΎ ΠΈ Π»ΡΠ±ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π΄Π΅ΠΌΠΎΠ½Ρ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ.
ΠΠ»Ρ ΡΠ»ΡΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΠ΅Π°Π½ΡΠ° ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π° ΡΠ°Π±ΠΎΡΠΈΠ΅ ΡΡΠΎΠ»Ρ GNOME ΠΈ KDE ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ IPC, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ CORBA ΠΈ DCOP. D-Bus ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΡΡΠΎΠΌ ΠΎΠΏΡΡΠ΅ ΠΈ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊΠΈΡ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². D-Bus ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡΡ ΠΈΠ»ΠΈ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡΡ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ; Π² FAQ Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ IPC.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ°, ΡΠ΅ΡΠ°Π΅ΠΌΠ°Ρ ΠΎΠ±ΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ ΡΠ»ΡΡΠ°Π΅ΠΌ ΠΈΠ»ΠΈ ΡΠ»ΡΡΠ°Π΅ΠΌ ΡΠ²ΡΠ·ΠΈ Ρ ΠΠ‘, Ρ ΠΎΡΠΎΡΠΎ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠ° Linux Hotplug:
ΠΡΠΎΠ±Π΅Π» Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ Linux Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Ρ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ Β«Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌΒ». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ Π°Π΄Π°ΠΏΡΠ΅ΡΠ° ΠΈΠ»ΠΈ ΠΏΡΠΈΠ½ΡΠ΅ΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΌΠ΅ΡΡ Π΄Π»Ρ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΈΡΠΊΠΎΠ². ΠΠ°Π·Π°Π»ΠΎΡΡ Π±Ρ, ΡΠ°ΠΊΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°: ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ ΡΡΠ°Π½ΡΠΈΠΈ ΠΈΠ»ΠΈ Π»ΡΠ±Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΡΠ΅ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎ.
ΠΡΠΎ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Β«ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°Β», ΠΊΠΎΠ³Π΄Π° Π² ΡΠ»ΡΡΠ°Π΅ Π³ΠΎΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΈΠ· Π΅Π³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΄ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ) Π² Π΄ΡΡΠ³ΠΎΠΉ (ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ» Π΄Π»Ρ Π²ΠΎΡΠ΅Π΄ΡΠ΅Π³ΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°). ΠΡΠ±ΠΎΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΎΡΠ²Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ΄ΡΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΡΠ΅ΠΌ: ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ Π΄ΠΎΠΌΠ΅Π½ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠ΄ΡΡ Π²ΡΡΡΠ½ΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. (ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠ°ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π½ΠΎΠ²ΠΎΠΌΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ Π±Π΅Π·Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π΄ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π³ΠΎΠ²ΠΎΡΠΎΠ².) ΠΠ° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ Π² Linux Π½Π΅ Π±ΡΠ»ΠΎ ΡΠΈΡΠΎΠΊΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΡΠ°ΠΊΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ Π½ΠΎΠ²ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ D-Bus ΠΌΠΎΠ³ΡΡ Π½Π°ΡΠ°ΡΡ ΡΠ΅ΡΠ°ΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
D-Bus ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ Π΄Π»Ρ ΡΠ΅Π»Π΅ΠΉ, ΠΎΡΠ»ΠΈΡΠ½ΡΡ ΠΎΡ ΡΠ΅Ρ , Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½. ΠΡΡΡ ΠΎΠ±ΡΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² IPC:
ΠΠ²ΠΎΠΈΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ (Π² Π΄ΡΡ Π΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° X Window System);
ΠΠΎΡΡΠΎΡΠ½Π½ΡΠ΅ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΎΡΡΠ°ΡΡΡΡ ΠΎΡΠΊΡΡΡΡΠΌΠΈ Π²ΡΠ΅ Π²ΡΠ΅ΠΌΡ;
ΠΠ½ΠΎΠ³ΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π΄Π΅ΠΏΠ»ΠΎΡ ΠΎΠΏΠΈΡΠ°Π½Ρ, Π° Π½Π΅ ΠΎΡΡΠ°ΡΡΡΡ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΡΠΌΠΈ / Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΌΠΈ / ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠΌΠΈ.
Π‘Π΅ΠΌΠ°Π½ΡΠΈΠΊΠ° ΠΏΠΎΠ΄ΠΎΠ±Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ DCOP, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ KDE Π»Π΅Π³ΠΊΠΎ Π΅Π΅ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡ.
Π€ΡΠ½ΠΊΡΠΈΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΎΠ±ΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΡΠΈΠ½Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ.
ΠΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ D-Bus. ΠΠ΄Π½Π°ΠΊΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅, Π±ΡΠ΄Π΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ GLib, Qt ΠΈ Python.
ΠΠΎΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ.
ΠΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ ΠΏΡΡΠΈ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ
ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, Π² Π²Π°ΡΠ΅ΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Β« ΠΎΠ±ΡΠ΅ΠΊΡΒ»; ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠΎ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: java.lang.Object, GObject, QObject, Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Python ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ Π΅ΡΠ΅. ΠΠ°Π·ΠΎΠ²Π΅ΠΌ ΠΈΡ Π½Π°ΡΠΈΠ²Π½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ.
ΠΡΠΎΡΠΎΠΊΠΎΠ» D-Bus Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ API libdbus Π½Π΅ ΠΎΠΏΠ΅ΡΠΈΡΡΠ΅Ρ Π½Π°ΡΠΈΠ²Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΠΏΡΡΠ΅ΠΌ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ. ΠΠ΄Π΅Ρ ΠΏΡΡΠΈ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΌΠΎΠ³ΡΡ Π΄Π°Π²Π°ΡΡ ΠΈΠΌΠ΅Π½Π° ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π½ΠΈΠΌ.
ΠΡΡΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ ΠΏΡΡΡ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±ΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ
, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
). ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΡΠ°Π·Π½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΊΠΎΠ΄Π° Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π½Π΅ Π±ΡΠ΄ΡΡ ΠΌΠ΅ΡΠ°ΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ.
ΠΠ΅ΡΠΎΠ΄Ρ ΠΈ ΡΠΈΠ³Π½Π°Π»Ρ
ΠΠ° ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΈ ΡΠΈΠ³Π½Π°Π»Ρ ΡΡΡΠ»Π°ΡΡΡΡ ΠΏΠΎ ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Β«FrobateΒ» ΠΈΠ»ΠΈ Β«OnClickedΒ».
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². ΠΠΎΠ½ΠΈΠΌΠ°ΠΉΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ Π³ΡΡΠΏΠΏΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΡΠΈΠ³Π½Π°Π»ΠΎΠ², ΠΊΠ°ΠΊ Π² GLib, Qt ΠΈΠ»ΠΈ Java. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΈΠΏ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
DβBus ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ
. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΈΠ²ΡΠ·ΠΎΠΊ Π±ΡΠ΄ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΡΠΈ ΠΈΠΌΠ΅Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Java ΠΈΠ»ΠΈ ΡΠΈΡΡΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ C++.
ΠΡΠΎΠΊΡΠΈ
Π ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π΅Π· ΠΏΡΠΎΠΊΡΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠΊΡΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
Π¨ΠΈΠ½Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π°
ΠΠΎΠ³Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ Π΄Π΅ΠΌΠΎΠ½Ρ ΡΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ Π΅ΠΌΡ ΠΈΠΌΡ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° β:β (Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΡ). ΠΡΠΈ ΠΈΠΌΠ΅Π½Π° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠ½Π½ΠΎΠ³ΠΎ Π΄Π΅ΠΌΠΎΠ½Π° β ΡΠΎ Π΅ΡΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ Π΄Π°Π½Π½ΠΎΠ΅ ΠΈΠΌΡ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΡΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ β:34β907β. Π¦ΠΈΡΡΡ ΠΏΠΎΡΠ»Π΅ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΡ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΡΠΎΠΌΠ΅ ΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΠΎΠ³Π΄Π° ΠΈΠΌΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π»Π°Π΄Π΅Π΅Ρ ΡΡΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ½ΡΡΡΠ΅ (well-known) ΠΈΠΌΠ΅Π½Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ
. Π Π²Π°ΡΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π΄Π»Ρ Π²Π»Π°Π΄Π΅Π½ΠΈΡ ΡΡΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ ΠΏΡΡΡΠΌ
ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΌΠΎΠ³ΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π° ΡΡΠΎ ΡΠΈΠ½Π½ΠΎΠ΅ ΠΈΠΌΡ, ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΡΠΌΠ°ΡΡ ΠΎΠ± ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΈΠΌΠ΅Π½Π°Ρ ΠΊΠ°ΠΊ ΠΎΠ± IP-Π°Π΄ΡΠ΅ΡΠ°Ρ , Π° ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ½ΡΡΡΡ ΠΈΠΌΠ΅Π½Π°Ρ ΠΊΠ°ΠΊ ΠΎ Π΄ΠΎΠΌΠ΅Π½Π½ΡΡ ΠΈΠΌΠ΅Π½Π°Ρ . Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ,
ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠ°ΠΊ
ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΡΠ΅ΠΌ-ΡΠΎ Π²ΡΠΎΠ΄Π΅
ΠΠΌΠ΅Π½Π°, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΈΠΌΠ΅ΡΡ Π²ΡΠΎΡΠΎΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅. ΠΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°. ΠΠΎΠ³Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ (ΠΈΠ»ΠΈ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎ Π·Π°ΠΊΡΡΠ²Π°Π΅ΡΡΡ), ΡΠ΄ΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ Π΅Π³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΡΠΈΠ½ΠΎΠΉ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. ΠΠ°ΡΠ΅ΠΌ ΡΠΈΠ½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ, ΠΈΠ½ΡΠΎΡΠΌΠΈΡΡΡΡΠΈΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ΅ΡΡΠ»ΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ Π²Π»Π°Π΄Π΅Π»ΡΡΠ°. ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ ΡΡΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ, Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ ΠΆΠΈΠ·Π½ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Π¨ΠΈΠ½Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΠΈ Β«ΠΎΠ΄Π½ΠΎΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ½ΡΡ Β» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΡΠΌ, ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
, Π·Π°ΠΊΡΡΠ²Π°ΠΉΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°, Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ΅ ΡΠΈΠ½Π½ΠΎΠ΅ ΠΈΠΌΡ ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π²Π»Π°Π΄Π΅Π»ΡΡΠ°.
ΠΠ΄ΡΠ΅ΡΠ°
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ D-Bus, ΡΠ²Π»ΡΡΡΡΡ Π»ΠΈΠ±ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ, Π»ΠΈΠ±ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ. Π‘Π΅ΡΠ²Π΅Ρ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π΅Ρ Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ; ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ, ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΡΠΉ ΠΏΠΎΡΠΎΠΊ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. Π Π°Π·Π»ΠΈΡΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅Ρ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ.
ΠΡΠ»ΠΈ Π²Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΄Π΅ΠΌΠΎΠ½ ΡΠΈΠ½Ρ, Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ Π΄Π΅ΠΌΠΎΠ½Π° ΡΠΈΠ½Ρ. Π’ΠΎ Π΅ΡΡΡ Π΄Π΅ΠΌΠΎΠ½ ΡΠΈΠ½Ρ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, Π° Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΠΈΡΠΈΠΈΡΡΠ΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ Π΄Π΅ΠΌΠΎΠ½ΠΎΠΌ ΡΠΈΠ½Ρ.
D-Bus Π°Π΄ΡΠ΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, Π³Π΄Π΅ ΡΠ΅ΡΠ²Π΅Ρ Π±ΡΠ΄Π΅Ρ ΡΠ»ΡΡΠ°ΡΡ, ΠΈ ΠΊΡΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°Π΄ΡΠ΅Ρ
ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΠ΅ΡΠ²Π΅Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΡ ΡΠΎΠΊΠ΅Ρ Π΄ΠΎΠΌΠ΅Π½Π° UNIX Ρ ΠΏΡΡΡΠΌ
ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΡΡΠΎΠΌΡ ΡΠΎΠΊΠ΅ΡΡ. ΠΠ΄ΡΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ TCP/IP ΡΠΎΠΊΠ΅ΡΡ ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ°Π½ΡΠΏΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π² Π±ΡΠ΄ΡΡΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ D-Bus.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ D-Bus Ρ Π΄Π΅ΠΌΠΎΠ½ΠΎΠΌ ΡΠΈΠ½Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ libdbus Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ Π°Π΄ΡΠ΅Ρ ΡΠ΅Π°Π½ΡΠΎΠ²ΠΎΠ³ΠΎ Π΄Π΅ΠΌΠΎΠ½Π° ΡΠΈΠ½Ρ, ΡΡΠΈΡΡΠ²Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΅Π΄Ρ. ΠΠ½ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ Π΄Π΅ΠΌΠΎΠ½ ΠΎΠ±ΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΡΠΈΠ½Ρ, ΠΏΡΠΎΠ²Π΅ΡΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΏΡΡΡ ΡΠΎΠΊΠ΅ΡΠ° Π΄ΠΎΠΌΠ΅Π½Π° UNIX (Ρ ΠΎΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠΎΡ Π°Π΄ΡΠ΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ).
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ D-Bus Π±Π΅Π· Π΄Π΅ΠΌΠΎΠ½Π° ΡΠΈΠ½Ρ, Π²Π°ΠΌ ΡΠ΅ΡΠ°ΡΡ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ, Π° ΠΊΠ°ΠΊΠΎΠ΅ β ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π΄Π»Ρ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡ Π°Π΄ΡΠ΅ΡΠ° ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΡΠΎ Π½Π΅ΡΠΈΠΏΠΈΡΠ½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ.
ΠΠΎΠ»ΡΡΠ°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠ°ΡΡΠΈΠ½Π°
Π‘ΠΎΠ±ΠΈΡΠ°Ρ Π²ΡΠ΅ ΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ, Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°Π·Π²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²:
Π¨ΠΈΠ½Π½ΠΎΠ΅ ΠΈΠΌΡ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ , ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΎΠ½ΠΎ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ β Π²Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ ΠΈΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ΅ΡΠΎΠ΄Π° Π² Π½ΡΠΆΠ½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π΅ΠΌΠΎΠ½Π° ΡΠΈΠ½Ρ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΏΡΡΠΌΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠΎ Π΄Π΅ΠΌΠΎΠ½ ΡΠΈΠ½Ρ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΈ ΡΠΈΠ½Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ, Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΏΠΎ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ; DCOP Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, D-Bus ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΈΠΌΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ, ΡΠΎ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½.
ΠΠ° ΠΊΡΠ»ΠΈΡΠ°ΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
D-Bus ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΎΡΠΏΡΠ°Π²Π»ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ. ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²Π°ΠΌ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ Π½Π°ΠΏΡΡΠΌΡΡ.
ΠΡΡΡ 4 ΡΠΈΠΏΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ:
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°;
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ΅ΡΠΎΠ΄Π°;
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π½ΠΈΠΊΡΠ΅Π΅ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π°;
Π‘ΠΈΠ³Π½Π°Π»ΡΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ β ΡΡΠΎ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠΉ ΡΠΈΠ³Π½Π°Π» Π±ΡΠ» ΠΏΠΎΡΠ»Π°Π½ (ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅). ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΡΠΎ ΠΊΠ°ΠΊ Β«ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΡ ΠΎ ΡΠΎΠ±ΡΡΠΈΡΡ Β».
ΠΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ: Π²Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π² ΠΎΡΠ²Π΅Ρ Π»ΠΈΠ±ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°, Π»ΠΈΠ±ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅.
Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΅ΡΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΏΠΎΠ»Ρ, ΠΈ ΡΠ΅Π»ΠΎ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠ΅Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΡΠΌΠ°ΡΡ ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΠΊΠ°ΠΊ ΠΎ ΠΌΠ°ΡΡΡΡΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π΄Π»Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π° ΠΎ ΡΠ΅Π»Π΅ β ΠΊΠ°ΠΊ ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠ΅. ΠΠΎΠ»Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠΈΠ½Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ, ΡΠΈΠ½Π½ΠΎΠ΅ ΠΈΠΌΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΈΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠ»ΠΈ ΡΠΈΠ³Π½Π°Π»Π° ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΠ΄Π½ΠΎ ΠΈΠ· ΠΏΠΎΠ»Π΅ΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° β ΡΡΠΎ ΡΠΈΠ³Π½Π°ΡΡΡΠ° ΡΠΈΠΏΠ°, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠ΅ΡΡ Π² ΡΠ΅Π»Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΡΠΊΠ²Π° Β«iΒ» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«32-Π±ΠΈΡΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎΒ», ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΈΠ³Π½Π°ΡΡΡΠ° Β«iiΒ» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ Π½Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π²Π° 32-Π±ΠΈΡΠ½ΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ»Π°.
ΠΠ° ΠΊΡΠ»ΠΈΡΠ°ΠΌΠΈ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ΅ΡΠΎΠ΄Π°
ΠΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° Π² D-Bus ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ; ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ΅ ΠΈΠ· ΠΏΡΠΎΡΠ΅ΡΡΠ° A Π² ΠΏΡΠΎΡΠ΅ΡΡ B, ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ²Π΅ΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ΅ ΠΈΠ· ΠΏΡΠΎΡΠ΅ΡΡΠ° B Π² ΠΏΡΠΎΡΠ΅ΡΡ A. Π Π²ΡΠ·ΠΎΠ², ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ²Π΅ΡΠ° ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π΄Π΅ΠΌΠΎΠ½ ΡΠΈΠ½Ρ. ΠΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π²ΡΠ·ΠΎΠ²Π΅ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅ΡΠΈΠΉΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ, ΠΈ ΠΎΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΡΠΎΡ Π½ΠΎΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΌΠΎΠ³ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΎΡΠ²Π΅ΡΡ Ρ Π²ΡΠ·ΠΎΠ²Π°ΠΌΠΈ.
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π²ΡΠ·ΠΎΠ²Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π»ΡΠ±ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°. ΠΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΎΡΠΈΠ±ΠΊΡ ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ.
ΠΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° Π² D-Bus ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡΠΈΠ²ΡΠ·ΠΊΠ° ΡΠ·ΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΎΠΊΡΠΈ, ΡΠ°ΠΊ ΡΡΠΎ Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° Π²Π½ΡΡΡΠΈΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅. ΠΡΠ»ΠΈ ΡΡΠΎ ΡΠ°ΠΊ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ Π½Π° ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΠΈ ΠΏΡΠΎΠΊΡΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ.
ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ API ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ°ΠΌΠΎ, Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠΊΡΠΈ.
Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ: ΠΈΠΌΡ ΡΠΈΠ½Ρ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠ΅Π΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π°, Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΏΡΡΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π²Π½ΡΡΡΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈ, ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ, ΠΈΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄.
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π΄Π΅ΠΌΠΎΠ½Ρ ΡΠΈΠ½Ρ.
ΠΠ΅ΠΌΠΎΠ½ ΡΠΈΠ½Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΡΠΈΠ½Π½ΠΎΠ΅ ΠΈΠΌΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ ΡΡΠΎ ΠΈΠΌΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΡ, Π΄Π΅ΠΌΠΎΠ½ ΡΠΈΠ½Ρ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° ΡΡΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄Π΅ΠΌΠΎΠ½ ΡΠΈΠ½Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ²Π΅ΡΠ° Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π°.
ΠΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π°. Π ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ API ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΎΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° Π΄Π΅ΠΌΠΎΠ½Ρ ΡΠΈΠ½Ρ. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ API ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΏΡΡΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈ ΠΈΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ΅ΡΠΎΠ΄Π° Π² Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° Π΄Π»Ρ Π½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (GObject, java.lang.Object, QObject, ΠΈ Ρ. Π΄.), Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· Π½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π² ΠΎΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π°.
ΠΠ΅ΠΌΠΎΠ½ ΡΠΈΠ½Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΎΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·Π²Π°Π» ΠΌΠ΅ΡΠΎΠ΄.
ΠΡΠΎΡΠ΅ΡΡ, Π²ΡΠ·Π²Π°Π²ΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΎΡΠ²Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π»ΡΠ±ΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠ΅ΡΡ Π² ΠΎΡΠ²Π΅ΡΠ΅. ΠΡΠ²Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΎΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΎ Π² Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΊΡΠΈ-ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠ»ΠΈ Π² ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
ΠΠ΅ΠΌΠΎΠ½ ΡΠΈΠ½Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΌΠ΅Π½ΡΠ΅Ρ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. Π’ΠΎ Π΅ΡΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅ Π΄Π²Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ, ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ Π² ΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Ρ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ Π½Π΅ ΠΎΠ±ΡΠ·Π°Π½ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π½Π° Π²ΡΠ·ΠΎΠ²Ρ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ; Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΎΡΠ²Π΅ΡΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΠΎΠΊΠΈ Π·Π°Π²Π΅ΡΡΠ°ΡΡΡΡ. ΠΡΠ·ΠΎΠ²Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈΠΌΠ΅ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠΈΠΉΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠ½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ Π²ΡΠ·ΠΎΠ²Π°.
ΠΠ° ΠΊΡΠ»ΠΈΡΠ°ΠΌΠΈ ΠΈΠ·Π»ΡΡΠ΅Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»Π°
Π‘ΠΈΠ³Π½Π°Π» Π² DβBus ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ Π»ΡΠ±ΠΎΠΌΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². Π’ΠΎ Π΅ΡΡΡ ΡΠΈΠ³Π½Π°Π» β ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½Π°Ρ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ. Π‘ΠΈΠ³Π½Π°Π» ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ (ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅), Π½ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ, ΠΎΠ½ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Β«Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΒ». Π‘ΡΠ°Π²Π½ΠΈΡΠ΅ ΡΡΠΎ Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π° (ΡΠΌ. #), Π³Π΄Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΎΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π°.
ΠΠΌΠΈΡΠ΅Π½Ρ (ΠΎΠ½ ΠΆΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ) ΡΠΈΠ³Π½Π°Π»Π° Π½Π΅ Π·Π½Π°Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ ΡΠΈΠ³Π½Π°Π»Π°. ΠΠΎΠ»ΡΡΠ°ΡΠ΅Π»ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π΅ΠΌΠΎΠ½Π° ΡΠΈΠ½Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Β«ΠΏΡΠ°Π²ΠΈΠ» ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡΒ» β ΡΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΈ ΠΈΠΌΡ ΡΠΈΠ³Π½Π°Π»Π°. ΠΠ΅ΠΌΠΎΠ½ ΡΠΈΠ½Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠ³Π½Π°Π» ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»ΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΡΠ²ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ ΠΊ ΡΡΠΎΠΌΡ ΡΠΈΠ³Π½Π°Π»Ρ.
Π‘ΠΈΠ³Π½Π°Π» Π² DβBus ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π‘ΠΈΠ³Π½Π°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π΄Π΅ΠΌΠΎΠ½Ρ ΡΠΈΠ½Ρ. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ API ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΡΡΠ½ΡΡ, Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°ΠΌΠΈ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π·Π° Π²Π°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° Π½Π°ΡΠΈΠ²Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΡΠΏΡΡΠΊΠ°Π΅Ρ Π½Π°ΡΠΈΠ²Π½ΡΠΉ ΡΠΈΠ³Π½Π°Π» ΠΈΠ»ΠΈ ΡΠΎΠ±ΡΡΠΈΠ΅.
Π‘ΠΈΠ³Π½Π°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠ³Π½Π°Π», Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΈΠ³Π½Π°Π»Π°, ΡΠΈΠ½Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠ³Π½Π°Π»; ΠΈ Π»ΡΠ±ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ.
ΠΡΠ±ΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π° ΡΠΈΠ½Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Β«ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡΒ», ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ Π΅ΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Ρ. ΠΠ° ΡΠΈΠ½Π΅ Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠ°Π²ΠΈΠ» ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ.
ΠΠ΅ΠΌΠΎΠ½ ΡΠΈΠ½Ρ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΈΠ³Π½Π°Π» ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Π² Π½Π΅ΠΌ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Ρ. ΠΠ½ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ ΡΠΈΠ³Π½Π°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ, ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠΈΠΉ ΡΠΈΠ³Π½Π°Π», ΡΠ΅ΡΠ°Π΅Ρ, ΡΡΠΎ Ρ Π½ΠΈΠΌ Π΄Π΅Π»Π°ΡΡ; ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ, ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·Π»ΡΡΠ°ΡΡ Π½Π°ΡΠΈΠ²Π½ΡΠΉ ΡΠΈΠ³Π½Π°Π» Π΄Π»Ρ ΠΏΡΠΎΠΊΡΠΈ-ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ API ΠΏΡΠΎΡΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΡΠΎ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΡΠΈΠ³Π½Π°Π»Π° ΠΈ ΠΈΠΌΡ ΠΈ ΡΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ.
ΠΠ½ΡΡΠΎΡΠΏΠ΅ΠΊΡΠΈΡ
ΠΠ±ΡΠ΅ΠΊΡΡ D-Bus ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
Π£ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅ΡΠΎΠ΄ Introspect, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ XML. Π‘ΡΡΠΎΠΊΠ° XML ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΡΠΈΠ³Π½Π°Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Π‘ΠΌ. Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ D-Bus Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΡΡΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΈΠ½ΡΡΠΎΡΠΏΠ΅ΠΊΡΠΈΠΈ.
GLib API
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠΉ GLib API Π΄Π»Ρ D-Bus β GDBus, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Ρ GLib Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 2.26. ΠΠ΄Π΅ΡΡ ΡΡΠΎ Π½Π΅ Π·Π°Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΎ, Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ GDBus ΡΠΌ. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ GLib ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅:
Π’Π°ΠΊΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΠΉ API, dbus-glib. ΠΠ½ ΡΡΡΠ°ΡΠ΅Π» ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΊΠΎΠ΄Π΅. ΠΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΈΠ· dbus-glib Π² GDBus.
Python API
Python API, dbus-python, ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π² ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ dbus-python
(ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² doc/tutorial.txt ΠΈ doc/tutorial.html, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΠΎΠ±ΡΠ°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ python-documenttils, Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π΅ dbus-python).
Qt API
ΠΡΠΈΠ²ΡΠ·ΠΊΠ° Qt Π΄Π»Ρ libdbus, QtDBus, ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Ρ Qt Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 4.2. ΠΠ΄Π΅ΡΡ ΡΡΠΎ Π½Π΅ Π·Π°Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΎ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ QtDBus ΡΠΌ. Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Qt