ComSDK
 Указатель Классы Пространства имен Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Группы Страницы
Список задач
Член com::Anymap::AnyDataType

требуется переделать на что-то более гибкое

вектора должны быть обобщены

Член com::Anymap::data ()
добавлено для того, чтобы иметь возможность обходить элементы Anymap в цикле лучшим решением было бы переопределение специального итератора
Пространство имен com::graph
необходимо реализовать параллельные ветки
Член com::ini::INIParser::save ()
: нерациональное проверки (ниже тоже)
Класс com::interproc::Node
Необходимо реализовать синхронную версию
Член com::lib::DllLoader< TDllHandle >::createObject (const char *p_reg_func_name, OutObjectType *&o_obj, const std::string &p_input_file="")
задать корректный код ошибки
Член com::lib::DllLoader< TDllHandle >::DllLoader (const std::string &p_dll_name)
обработать исключение
Член com::lib::loadFunction (const std::string &p_dllname, const std::string &p_regfunc, TDllHandle &o_dll)
обработать исключения
Член com::lib::loadLibrary (const std::string &p_dllname, TDllHandle &o_dll)

Доделать проверку имени библиотеки (абсолютный путь не работает + windows-case не работает)

определить правильный код ошибки!

определить правильный код ошибки!

Член com::lib::registerObject (const std::string &p_dllname, const std::string &p_regfunc, TDllHandle &o_dll, const std::string &p_input_file="")
обработать исключения
Член com::mem::createThreeDimArray (int p_dim1, int p_dim2, int p_dim3, enu_MultiDimArrayType p_init_type, T ***p_init_value=NULL)
отладить !!!
Член com::mem::tmp_reinitThreeDimArray (T ***&o_array, bool p_create_new, int p_dim1, int p_dim2, int p_dim3, enu_MultiDimArrayType p_init_type, T ***p_init_value)
отладить !!!
Член com::mem::tmp_reinitTwoDimArray (T **&o_array, bool p_create_new, int p_rows, int p_cols, enu_MultiDimArrayType p_init_type, T **p_init_value)
отладить !!!
Член com::sql::filter (SqlTable *p_table, const std::map< std::string, std::string > &p_filter)
Требуется переделать на умные указатели.
Член com::sql::loadAnyMapToRawTable (const Anymap &p_anyMap, SqlTable &o_sqlTable)
Доработать возвращение ошибок, они должны быть информативными
Член com::sql::loadAnyMapToTable (const Anymap &p_anyMap, SqlTable &o_sqlTable)
Доработать возвращение ошибок, они должны быть информативными
Член com::sql::loadRawTableToAnyMap (const SqlTable &p_sqlTable, Anymap &o_anyMap)
Доработать возвращение ошибок, они должны быть информативными
Член com::sql::loadTableToAnyMap (const SqlTable &p_sqlTable, Anymap &o_anyMap)
Доработать возвращение ошибок, они должны быть информативными
Член com::sql::makeStlTreeFromTreeLikedTable (tree< std::string > &o_tree, const SqlTable &p_table, int p_itemIndex, int p_parentItemIndex)
Требуется расширить на случай составного первичного ключа
Класс com::sql::SqlTable

Нужно продумать добавление FK и PK к таблице, чтобы это гармонично вливалось в структуру данных.

Нужно сделать swap метод, актуально в DatabaseManager.

Необходимо сделать автоматическое отслеживание изменений, чтобы потом формировать из них запросы.

Нужен переход к итераторам. Мотивирующий пример есть в DbAccess, там активная работа с таблицами.

Нужно создать RawTable и отнаследоваться от него, аналог есть в comwpc.

После реализации RawTable нужно сделать CompositeTable, где можно было бы делать мердж таблиц.

Член com::sql::SqlTable::ColumnType
Не нужно, первичный ключ и внешний ключ определяется через соотв. структуры данных.
Член com::sql::SqlTable::deleteRow (int pRow)
Переработать метод, возвращаемое значение не должно быть таким
Член com::sql::SqlTable::getForeignKey (int pCol) const
метод бессмысленный и работает неверно (+ нет проверок). Нужно переработать механизм FK. На данный момент ориентироваться нужно на тип колонки (ДОЛЖЕЕН быть FK для подходящего случая)
Член com::sql::SqlTable::setContent (int pCol, int pRow, const std::string &pValue)
Нерабочая функция, надо доделать
Пространство имен com::str
Требуется создать обобщенный вариант преобразования объектов в строки, аналогичный str() в питоне
Член com::str::paramValueSplit (const std::string &p_pair, const std::string &p_delimeter, std::string &o_param, std::string &o_value)
Переименовать, эта функция разбивает строку на две подстроки по разделителю
Класс com::sys::AsyncActionItemExecutor
возможно стоит реализовать эту идею через context
Член com::sys::DatabaseDirectAccess::DatabaseDirectAccess (const std::string &host, unsigned short port, const std::string &dbName, boost::asio::io_service &ioservice, std::unique_ptr< com::db::DatabaseBackend > backend)
переделать на умные указатели
Член com::sys::DatabaseManager::executeSqlRequest (const std::string &request, OnTableReceivedClb clb, const std::string &db="")
переделать на RawTable