From OpenSCADAWiki
API
!!!!:Зміни:
- SYS: TCntrNode::{chldDel,nodeDis}() переведено на пряме використання TCntrNode::EnDisFlag: NodeNoFlg, NodeRemove, NodeRemoveOnlyStor; та проміжок після > 0x100(TCntrNode::NodeSpecific) зарезервовано для специфічних вузлів, де TParamContr::EnDisFlag встановлено лише у NodeRemove_NoArch та Widget::EnDisFlag встановлено лише у Widget::{NodeRemove_NoDelMark,NoContainer}. Елементи TCntrNode::Flag перейменовано щодо SelfModify->Modified, SelfModifyS->ModifiedS, SelfSaveForceOnChild->SaveForceOnChild.
- Функції сховку об'єкту DB(), fullDB() та setDB() розширено аргументом "qTop".
- Назву підсистеми перенесено до виклику функції subName() та яку встановлено у "virtual" та "constant", так само як subVer() і subId().
- Тип поля опису об'єкту TFld та поля назви об'єкту IO змінено у "string".
- Результат TCntrNode::nodeNameSYSM() змінено у "string".
- TMess: Функцію lang2CodeBase() поділено на загальну langBase() та доповнено функцією langToLocale(), отримання повної локалі за мовою із langBase().
- Функцію lang2Code() розширено аргументами "user" та "onlyUser".
- I18N() змінено у аргументах щодо "const string &mess" перший та mLang перенесено до другого, результат змінено у "string", також для TModule::I18N(), та оновлено всі визначення _().
- Функції перекладу даних (короткі визначення) перейменовано у trD_L(), trD_U(), trD_LU(), trDSet_L(), trDSet_U(), trDSet_LU().
- Видалено I18Ns().
- labStorGen() поєднано із labStor() та тип міток labStor(), labSecCRON(), labSecCRONsel(), labTaskPrior(), labMessCat() змінено у "string"; доповнено міткою labStorGen().
- lang2Code() та lang2CodeBase() перейменовано у langCode() та langCodeBase() відповідно для початку адаптації коду мови більш за 2 символи.
- Безпека: Статичний метод "pHashMagic" перенесено до визначення SEC_HASH_MAGIC.
- БД: Функції TBDS::{open,close}() перейменовано у TBDS::{tblOpen,tblClose}() та встановлено статичними.
- TBDS::{dataSeek,dataGet,dataSet,dataDel,genDBGet,genDBSet}() переведено на бітові прапорці TBDS::ReqGenFlg (перейменовано із TBDS::ReqGen): NoFlg, NoException, OnlyCfg, UseTranslation (перейменовано із ReqGen::UseTranslation), UseCache, UseAllKeys.
- TBDS::dbList() переведено на бітові прапорці TBDS::DBLsFlg: LsNoFlg, LsCheckSel, LsInclGenFirst.
- Функції переведено у статичні: TBDS::{dbList,dataSeek,dataGet,dataSet,dataDel,dataDelTbl}(), TBDS::{fullDBSYS,fullDB}().
- Функції доступу до загальних параметрів TBDS::genDBGet() та TBDS::genPrmSet() всюди перейменовано у genPrmGet() та genPrmSet().
- DAQ: TTypeDAQ::compileFuncSynthHighl() перейменовано у TTypeDAQ::compileFuncSnthHgl() в процесі уніфікації назви.
- Архіви-Історія: Визначення архіво-специфічних назв перейменовано для BUF_ARCH_NM, ALRM_ARCH_NM, ALRM_ARCH_CH_NM у ARCH_BUF, ARCH_ALRM, ARCH_ALRM_CH; та доповнено щодо ARCH_NOALRM ("<noalarms>").
Доповнення:
- SYS: Глобальні короткі функції доповнено s2l() та s2u().
- Доповнено новою функцією strParseEnd() розбору рядків за роздільником із кінця.
- Функцію pathLev() доповнено новим аргументом позиціювання зміщення на початок наступного елементу та що також доповнено у функції користувацького API parsePath() від DAQ.JavaLikeCalc.
- TCntrNode доповнено функціями storage() та setStorage() для відстеження наявності даних вузла. TCntrNode::Flag доповнено елементом LoadForcibly. TCntrNode::modif() та TCntrNode::modifG() доповнено новим аргументом "forceLoad".
- Додано змінну обмеження за часом "limCacheIts_TM" для обмеження кешу повідомлень.
- Загальну функцію кодування strEncode() та відповідник API користувача доповнено варіантом "ShieldBin" захисту-екранування бінарних символів [\x0-\x8\xB-\xC\x0E-\x1F].
- TMess: Доповнено функцією перевірки повідомлень щодо їх перекладуваності — isMessTranslable().
- Доповнено функціями контролю кешу перекладу: translCacheGet(), translCacheSet(), translCacheLimits() та власним замком trMessCacheRes. Доповнено функцією translIdxCacheUpd() оновлення індексу та кешу оперативних перекладів повідомлень, і функціями translItSplit(), translItRemTrs() розділення елементів та видалення із Trs.
- Доповнено щодо контексту перекладу новою функцією trCtx() та об'єктом TrCtxAlloc для утримання.
- Доповнено для перекладу даних trD()->translGet() та trDSet()->translSet().
- Доповнено перекладом системних повідомлень через передзбереження trS(), як ще одне посилання на I18N().
- Доповнено функцією messLevelTest().
- Структуру TMess::Type доповнено елементом "MaxLev" для визначення максимуму типів/рівнів повідомлень.
- Визначення TMess доповнено mess_PreSave="<PSV>" та mess_TrModifMark="<!>".
- XMLNode: Доповнено новою опцією зберігання BinShield(0x400) для контрольованого захисту-екранування бінарних символів [\x0-\x8\xB-\xC\x0E-\x1F].
- TConfig,TCfg: Розширено новими параметрами TConfig::{trcSet,setTrcSet}(), TCfg::{isSet,setIsSet}() виявлення зміни конфігураційних полів та використання у частковому завантажені БД замість toDefault(); та TConfig::{noTransl,setNoTransl}() для глобального встановлення типового перекладу структури. Функцію TCfg::setExtVal() доповнено аргументом "toOne".
- TError: Коди доповнено: DB_TrRemoved (22) для маркування видалення перекладу у БД, DB_ReadOnly (23) впроваджено у SQLite в процесі уніфікації, Core_NoNode (5) відсутності TCntrNode, Tr_ErrTransport (12) для маркування помилок транспорту, Tr_ErrResponse (13) та Tr_ErrDevice (14) для збільшення специфічних до транспорту помилок.
- БД: TBDS::realDBName() доповнено аргументом зворотного перетворення.
- Статичні методи TBDS доповнено новою функцією dbPart() отримання частин адреси сховища та доповнено новою функцією dataDelTbl() загального видалення таблиць, також у Конфігураційному Файлі.
- Доповнено об'єктом елементу структури TTable::TStrIt.
- Загальний SQL-код перенесено до нових функцій: TTable::fieldSQLSeek(), TTable::fieldSQLGet(), TTable::fieldSQLSet(), TTable::fieldSQLDel(); із прапорцями TTable::SQLReqFlag: SQLNoFlg, SQLOrderForSeek, SQLFirstSkipForSeek.
- Декларація у ядрі щодо сервісних визначень, методів та функцій до загального SQL-коду: SEEK_PRELOAD_LIM, tblStrct, seekSess, connRes, fieldFix(), getSQLVal(), setSQLVal().
- Доповнено функцією визначення пріоритету у переліку TBD::lsPr(), TBD::setLsPr() та віртуальною TTypeBD::lsPr().
- Доповнено віртуальною функцією визначення властивостей БД — TTypeBD::features().
- DAQ: Структуру IO::IOFlgs об'єкту TFunction::IO доповнено прапорцем IO::TransltText прямого маркування ВВ Рядку до перекладу.
- Функцію {TController,TParameter}::messSet() доповнено транспортуванням повідомлень з гори до низу, а також функції Користувацького API SYS.DAQ["Modul"]["Controller"].messSet(), SYS.DAQ["Modul"]["Controller"]["Parameter"].messSet().
- TCntrNodeObj доповнено функцією lang(), отриманою із другого рядка загального методу mUserLang.
- Функції API Користувача доповнено funcSnthHgl() у об'єкті модуля Збору Даних і для отримання правил підсвітлення синтаксису модуля та мови.
- Архіви-Історія: Доповнено варіантом функції "void TArchives::messPut( const TMess::SRec &rec, const string &arch = "" )".
- Транспорти: Доповнено новою функцією extHostSeek().
- UI: Доповнено параметром Конфігураційного Файлу "FontSnthHglCode" та відповідними функціями TUIS::fontSnthHglCode() і TUIS::setFontSnthHglCode().
- VCAEngine:
- Функції Користувацького API mime() та mimeSet() доповнено коректними еквівалентами resource() та resourceSet().
- Об'єкт Проєкту доповнено сервісним запитом Інтерфейсу Контролю "read:/serv/access" щодо перевірки доступу читання.
- Сервісний запит Інтерфейсу Контролю "get:/prm/cfg/prj" доповнено параметром "noName" для запобігання запиту назви проєкту.
- VCAEngine: