QStringList QMacSettingsPrivate::children(const QString &prefix, ChildSpec spec) const { QMap<QString, QString> result; int startPos = prefix.size(); for (int i = 0; i < numDomains; ++i) { for (int j = 0; j < numHostNames; ++j) { QCFType<CFArrayRef> cfarray = CFPreferencesCopyKeyList(domains[i].applicationOrSuiteId, domains[i].userName, hostNames[j]); if (cfarray) { CFIndex size = CFArrayGetCount(cfarray); for (CFIndex k = 0; k < size; ++k) { QString currentKey = qtKey(static_cast<CFStringRef>(CFArrayGetValueAtIndex(cfarray, k))); if (currentKey.startsWith(prefix)) processChild(currentKey.mid(startPos), spec, result); } } } if (!fallbacks) break; } return result.keys(); }
int main(int argc, const char *argv[]) { int lfd, cfd; socklen_t clilen; pid_t childpid; struct sockaddr_in servaddr, cliaddr; if (argc != 2) { printf("Error : server port missing\n"); exit(-1); } lfd = socket(AF_INET, SOCK_STREAM, 0); if (lfd < 0) { printf("Error : couldn't opening socket\n"); exit(-1); } bzero((char *) &servaddr, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_addr.s_addr = INADDR_ANY; servaddr.sin_port = htons(atoi(argv[1])); if (bind(lfd, (struct sockaddr *) & servaddr, sizeof(servaddr)) < 0) { printf("Error : binding port number\n"); } listen(lfd, 5); clilen = sizeof(cliaddr); for(;;) { if ((cfd = accept(lfd, (struct sockaddr *) & cliaddr, &clilen)) < 0) { printf("Error : accept\n"); exit(-1); } childpid = fork(); if (childpid < 0) { error("Error : fork\n"); } if (childpid == 0) { close(lfd); processChild(cfd); exit(0); } close(cfd); } return 0; }