예제 #1
0
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();
}
예제 #2
0
파일: main.c 프로젝트: Marneus68/stnd
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;
}