rv = nsComponentManager::AutoRegister(nsIComponentManager::NS_Startup, "components");
rv = NS_AutoregisterComponents();
main(int argc, char* argv[]){    nsresult rv;    if (argc < 2) {        printf("usage: %s <dir-to-read-all-files-from>\n", argv[0]);        return -1;    }    char* dirName = argv[1];    // XXX why do I have to do this?!    rv = nsComponentManager::AutoRegister(nsIComponentManager::NS_Startup,                                          "components");    if (NS_FAILED(rv)) return rv;    NS_WITH_SERVICE(nsIFileTransportService, fts, kFileTransportServiceCID, &rv);    if (NS_FAILED(rv)) return rv;    SerialReadTest(dirName);    ParallelReadTest(dirName, fts);    fts->ProcessPendingRequests();    printf("duration %d ms, volume %d\n",           PR_IntervalToMilliseconds(gDuration),           gVolume);    gVolume = 0;    return 0;}