Добавить в FAR API события (events) о плагинах и от них

Место, где разработчики плагинов могут поделиться своим опытом.
citRiks
Posts: 1094
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 339 times
Been thanked: 56 times

Добавить в FAR API события (events) о плагинах и от них

Post by citRiks »

Latest post of the previous page:

John Doe wrote: Wed 08 Apr, 2020 16:25 Абстрактные точно смысла нет.
Я привел три неабстрактных сценария:
1.) Пример с просмотрщиком картинок (выше подробнее)
2.) Пример с плагином для ActiveDirectory (выше подробнее)
3.) Пример с измерением времени загрузки плагинов - критично для старта ФАРа)
5.) Пример с измерением времени работы (calls) плагинов -) чтобы знать какой плагин шустрее,
или тот же плагин в разных конфигурациях, или новая версия того же плагина (будем спорить что это важно для всех?)

или это опять абстрактное все?
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
citRiks
Posts: 1094
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 339 times
Been thanked: 56 times

Добавить в FAR API события (events) о плагинах и от них

Post by citRiks »

John Doe wrote: Wed 08 Apr, 2020 16:25 Я из первого сообщения например не понял ничего.
А вот Егор меня быстро понял почему-то:
Yegor wrote: Tue 07 Apr, 2020 19:10 Вам нужны события, типа BeforePluginCall, AfterPluginCall etc?
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
citRiks
Posts: 1094
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 339 times
Been thanked: 56 times

Добавить в FAR API события (events) о плагинах и от них

Post by citRiks »

спасибо за интерес к предложению, чуть позже доотвечаю
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
User avatar
zg
zero-gravity
Posts: 5878
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 158 times
Contact:

Добавить в FAR API события (events) о плагинах и от них

Post by zg »

citRiks wrote: Wed 08 Apr, 2020 18:51 zg,
плагин для ActiveDirectry, туда заходишь, и видишь обьекты ActiveDirectory
что с этим не так?
с этим всё так, причём здесь Plugin.Call?
User avatar
HaRT
Moderator
Posts: 9646
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 117 times
Been thanked: 243 times

Добавить в FAR API события (events) о плагинах и от них

Post by HaRT »

citRiks wrote: Wed 08 Apr, 2020 18:53 это действительно есть сейчас?
его можно сделать не влезая в код самого ФАРа?
таких прокси может быть несколько?
N Y Y
Фар есть инструмент, а не нянька. © 2009 DrKnS
2useven10
Posts: 4184
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 204 times

Добавить в FAR API события (events) о плагинах и от них

Post by 2useven10 »

HaRT wrote: Wed 08 Apr, 2020 20:56N Y Y
User avatar
zg
zero-gravity
Posts: 5878
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 158 times
Contact:

Добавить в FAR API события (events) о плагинах и от них

Post by zg »

2useven10 wrote: Thu 09 Apr, 2020 12:06Самое интересное в этой теме - что такое NYY?
нет, да, да. ответы на соответствующие вопросы.
citRiks
Posts: 1094
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 339 times
Been thanked: 56 times

Добавить в FAR API события (events) о плагинах и от них

Post by citRiks »

zg wrote: Wed 08 Apr, 2020 19:07 с этим всё так, причём здесь Plugin.Call?
Ну вот есть открытый плагин этот (или другой) пользователь там что-то сделал,
зашел в какой-нибудь бранч AD, и вызвался какой-нибудь GetFindData/ObjectsList,
который проходит через вызов АПИ (или как иначе?) на которые я и [редлагаю навесить евенты.
Насколько я понимаю, каждому (покрайней мере интерактивному) действию юзера с плагином соответствует Plugin.Call(..), не?
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
citRiks
Posts: 1094
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 339 times
Been thanked: 56 times

Добавить в FAR API события (events) о плагинах и от них

Post by citRiks »

HaRT wrote: Wed 08 Apr, 2020 20:56N Y Y
Не залазя в код ФАРа сделать hook на вызовы АПИ?
И заранее спрошу, у этого способа (хоть я не знаю что конкретно вы предлагаете?) какой performance overhead будет?

(я могу догадаться о некоторых изощренных способах,
но проблема что не будет производительности и или/стабильности работы,
значит и юзабельности)

(Пока напряг со временем, буду счастлив продолжить завтра или в ближайшие дни, спасибо)
Last edited by citRiks on Thu 09 Apr, 2020 16:27, edited 1 time in total.
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
User avatar
HaRT
Moderator
Posts: 9646
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 117 times
Been thanked: 243 times

Добавить в FAR API события (events) о плагинах и от них

Post by HaRT »

citRiks wrote: Thu 09 Apr, 2020 16:22 Не залазя в код ФАРа сделать hook на вызовы АПИ?
FAR API публичный и документированный, а паттерн называется Proxy.
citRiks wrote: Thu 09 Apr, 2020 16:22 какой performance overhead будет?
Если делать на C/C++, то очень небольшой (вызов ф-ии с готовыми аргументами).
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
zg
zero-gravity
Posts: 5878
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 158 times
Contact:

Добавить в FAR API события (events) о плагинах и от них

Post by zg »

citRiks wrote: Thu 09 Apr, 2020 16:17Ну вот есть открытый плагин этот (или другой) пользователь там что-то сделал,
зашел в какой-нибудь бранч AD, и вызвался какой-нибудь GetFindData/ObjectsList,
который проходит через вызов АПИ (или как иначе?) на которые я и [редлагаю навесить евенты.
Насколько я понимаю, каждому (покрайней мере интерактивному) действию юзера с плагином соответствует Plugin.Call(..), не?
нет. Plugin.Call — это вообще очень опциональная вещь. т.е. вы вообще не представляете, как устроено взаимодействие фара и плагинов. но предлагаете серьёзные улучшения того, что есть только в ваших фантазиях. настойчиво тратя в том числе и моё время. тема закрывается.
Locked

Return to “Разработка плагинов”