The existing TWiki::Func API should be sufficient. You can get the list of webs using TWiki::Func::getListOfWebs, from there use TWiki::Func::getTopicList, then TWiki::Func::readTopic. To check for access permission use TWiki::Func::checkAccessPermission.
-- PeterThoeny - 2010-06-04