taskrambler  0.1.9
Web server and task management solution.
parser.c File Reference
#include <stdlib.h>
#include <sys/types.h>
#include <stdarg.h>
#include "class.h"
#include "stream.h"
#include "http/parser.h"
#include "queue.h"
#include "http/request.h"
#include "http/response.h"
#include "cbuf.h"
#include "utils/memory.h"
+ Include dependency graph for parser.c:

Go to the source code of this file.

Functions

static int httpParserCtor (void *_this, va_list *params)
 
static void httpParserDtor (void *_this)
 
 INIT_IFACE (Class, httpParserCtor, httpParserDtor, NULL)
 
 INIT_IFACE (StreamReader, httpParserParse)
 
 CREATE_CLASS (HttpParser, NULL, IFACE(Class), IFACE(StreamReader))
 

Detailed Description

Author
Georg Hopp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Definition in file parser.c.

Function Documentation

CREATE_CLASS ( HttpParser  ,
NULL  ,
IFACE(Class)  ,
IFACE(StreamReader)   
)
static int httpParserCtor ( void *  _this,
va_list *  params 
)
static

Definition at line 41 of file parser.c.

42 {
43  HttpParser this = _this;
44 
45  this->buffer = va_arg(* params, Cbuf);
46 
47  if (NULL == this->buffer) {
48  return -1;
49  }
50 
51  this->queue = new(Queue);
52 
53  return 0;
54 }
static void httpParserDtor ( void *  _this)
static

Definition at line 58 of file parser.c.

References cbufRelease(), MEM_FREE, and TRUE.

59 {
60  HttpParser this = _this;
61 
62  delete(this->queue);
63 
64  if (TRUE == this->ourLock)
65  cbufRelease(this->buffer);
66 
67  MEM_FREE(this->incomplete);
68  delete(this->current);
69 }
#define MEM_FREE(seg)
Definition: memory.h:28
void cbufRelease(Cbuf this)
Definition: release.c:26
#define TRUE
Definition: commons.h:27

+ Here is the call graph for this function:

INIT_IFACE ( Class  ,
httpParserCtor  ,
httpParserDtor  ,
NULL   
)
INIT_IFACE ( StreamReader  ,
httpParserParse   
)