aqhome: more work on http server.

This commit is contained in:
Martin Preuss
2023-08-08 23:49:28 +02:00
parent 3378908c93
commit aafecfa704
50 changed files with 2988 additions and 497 deletions

View File

@@ -28,16 +28,34 @@ static void GWENHYWFAR_CB _freeData(void *bp, void *p);
void AQH_HttpService_Extend(AQH_SERVICE *sv)
AQH_SERVICE *AQH_HttpService_new(const char *configFolder, const char *sourceFolder)
{
AQH_SERVICE *sv;
sv=AQH_Service_new();
AQH_HttpService_Extend(sv, configFolder, sourceFolder);
return sv;
}
void AQH_HttpService_Extend(AQH_SERVICE *sv, const char *configFolder, const char *sourceFolder)
{
AQH_HTTP_SERVICE *xsv;
GWEN_NEW_OBJECT(AQH_HTTP_SERVICE, xsv);
GWEN_INHERIT_SETDATA(AQH_SERVICE, AQH_HTTP_SERVICE, sv, xsv, _freeData);
AQH_HttpService_SetConfigFolder(sv, configFolder);
AQH_HttpService_SetSourceFolder(sv, sourceFolder);
xsv->moduleMutex=GWEN_Mutex_new();
xsv->userMutex=GWEN_Mutex_new();
xsv->sessionMutex=GWEN_Mutex_new();
xsv->urlHandlerList=AQH_HttpUrlHandler_List_new(sv);
}
@@ -48,6 +66,8 @@ void _freeData(void *bp, void *p)
xsv=(AQH_HTTP_SERVICE*) p;
AQH_HttpUrlHandler_List_free(xsv->urlHandlerList);
GWEN_Mutex_free(xsv->moduleMutex);
GWEN_Mutex_free(xsv->userMutex);
GWEN_Mutex_free(xsv->sessionMutex);
@@ -61,25 +81,6 @@ void _freeData(void *bp, void *p)
AQH_HTTP_SERVICE_HANDLEREQUEST_FN AQH_HttpService_SetHandleRequestFn(AQH_SERVICE *sv, AQH_HTTP_SERVICE_HANDLEREQUEST_FN fn)
{
if (sv) {
AQH_HTTP_SERVICE *xsv;
xsv=GWEN_INHERIT_GETDATA(AQH_SERVICE, AQH_HTTP_SERVICE, sv);
if (xsv) {
AQH_HTTP_SERVICE_HANDLEREQUEST_FN oldFn;
oldFn=xsv->handleRequestFn;
xsv->handleRequestFn=fn;
return oldFn;
}
}
return NULL;
}
const char *AQH_HttpService_GetConfigFolder(const AQH_SERVICE *sv)
{
if (sv) {