our current experimental Neutrino branch

git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@27 e54a6e83-5905-42d5-8d5c-058d10e6a962
This commit is contained in:
mrcolor
2009-12-08 11:05:11 +00:00
commit bc5bd4154e
876 changed files with 193775 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
//=============================================================================
// YHTTPD
// CacheManager
//-----------------------------------------------------------------------------
//=============================================================================
#ifndef __yhttpd_mod_cache_h__
#define __yhttpd_mod_cache_h__
// system
#include <pthread.h>
// c++
#include <string>
// yhttpd
#include "yconfig.h"
#include "ytypes_globals.h"
#include "yhook.h"
//-----------------------------------------------------------------------------
typedef struct
{
std::string filename;
std::string mime_type;
std::string category;
time_t created;
} TCache;
typedef std::map<std::string, TCache> TCacheList;
//-----------------------------------------------------------------------------
class CmodCache : public Cyhook
{
private:
static TCacheList CacheList;
std::string cache_directory;
void yshowCacheInfo(CyhookHandler *hh);
void yCacheClear(CyhookHandler *hh);
public:
static pthread_mutex_t mutex;
CmodCache(){};
~CmodCache(void){};
void AddToCache(CyhookHandler *hh, std::string url, std::string content, std::string mime_type, std::string cartegory="none");
static void RemoveURLFromCache(std::string url);
static void RemoveCategoryFromCache(std::string category);
static void DeleteCache(void);
// Hooks
virtual THandleStatus Hook_PrepareResponse(CyhookHandler *hh);
virtual THandleStatus Hook_SendResponse(CyhookHandler *hh);
virtual std::string getHookVersion(void) {return std::string("$Revision: 1.1 $");}
virtual std::string getHookName(void) {return std::string("mod_cache");}
virtual THandleStatus Hook_ReadConfig(CConfigFile *Config, CStringList &ConfigList);
};
#endif /* __yhttpd_mod_cache_h__ */