Far 3 API Status

Разработка Far.
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Far 3 API Status

Post by zg »

1. Большая часть апи с билда фара 2922 переходит в состояние release. это значит, что в пределах версии 3 будут предпринято всё зависящее от разработчиков far, чтобы сохранить работу плагинов.
1.1. при этом нужно осознавать, что некорректно написанный плагин может работать в более старом фаре и перестать работать в более новом не по причине нарушение совместимости, а по причине своей некорректности. например:

Code: Select all

void     WINAPI FreeFindDataW(const FreeFindDataInfo* info)     { if (info && info->StructSize == sizeof(FreeFindDataInfo)) far_plugin::instance()->FreeFindDataW(info); }
1.2. так же нужно осознавать, что если какая-то функция не работала, то исправление её работы не является нарушением совместимости.
1.3. нетривиальная очерёдность и количество каких-либо событий не гарантируется. тривиальная очерёдность — это например приход FreeFindDataW после GetFindDataW, но при этом нет никаких гарантий, что не будет вложенных или накладывающихся вызовов GetFindDataW/FreeFindDataW.
2. апи, находящееся в статусе отличном от релиза:
2.1. GetCustomDataW и FreeCustomDataW. обсуждение.
2.2. ProcessConsoleInput.
3. новые функции в апи, которые будут добавляться в будущем по умолчанию имеют статус экспериментальных и об их стабилизации будет сообщаться дополнительно.
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

Re: Far 3 API Status

Post by 2useven10 »

3.1 ?
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Far 3 API Status

Post by zg »

2useven10 wrote:3.1 ?
?
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

Re: Far 3 API Status

Post by 2useven10 »

не пора ли сменить номер версии?
add: то что есть сейчас уже очень сильно отличается от того, что было в феврале 2011-го.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Far 3 API Status

Post by NightRoman »

Хотелось бы чтобы SetDirectory когда-нибудь в будущем передавал в плагин не только имя элемента панели, но и указатель на его структуру UserData (имена не годятся в некоторых "сложных" панелях). Без ломки это можно будет сделать? Если нет, то еще это бы учесть сейчас.
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Far 3 API Status

Post by zg »

2useven10 wrote:не пора ли сменить номер версии?
add: то что есть сейчас уже очень сильно отличается от того, что было в феврале 2011-го.
я не очень понимаю, откуда у всех такая фиксация на смене версий. версия сменилась на 3.0 именно потому, что планировались масштабные изменения. вот они более-менее закончились, вот он готовый far 3.0 для всех, но нет, надо сменить версию. зачем?
NightRoman wrote:Хотелось бы чтобы SetDirectory когда-нибудь в будущем передавал в плагин не только имя элемента панели, но и указатель на его структуру UserData (имена не годятся в некоторых "сложных" панелях). Без ломки это можно будет сделать? Если нет, то еще это бы учесть сейчас.
кто о чём, а вшивый о бане. во-первых у нас на форуме запрещен кропостинг вопросов в разные темы. во-вторых вопрос вроде как бы уже и обсуждали, и насколько я помню, проблема там отнюдь не в апи. в-третьих:

Code: Select all

intptr_t WINAPI SetDirectoryW(const struct SetDirectoryInfo *Info)
я не вижу никаких технических препятствий добавить в struct SetDirectoryInfo хоть 100500 новых полей, чтобы при этом текущие плагины не сломались.
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

Re: Far 3 API Status

Post by 2useven10 »

я не очень понимаю, откуда у всех такая фиксация на смене версий.
откуда такая фиксация на 3.0 :)
версия сменилась на 3.0 именно потому, что планировались масштабные изменения.
запланированные изменения по большому счёту сделаны. поэтому вполне логично было бы это подчеркнуть.
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Far 3 API Status

Post by zg »

2useven10 wrote:поэтому вполне логично было бы это подчеркнуть.
подчёркнуто.
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

Re: Far 3 API Status

Post by 2useven10 »

ок, можно и так.
User avatar
Alexey Samlyukov
Posts: 1765
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 7 times
Contact:

Re: Far 3 API Status

Post by Alexey Samlyukov »

Энциклопедия адаптирована, за исключением того, что указано в todo. В связи с тем, что писалось по типу "что вижу - то и пишу" необходимо авторам кода вычитать адаптацию, т.к. мое виденье кода может отличаться от задуманного автором.
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Re: Far 3 API Status

Post by t-rex »

commonapi/index.html потерялся где то (линк с главное страницы)
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Re: Far 3 API Status

Post by t-rex »

А зачем там в енц. везде просят проверять размер структур полученых от фара (что они больше или равны чем структуры плагина)?
Ведь и так плагин задаёт MinFarVersion в GetGlobalInfoW(), так что все эти проверки смысла не имеют.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Far 3 API Status

Post by DrKnS »

емнип, на случай появления "межплагинного взаимодействия", т. е. если структура вдруг пришла не от фара, а от какого-то плагина, не факт, что нового.
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Re: Far 3 API Status

Post by t-rex »

Не понял
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Far 3 API Status

Post by DrKnS »

Ну типа вдруг экспорт вызовет не фар, а какой-то более другой плагин (напрямую или через какие-то будущие интерфейсы, хз), а структура у этого вызывающего плагина меньше, чем ожидается, как-то так.
Post Reply

Return to “Development”