The qDecoder Project

[svn] / releases / qDecoder-9.0.0 / examples / config.c

Parent Directory Parent Directory Revision Log Revision Log


Revision 495 - Download Blame
Mon Jan 4 22:18:11 2010 UTC (8 months ago) by wolkykim
File size: 2226 byte(s)
Renaming RB-9.0 to qDecoder-9.0
    1 /*
    2  * Copyright 2008 The qDecoder Project. All rights reserved.
    3  *
    4  * Redistribution and use in source and binary forms, with or without
    5  * modification, are permitted provided that the following conditions
    6  * are met:
    7  *
    8  * 1. Redistributions of source code must retain the above copyright
    9  *    notice, this list of conditions and the following disclaimer.
   10  * 2. Redistributions in binary form must reproduce the above copyright
   11  *    notice, this list of conditions and the following disclaimer in the
   12  *    documentation and/or other materials provided with the distribution.
   13  *
   14  * THIS SOFTWARE IS PROVIDED BY THE QDECODER PROJECT ``AS IS'' AND ANY
   15  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   16  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   17  * DISCLAIMED. IN NO EVENT SHALL THE QDECODER PROJECT BE LIABLE FOR ANY
   18  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   19  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   20  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   21  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
   23  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   24  */
   25 
   26 #include <stdio.h>
   27 #include <stdlib.h>
   28 #include <stdbool.h>
   29 #include "qDecoder.h"
   30 
   31 #define CONF_FILE		"config.conf"
   32 
   33 int main(void) {
   34 	/* Parse queries. */
   35 	Q_ENTRY *req = qCgiRequestParse(NULL);
   36 
   37 	/* Parse configuration file */
   38 	Q_ENTRY *conf = qConfigParseFile(NULL, CONF_FILE, '=');
   39 	if(conf == NULL) qCgiResponseError(req, "Configuration file(%s) not found.", CONF_FILE);
   40 
   41 	/* Get variable */
   42 	const char *protocol = qEntryGetStr(conf, "PROTOCOL");
   43 	const char *host     = qEntryGetStr(conf, "HOST");
   44 	int port       = qEntryGetInt(conf, "PORT");
   45 
   46 	/* Print out */
   47 	qCgiResponseSetContentType(req, "text/plain");
   48 	printf("Protocol : %s\n", protocol);
   49 	printf("Host     : %s\n", host);
   50 	printf("Port     : %d\n", port);
   51 
   52 	printf("\n--[CONFIGURATION DUMP]--\n");
   53 	qEntryPrint(conf, stdout, true);
   54 
   55 	/* Deallocate parsed entries */
   56 	qEntryFree(conf);
   57 	qEntryFree(req);
   58 
   59 	return 0;
   60 }

Home | About | Examples | Changes | Download | SVN Repository | Install | Reference