Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS HTTP Daemon * FILE: config.cpp * PURPOSE: Daemon configuration * PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net) * REVISIONS: * CSH 01/09/2000 Created */#include <new>#include <stdlib.h>#include <string.h>#include <config.h>#include <tchar.h>
using namespace std;
LPCConfig pConfiguration;LPCHttpDaemonThread pDaemonThread;
// Default constructorCConfig::CConfig(){ Reset();}
// Default destructorCConfig::~CConfig(){ Clear();}
// Clear configurationvoid CConfig::Reset(){ MainBase = NULL; HttpBase = NULL; DefaultResources.RemoveAll();}
// Create default configuration. Can throw bad_allocvoid CConfig::Default(){ Clear(); MainBase = _wcsdup((LPWSTR)dcfgMainBase); HttpBase = _strdup(dcfgHttpBase);
LPSTR lpsStr; try { lpsStr = _strdup(dcfgDefaultResource); DefaultResources.Insert(lpsStr); } catch (bad_alloc&) { free((void *)lpsStr); Clear(); throw; }
Port = dcfgDefaultPort;}
// Clear configurationvoid CConfig::Clear(){ if (MainBase != NULL) free((void *)MainBase); if (HttpBase != NULL) free((void *)HttpBase);
// Free memory for all strings CIterator<LPSTR> *i = DefaultResources.CreateIterator(); for (i->First(); !i->IsDone(); i->Next()) free((void *)i->CurrentItem()); delete i;
Reset();}
// Load configurationBOOL CConfig::Load(){ Default(); return TRUE;}
// Save configurationBOOL CConfig::Save(){ return TRUE;}
// Return MainBaseLPWSTR CConfig::GetMainBase(){ return MainBase;}
// Set MainBasevoid CConfig::SetMainBase(LPWSTR lpwsMainBase){ MainBase = lpwsMainBase;}
// Return HttpBaseLPSTR CConfig::GetHttpBase(){ return HttpBase;}
// Set HttpBasevoid CConfig::SetHttpBase(LPSTR lpsHttpBase){ HttpBase = lpsHttpBase;}
// Return DefaultResourcesCList<LPSTR>* CConfig::GetDefaultResources(){ return &DefaultResources;}
// Return bound portUSHORT CConfig::GetPort(){ return Port;}
// Set portVOID CConfig::SetPort(USHORT wPort){ Port = wPort;}