Более раньше этот год я написал несколько столбов о контроле и взаимодействовать с D-Bus используя сценари заполнения. В этом столбе я смотрю использующ рубин контролировать и взаимодействовать с применениями позволенными D-Bus.
|
|
||
|
Более раньше этот год я написал несколько столбов о контроле и взаимодействовать с D-Bus используя сценари заполнения. В этом столбе я смотрю использующ рубин контролировать и взаимодействовать с применениями позволенными D-Bus. Сообщения D-Bus контроля важны и для целей активации и доводки. В этом столбе я рассматриваю как контролировать и действовать на таких сообщениях используя линию передачи команд инструменты. Tomboy применение настольного компьютера GNOME открытого источника примечани-принимая которое написано в C# и использовать Mono продолжительность времени, Gtk# и spell-checker GtkSpell. Фактический отпуск Tomboy который приходит с Fedora 10 версия 0.12.0. Это включает всесторонний интерфейс D-Bus который делает его возможным создать, доработать и показать примечания Tomcat от ваших сценарей заполнения. Этот столб предусматривает обзор имеющихся методов D-Bus и включает несколько примеров для вас для того чтобы экспериментировать с. См. мой предыдущий столб на D-Bus scripting если вы unfamilar с фундаментальными понятиями scripting D-Bus. Во первых мы перечислим имеющиеся предметы используя qdbus. qdbus org.gnome $. Tomboy//org /org/gnome /org/gnome/Tomboy /org/gnome/Tomboy/RemoteControl Затем, мы перечисляем все имеющиеся сигналы и методы для RemoteControl. qdbus org.gnome $. Метод qlonglong org.gnome. Tomboy.RemoteControl.GetNoteChangeDate метода QStringList org.gnome. Tomboy.RemoteControl.GetAllNotesWithTag метода QString org.gnome. Tomboy.RemoteControl.FindStartHereNote метода QString org.gnome. Tomboy.RemoteControl.FindNote метода свободного пространства org.gnome. Tomboy.RemoteControl.DisplaySearchWithText метода свободного пространства org.gnome. Tomboy.RemoteControl.DisplaySearch метода bool org.gnome. Tomboy.RemoteControl.DisplayNoteWithSearch метода bool org.gnome. Tomboy.RemoteControl.DisplayNote метода bool org.gnome. Tomboy.RemoteControl.DeleteNote метода QString org.gnome. Tomboy.RemoteControl.CreateNote метода QString org.gnome. Tomboy.RemoteControl.CreateNamedNote метода bool org.gnome. Tomboy.RemoteControl.AddTagToNote метода QString org.freedesktop.DBus.Introspectable.Introspect метода /org/gnome/Tomboy/RemoteControl Tomboy () (uri QString, tag_name QString) (linked_title QString) () (uri QString) (uri QString) (uri QString, поиска QString) () (search_text QString) (linked_title QString) () (tag_name QString) (uri QString) Bool org.gnome. Tomboy.RemoteControl.RemoveTagFromNote метода свободного пространства org.gnome. Tomboy.RemoteControl.NoteSaved сигнала bool org.gnome. Tomboy.RemoteControl.NoteExists метода свободного пространства org.gnome. Tomboy.RemoteControl.NoteDeleted сигнала свободного пространства org.gnome. Tomboy.RemoteControl.NoteAdded сигнала QStringList org.gnome. Tomboy.RemoteControl.ListAllNotes метода bool org.gnome. Tomboy.RemoteControl.HideNote метода QStringList org.gnome. Tomboy.RemoteControl.GetTagsForNote метода QString org.gnome. Tomboy.RemoteControl.GetNoteTitle метода qlonglong org.gnome. Tomboy.RemoteControl.GetNoteCreateDate метода QString org.gnome. Tomboy.RemoteControl.GetNoteContentsXml метода QString org.gnome. Tomboy.RemoteControl.GetNoteContents метода QString org.gnome. Tomboy.RemoteControl.GetNoteCompleteXml (uri QString) (uri QString) (uri QString) (uri QString) (uri QString) (uri QString) (uri QString) () (uri QString) (uri QString, названия QString) (uri QString) (uri QString) (uri QString, tag_name QString) метод QString org.gnome. Tomboy.RemoteControl.Version bool org.gnome. Tomboy.RemoteControl.SetNoteContentsXml метода bool org.gnome. Tomboy.RemoteControl.SetNoteContents метода bool org.gnome. Tomboy.RemoteControl.SetNoteCompleteXml метода QStringList org.gnome. Tomboy.RemoteControl.SearchNotes метода (вопроса, bool QString case_sensitive) (uri QString, xml_contents QString) (uri QString, text_contents QString) (uri QString, xml_contents QString) () Как просто пример как использовать опубликованный метод, мы призываем метод версии для того чтобы возвратить версию Tomboy которую мы используем. qdbus org.gnome $. Tomboy /org/gnome/Tomboy/RemoteControl org.gnome. Tomboy.RemoteControl.Version 0.12.0 Мы можем использовать dbus-посылаем вместо qdbus как показан под но, по мере того как вы можете, увидеть синтаксис qdbus более компактн. Также заметьте что мы должны использовать шину встречи. $ dbus-посылают - type=method_call - встречу - печатать-ответьте \ - dest='org.gnome. Tomboy /org/gnome/Tomboy/RemoteControl \ org.gnome. Tomboy.RemoteControl.Version 0.12.0 В следующем примере, мы создаем эквивалент «здравствулте! мира» используя примечание, показываем его на 5 секунд и после этого уничтожаем примечание. #! /bin/bash» /org/gnome/Tomboy/RemoteControl» INTERFACE= DPATH=» qdbus org.gnome `TMP= org.gnome. Tomboy.RemoteControl». Tomboy $ {DPATH} $ {ИНТЕРФЕЙС} .CreateNamedNote «`RESULT=$ 2>/dev/null моего примечания»? если [, то [$RESULT! = 0]] после этого выходит 1 fi # давать в численном выражении шнур uri примечания которая формы # примечания: //0xaf3356abcdefg OID=$ {TMP#note:} # установите содержание D-Bus (шина настольного компьютера) низк-латентность, низк-накладные расходы, easy-to-use технология шины сообщения которая старт вспомогательной программы и соединять. Он primarly использован на настольных компьютерах GNU/Linux но был перенесен к другим платформам включая Microsoft Windows и столб OS X.  Mac Apple этот предусматривает быстрый обзор принципиальных схем D-Bus, некоторой истории, и некоторых примеров как использовать D-Bus в ваших сценарях заполнения. Настольный компьютер первоначально и KDE и GNOME проектирует используемое CORBA для связи взаимо--применения. Над временем однако, для различных причин, KDE проникло от CORBA к протоколу Comunications настольного компьютера (DCOP) и GNOME проник к Bonono. Это водит к ситуации где распределения настольного компьютера GNU/Linux должны поддержать различное lauch взаимо--применения 2 и соединять модели и много стандартных настольных приложений не смогл связывать плавно друг с другом. Для того чтобы ameliorate эта неудовлетворительная ситуация, D-Bus (имя было предложено Harri Porten) был понят и был развит красным шлемом как часть проекта freedesktop.org. Конструкция D-Bus тяжело была повлияна на DCOP. От старта, она была конструирована для того чтобы быть заменой для 2 состязаясь технологий. Начальный модуль исходного кода был создан Havoc Pennington в конце 2002. Развитие было довольно медленно с много изменений к протоколу провода. Однако 2006 спецификация была относительно стабилизирована. Первый GNOME и после этого KDE сделал решение к переходу к D-Bus для того чтобы поддержать одиночную унифицированную технологию applcation соединяя и lauching на настольных компьютерах GNU/linux. В много путей D-Bus подобен к Sun Microsystems ToolTalk которое undelying технология в общей окружающей среде настольного компьютера, и соединять предмета Майкрософта и врезать (ОЛЕ) технологию. Основной протокол D-Bus низкое latancy одноранговое или протокол binary сервера клиента. Не предназначено для пользы взаимо--машины а довольно для пользы intra-машины. Оно работает оперируя понятиями сообщений довольно чем потоки байта. Шина сообщения использована когда many-to-many сообщение пожелано. Нормально применения связывают через такую шину сообщения но сразу связь применени-к-применения также возможна. Связывая на шине сообщения, применения могут запросить которые другие применения и обслуживания имеющиеся, также, как активируйте одно по требованию. Демона, или обслуживание, необходимо запустить прежде чем любые применения могут соединиться к шине сообщения. Этот демон ответствен для держать след применений которые подключены и для правильно направлять сообщения от источника к назначению. Спецификация D-Bus определяет 2 известных вызванной шины шиной системы и встречей Недавние отпуски Fedora и другие распределения GNU/Linux включают слой абстракции оборудования (HAL) который использован для того чтобы поддержать возможности прибора plug-and-play. В этом столбе я покажу вам как ваши сценари заполнения могут использовать HAL для того чтобы восстановить данные по прибора и системы. Термина HAL перегружена как она использовала для того чтобы сослаться оба к спецификации и фактическому програмному обеспечению которое снабжает спецификацию. От точки зрения программистов, HAL путь перечислить возможности и характеристики оборудования прикрепленные к системе и получить извещение когда что-то о оборудовании изменяет. Во-первых, очень быстрый обзор HAL. Каждый деталь физического оборудования в компьютере сосчитан как был предметом прибора который определил уникально обозначением прибора (UDI). Связан с каждым предметом прибора переменный комплект чётких напечатанных на машинке свойств прибора пар ключ-значения (или metadata) вызванных которые описывают чего каждый предмет прибора представляет вместе с своими свойствами. Некоторые свойства прибора выведены от фактического физического оборудования, некоторые слиты от XML-форматных архивов, известных как архивы данным по прибора, и некоторые выведены от конфигурации фактического прибора. Необходимые свойства прибора определены в спецификации HAL. A |
||
|
P. 2005-2011 Finnbarr © Murphy. Все права защищены. |
||