This is tedious:
/* Get the connection manager name: */
gchar *cm_name = NULL;
So this would be nicer:
gchar* cm_name = tp_connection_manager_get_name (cm);
The idea was that you'd just use the read-only member connection_manager->name (which is marked as public at the moment).
I realise public struct members are often considered harmful; we're gradually introducing C convenience API and deprecating direct access (TpProxy will get this in the next version, TpChannel already has it).
Fixed in 0.7.26, along with lots of other "C bindings" for TpConnectionManager