That's great!
I did look a bit at the code, but couldn't find out how you manage to finish a research.
However, you can link this event to unlock certain articles in Ufopedia, by calling
Ufopaedia::releaseArticle(Game *game, std::string &article_id);
Or, to open the corresponding article state: Ufopaedia::open(...);
See Ufopaedia.h for details.