Класс CmaKernel позволяет сократить код создания и использования ядра.

CmaKernel(maString logName);

Создает ядро и открывает файл, в который записываются сообщения об ошибках (лог-файл). Если файл не существует, то он создается; если существует, то новые сообщения дописываются в конец.

~CmaKernel();

Выгружает загруженные библиотеки алгоритмов и уменьшает число ссылок на ядро.

HRESULT LoadLibraryByName (maString clsname);
HRESULT LoadLibraryByClsid (maString clsid);

Функции загружают библиотеку алгоритмов — компонент с интерфейсом ImaLibrary, реализующий определённое количество методов.

В зависимости от выбранной функции библиотека ищется, соответственно по имени класса библиотеки clsname или по строковому представлению идентификатора класса библиотеки clsid.

Класс библиотеки должен быть предварительно зарегистрирован в системном реестре.

HRESULT RegisterLibrary(ImaLibrary* lib);

Подключает к ядру библиотеку методов, уже загруженную программой, не регистрируя ее в реестре

void UnloadLibraries();

Выгружает из памяти все библиотеки. Эта функция вызывается автоматически из деструктора класса CMaKernel.

void SetDebugStream (CmaStream stream);

Функция устанавливает отладочный поток вывода по умолчанию. При создании алгоритмов этот поток будет автоматически заноситься в параметр "Debug".

CmaStream GetDebugStream ();

Функция возвращает отладочный поток вывода.

void LogError(IPersist* sender,int ecode,maString message)
void LogMessage(IPersist* sender,maString message)

Функции записывают в отладочный поток сообщение об ошибке (с кодом ecode) или информационное сообщение вместе со сведениями об объекте, пославшем его (параметр sender).

void Log(maString message)

Функция записывает в отладочный поток строку message. Эквивалентна вызову функции WriteStr(message) отладочного потока.

void Message (maString format, ...)
void Error (int eCode,maString format, ...)

Функции выводят в отладочный поток сообщения аналогично предыдущим, но имеют аргументы, как у стандратной функции вывода wsprintf.

void LogMemoryReport();

Эаписывает в отладочный поток сведения о расходе памяти

void LogROT();

Функция записывает в отладочный поток список всех объектов в системе maCom на момент вызова. Эта функция работает только если DebugLevel не установлен в MA_DEBUG_NONE.

HRESULT SetProgressHandler(ImaProgressHandler* handler) 

Функция устанавливает обработчик сообщений, посылаемых ядру вызовом функции Progress. Эта функция используется реализацией метода для сообщения о ходе вычислений. Также обработчик сообщений может потребовать остановки вычислений.

HRESULT Progress([in] double percent,
		[in,string] maString message) 

Функция вызывает обработчик сообщений, установленный функцией SetProgressHandler и возвращает MA_NOERROR, если вызыавющий может продолжать работу и MA_ERR_INTERRUPT, если пользователь просит отменить операцию.