Войти  |  Регистрация
Авторизация

Репликант (BeOS)



Репликант (англ. replicant) — термин операционной системы BeOS и её семейства — программа, работающая вне оконного интерфейса, непосредственно на рабочем столе; то, что в других операционных системах называется виджетом.

Помимо рабочего стола, другие объекты могут принимать репликанты без ущерба для их работоспособности. Для того, чтобы объект мог принимать репликанты, он должен зарегистрировать себя как контейнер (англ. container). В частности, программа Container, иллюстрирующая возможность принимать репликанты, поставлялась с BeOS 4.5 в качестве демонстрационной программы.

Работа с репликантом

Программа, ответственная за работу репликантов в BeOS — это менеджер файлов Tracker. Если в Tracker`е включена опция Show replicants, он будет рисовать пиктограмму, напоминающую ладонь, в углу окон программ, которые могут работать как репликанты, и в углу самих репликантов. Эта пиктограмма называется Replicant handle. Буксировка этой пиктограммы из окна программы на рабочий стол или в другой контейнер создаёт новый репликант, буксировка пиктограммы существующего репликанта перемещает его, буксировка пиктограммы из репликанта в Trash (мусорную корзину) - удалит этот репликант.

С точки зрения программиста

В момент начала буксировки пиктограммы (Replicant handle) из окна программы работа этой программы полностью прекращается. Состояние программы архивируется в специальный системный объект (BMessage), который потом пересылается туда, куда была брошена пиктограмма. Если у пункта назначения есть возможности контейнера, системный объект BMessage корректно распознаётся, разархивируется и запускается, вследствие чего образуются два (поначалу абсолютно идентичных) экземпляра программы. В дальнейшем эти экземпляры могут вести себя по-разному.

Из этого следует, что

  • Во-первых, в коде программы, которая планируется как репликант, должен быть один главный, выводящий всё на экран объект (BView) - именно он будет перенесён в контейнер.
  • Во-вторых, для этого объекта должны быть определены функции сохранения текущего состояния в объект BMessage и восстановления текущего состояния из объекта BMessage.
  • В-третьих, программа должна быть спроектирована так, чтобы полная остановка в работе, возможно, на несколько секунд, не вызывала ошибок.

С точки зрения пользователя

Применение репликантов в BeOS широко и разнообразно. Многие развлекательные программы поддерживают работоспособность в качестве репликантов; в частности, Интернет-мессенджер Gim-ICQ, Интернет-браузер NetPositive, проигрыватель SoundPlay и др..



Добавить комментарий
Ваше Имя:
Ваш E-Mail:
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent