EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
ObjCacheService Class Reference

#include "ObjCacheService.h"

Inheritance diagram for ObjCacheService:
Collaboration diagram for ObjCacheService:

Public Types

enum  hintSet { hLoginCachables, hCharCreateCachables, hCharCreateNewExtraCachables, hAppearanceCachables }
 

Public Member Functions

 ObjCacheService (PyServiceMgr *mgr, const char *cacheDir)
 
virtual ~ObjCacheService ()
 
void PrimeCache ()
 
void InsertCacheHints (hintSet hset, PyDict *into)
 
PyRepGetCacheHint (const PyRep *objectID)
 
PySubStreamLoadCachedFile (const char *filename, const char *oname)
 
bool IsCacheLoaded (const PyRep *objectID) const
 
bool IsCacheLoaded (const ObjectCachedMethodID &m) const
 
bool IsCacheLoaded (const ObjectCachedSessionMethodID &m) const
 
void InvalidateCache (const PyRep *objectID)
 
void InvalidateCache (const ObjectCachedMethodID &m)
 
void GiveCache (const PyRep *objectID, PyRep **contents)
 
void GiveCache (const ObjectCachedMethodID &m, PyRep **contents)
 
void GiveCache (const ObjectCachedSessionMethodID &m, PyRep **contents)
 
PyObjectMakeObjectCachedMethodCallResult (const PyRep *objectID, const char *versionCheck="run")
 
PyObjectMakeObjectCachedMethodCallResult (const ObjectCachedMethodID &m, const char *versionCheck="run")
 
PyObjectMakeObjectCachedSessionMethodCallResult (const PyRep *objectID, const char *sessionInfoName, const char *clientWhen="always")
 
PyObjectMakeObjectCachedSessionMethodCallResult (const ObjectCachedSessionMethodID &m, const char *sessionInfoName, const char *clientWhen="always")
 
- Public Member Functions inherited from PyService
 PyService (PyServiceMgr *mgr, const char *serviceName)
 
virtual ~PyService ()
 
virtual PyResult Call (const std::string &method, PyCallArgs &args)
 
const char * GetName () const
 
- Public Member Functions inherited from PyCallable
 PyCallable ()
 
virtual ~PyCallable ()
 

Protected Types

typedef std::map< std::string,
std::string > 
CacheKeysMap
 
typedef CacheKeysMap::iterator CacheKeysMapItr
 
typedef
CacheKeysMap::const_iterator 
CacheKeysMapConstItr
 
- Protected Types inherited from PyService
enum  CacheCheckTime {
  check_Always = 0, check_Never, check_in_year, check_in_6_months,
  check_in_3_months, check_in_1_month, check_in_1_week, check_in_1_day,
  check_in_12_hours, check_in_6_hours, check_in_3_hours, check_in_2_hours,
  check_in_1_hour, check_in_30_minutes, check_in_15_minutes, check_in_5_minutes,
  check_in_1_minute, check_in_30_seconds, check_in_15_seconds, check_in_5_seconds,
  check_in_1_second, _checkCount
}
 

Protected Member Functions

bool _LoadCachableObject (const PyRep *objectID)
 
- Protected Member Functions inherited from PyService
PyObject_BuildCachedReturn (PySubStream **result, const char *sessionInfo, CacheCheckTime check)
 
virtual PyBoundObjectCreateBoundObject (Client *pClient, const PyRep *bind_args)
 
virtual PyResult Handle_MachoResolveObject (PyCallArgs &call)
 
virtual PyResult Handle_MachoBindObject (PyCallArgs &call)
 
- Protected Member Functions inherited from PyCallable
void _SetCallDispatcher (CallDispatcher *d)
 

Protected Attributes

Dispatcher *const m_dispatch
 
ObjCacheDB m_db
 
std::string m_cacheDir
 
CachedObjectMgr m_cache
 
CacheKeysMap m_cacheKeys
 
- Protected Attributes inherited from PyService
PyServiceMgr *const m_manager
 

Static Protected Attributes

static const char *const LoginCachableObjects []
 
static const uint32 LoginCachableObjectCount = sizeof(ObjCacheService::LoginCachableObjects) / sizeof(const char *)
 
static const char *const CharCreateCachableObjects []
 
static const uint32 CharCreateCachableObjectCount = sizeof(ObjCacheService::CharCreateCachableObjects) / sizeof(const char *)
 
static const char *const AppearanceCachableObjects []
 
static const uint32 AppearanceCachableObjectCount = sizeof(ObjCacheService::AppearanceCachableObjects) / sizeof(const char *)
 
static const char *const CharCreateNewExtraCachableObjects []
 
static const uint32 CharCreateNewExtraCachableObjectCount = sizeof(ObjCacheService::CharCreateNewExtraCachableObjects) / sizeof(const char *)
 
- Static Protected Attributes inherited from PyService
static const char *const s_checkTimeStrings [_checkCount]
 

Detailed Description

Definition at line 51 of file ObjCacheService.h.

Member Typedef Documentation

typedef std::map<std::string, std::string> ObjCacheService::CacheKeysMap
protected

Definition at line 110 of file ObjCacheService.h.

typedef CacheKeysMap::const_iterator ObjCacheService::CacheKeysMapConstItr
protected

Definition at line 112 of file ObjCacheService.h.

typedef CacheKeysMap::iterator ObjCacheService::CacheKeysMapItr
protected

Definition at line 111 of file ObjCacheService.h.

Member Enumeration Documentation

Constructor & Destructor Documentation

ObjCacheService::ObjCacheService ( PyServiceMgr mgr,
const char *  cacheDir 
)
ObjCacheService::~ObjCacheService ( )
virtual

Definition at line 252 of file ObjCacheService.cpp.

References m_dispatch.

252  {
253  delete m_dispatch;
254 }
Dispatcher *const m_dispatch

Member Function Documentation

bool ObjCacheService::_LoadCachableObject ( const PyRep objectID)
protected

Definition at line 316 of file ObjCacheService.cpp.

References _log, ObjCacheDB::GetCachableObject(), CachedObjectMgr::HaveCached(), CachedObjectMgr::LoadCachedFile(), CachedObjectMgr::LoadCachedFromFile(), m_cache, m_cacheDir, m_db, CachedObjectMgr::OIDToString(), CachedObjectMgr::SaveCachedToFile(), sLog, CachedObjectMgr::UpdateCache(), and CachedObjectMgr::UpdateCacheFromSS().

Referenced by GetCacheHint(), and PrimeCache().

316  {
317  if(m_cache.HaveCached(objectID))
318  return true;
319 
320  const std::string objectID_string = CachedObjectMgr::OIDToString(objectID);
321 
322  if(!m_cacheDir.empty())
323  {
324  if( m_cache.LoadCachedFromFile( m_cacheDir, objectID ) )
325  {
326  _log( CACHE__INFO, "Loaded cached object '%s' from file.", objectID_string.c_str() );
327  return true;
328  }
329  }
330 
331  //first try to generate it from the database...
332  //we go to the DB with a string, not a rep
333  PyRep *cache = m_db.GetCachableObject(objectID_string);
334  if(cache != nullptr) {
335  //we have generated the cache file in question, remember it
336  m_cache.UpdateCache(objectID, &cache);
337  } else {
338  //failed to query from the database... fall back to old
339  //hackish file loading.
340  PySubStream* ss = m_cache.LoadCachedFile( objectID_string.c_str() );
341  if( ss == nullptr )
342  {
343  _log(CACHE__ERROR, "Failed to create or load cache file for '%s'", objectID_string.c_str());
344  return false;
345  }
346 
347  //we have generated the cache file in question, remember it
348  m_cache.UpdateCacheFromSS(objectID_string, &ss);
349  }
350 
351  //if we have a cache dir, write out the cache entry:
352  if(!m_cacheDir.empty())
353  {
354  if(!m_cache.SaveCachedToFile(m_cacheDir, objectID)) {
355  sLog.Error( "ObjCacheService", "Failed to save cache file for '%s' in '%s'", objectID_string.c_str(), m_cacheDir.c_str() );
356  } else {
357  sLog.White( "ObjCacheService", "Saved cached object '%s' to file in '%s'.", objectID_string.c_str(), m_cacheDir.c_str() );
358  }
359  }
360 
361  return true;
362 }
Base Python wire object.
Definition: PyRep.h:66
std::string m_cacheDir
bool HaveCached(const std::string &objectID) const
#define _log(type, fmt,...)
Definition: logsys.h:124
void UpdateCache(const std::string &objectID, PyRep **in_cached_data)
#define sLog
Evaluates to a NewLog instance.
Definition: LogNew.h:250
PySubStream * LoadCachedFile(const char *obj_name)
bool SaveCachedToFile(const std::string &cacheDir, const std::string &objectID) const
void UpdateCacheFromSS(const std::string &objectID, PySubStream **in_cached_data)
CachedObjectMgr m_cache
static std::string OIDToString(const PyRep *objectID)
bool LoadCachedFromFile(const std::string &cacheDir, const std::string &objectID)
PyRep * GetCachableObject(const std::string &type)
Definition: ObjCacheDB.cpp:132

Here is the call graph for this function:

Here is the caller graph for this function:

PyRep * ObjCacheService::GetCacheHint ( const PyRep objectID)

Definition at line 364 of file ObjCacheService.cpp.

References _LoadCachableObject(), _log, m_cache, CachedObjectMgr::MakeCacheHint(), and CachedObjectMgr::OIDToString().

Referenced by InsertCacheHints().

364  {
365  if (!_LoadCachableObject(objectID))
366  return nullptr; //print done already
367 
368  PyObject *cache_hint = m_cache.MakeCacheHint(objectID);
369  if (cache_hint == nullptr) {
370  _log(CACHE__ERROR, "Unable to build cache hint for object ID '%s' (h), skipping.", CachedObjectMgr::OIDToString(objectID).c_str());
371  return nullptr;
372  }
373 
374  return cache_hint;
375 }
#define _log(type, fmt,...)
Definition: logsys.h:124
bool _LoadCachableObject(const PyRep *objectID)
PyObject * MakeCacheHint(const PyRep *objectID)
Python object.
Definition: PyRep.h:826
CachedObjectMgr m_cache
static std::string OIDToString(const PyRep *objectID)

Here is the call graph for this function:

Here is the caller graph for this function:

void ObjCacheService::GiveCache ( const PyRep objectID,
PyRep **  contents 
)

Definition at line 430 of file ObjCacheService.cpp.

References m_cache, and CachedObjectMgr::UpdateCache().

Referenced by MarketMgr::GetNewPriceHistory(), MarketMgr::GetOldPriceHistory(), and PyServiceMgr::Initalize().

430  {
431  //contents is consumed.
432  m_cache.UpdateCache(objectID, contents);
433 }
void UpdateCache(const std::string &objectID, PyRep **in_cached_data)
CachedObjectMgr m_cache

Here is the call graph for this function:

Here is the caller graph for this function:

void ObjCacheService::GiveCache ( const ObjectCachedMethodID m,
PyRep **  contents 
)
inline

Definition at line 80 of file ObjCacheService.h.

References GiveCache(), and ObjectCachedMethodID::objectID.

Referenced by GiveCache().

80 { GiveCache(m.objectID, contents); }
void GiveCache(const PyRep *objectID, PyRep **contents)

Here is the call graph for this function:

Here is the caller graph for this function:

void ObjCacheService::GiveCache ( const ObjectCachedSessionMethodID m,
PyRep **  contents 
)
inline

Definition at line 81 of file ObjCacheService.h.

References GiveCache(), and ObjectCachedSessionMethodID::objectID.

Referenced by GiveCache().

81 { GiveCache(m.objectID, contents); }
void GiveCache(const PyRep *objectID, PyRep **contents)

Here is the call graph for this function:

Here is the caller graph for this function:

void ObjCacheService::InsertCacheHints ( hintSet  hset,
PyDict into 
)

Definition at line 377 of file ObjCacheService.cpp.

References _log, AppearanceCachableObjectCount, AppearanceCachableObjects, CharCreateCachableObjectCount, CharCreateCachableObjects, CharCreateNewExtraCachableObjectCount, CharCreateNewExtraCachableObjects, GetCacheHint(), hAppearanceCachables, hCharCreateCachables, hCharCreateNewExtraCachables, hLoginCachables, LoginCachableObjectCount, LoginCachableObjects, m_cacheKeys, objects(), PyDecRef, and PyDict::SetItemString().

377  {
378  const char *const *objects = nullptr;
379  uint32 object_count = 0;
380  switch(hset) {
381  case hLoginCachables:
382  objects = LoginCachableObjects;
383  object_count = LoginCachableObjectCount;
384  break;
386  objects = CharCreateCachableObjects;
387  object_count = CharCreateCachableObjectCount;
388  break;
390  objects = AppearanceCachableObjects;
391  object_count = AppearanceCachableObjectCount;
392  break;
396  break;
397  }
398  if(objects == nullptr)
399  return;
400  uint32 r;
401  std::map<std::string, std::string>::const_iterator res;
402  for(r = 0; r < object_count; r++) {
403  //find the dict key to use for this object
404  res = m_cacheKeys.find(objects[r]);
405  if(res == m_cacheKeys.end()) {
406  _log(CACHE__ERROR, "Unable to find cache key for object ID '%s', skipping.", objects[r]);
407  continue;
408  }
409 
410  //get the hint
411  PyString* str = new PyString( objects[r] );
412  PyRep *cache_hint = GetCacheHint( str );
413  PyDecRef( str );
414 
415  if(cache_hint == nullptr)
416  continue; //print already done.
417 
418  into->SetItemString(res->second.c_str(), cache_hint);
419  }
420 }
Base Python wire object.
Definition: PyRep.h:66
#define _log(type, fmt,...)
Definition: logsys.h:124
Python string.
Definition: PyRep.h:430
static const uint32 CharCreateNewExtraCachableObjectCount
PyRep * GetCacheHint(const PyRep *objectID)
static const char *const AppearanceCachableObjects[]
entityID heal the character with the entityID note giving you detailed ship status information gives a list of all dynamic entities and players and their destinyState in this bubble shows some current destiny variables save all kick all and halt server immediate command list all items in current location s gives list of cargo contents and volumes in all holds list current session values show current ship DNA show current objects in their destiny and movement speed show current attributes for itemID given in args note giving you detailed fleet boost information gets positional data between ship and enable disable bubble outline tracking shows all dynamic items in system on ship scanner begin warp to given bubbleID in current ship list of current bound objects(with clients)." ) COMMAND( dropLoot
static const uint32 AppearanceCachableObjectCount
static const uint32 CharCreateCachableObjectCount
static const uint32 LoginCachableObjectCount
#define PyDecRef(op)
Definition: PyRep.h:57
static const char *const LoginCachableObjects[]
unsigned __int32 uint32
Definition: eve-compat.h:50
static const char *const CharCreateCachableObjects[]
static const char *const CharCreateNewExtraCachableObjects[]
CacheKeysMap m_cacheKeys
void SetItemString(const char *key, PyRep *value)
SetItemString adds or sets a database entry.
Definition: PyRep.h:812

Here is the call graph for this function:

void ObjCacheService::InvalidateCache ( const PyRep objectID)

Definition at line 426 of file ObjCacheService.cpp.

References CachedObjectMgr::InvalidateCache(), and m_cache.

Referenced by MarketMgr::InvalidateOrdersCache().

426  {
427  m_cache.InvalidateCache(objectID);
428 }
CachedObjectMgr m_cache
void InvalidateCache(const PyRep *objectID)

Here is the call graph for this function:

Here is the caller graph for this function:

void ObjCacheService::InvalidateCache ( const ObjectCachedMethodID m)
inline

Definition at line 77 of file ObjCacheService.h.

References InvalidateCache(), and ObjectCachedMethodID::objectID.

Referenced by InvalidateCache().

void InvalidateCache(const PyRep *objectID)

Here is the call graph for this function:

Here is the caller graph for this function:

bool ObjCacheService::IsCacheLoaded ( const PyRep objectID) const

Definition at line 422 of file ObjCacheService.cpp.

References CachedObjectMgr::HaveCached(), and m_cache.

Referenced by MarketMgr::GetNewPriceHistory(), MarketMgr::GetOldPriceHistory(), PyServiceMgr::Initalize(), MakeObjectCachedMethodCallResult(), and MakeObjectCachedSessionMethodCallResult().

422  {
423  return(m_cache.HaveCached(objectID));
424 }
bool HaveCached(const std::string &objectID) const
CachedObjectMgr m_cache

Here is the call graph for this function:

Here is the caller graph for this function:

bool ObjCacheService::IsCacheLoaded ( const ObjectCachedMethodID m) const
inline

Definition at line 73 of file ObjCacheService.h.

References IsCacheLoaded(), and ObjectCachedMethodID::objectID.

Referenced by IsCacheLoaded().

73 { return(IsCacheLoaded(m.objectID)); }
bool IsCacheLoaded(const PyRep *objectID) const

Here is the call graph for this function:

Here is the caller graph for this function:

bool ObjCacheService::IsCacheLoaded ( const ObjectCachedSessionMethodID m) const
inline

Definition at line 74 of file ObjCacheService.h.

References IsCacheLoaded(), and ObjectCachedSessionMethodID::objectID.

Referenced by IsCacheLoaded().

74 { return(IsCacheLoaded(m.objectID)); }
bool IsCacheLoaded(const PyRep *objectID) const

Here is the call graph for this function:

Here is the caller graph for this function:

PySubStream * ObjCacheService::LoadCachedFile ( const char *  filename,
const char *  oname 
)

Definition at line 309 of file ObjCacheService.cpp.

References CachedObjectMgr::LoadCachedFile(), and m_cache.

310 {
311  //temp hack...
312  return m_cache.LoadCachedFile( filename, oname );
313 }
PySubStream * LoadCachedFile(const char *obj_name)
CachedObjectMgr m_cache

Here is the call graph for this function:

PyObject * ObjCacheService::MakeObjectCachedMethodCallResult ( const PyRep objectID,
const char *  versionCheck = "run" 
)

Definition at line 446 of file ObjCacheService.cpp.

References IsCacheLoaded(), m_cache, and CachedObjectMgr::MakeCacheHint().

Referenced by MarketMgr::GetNewPriceHistory(), and MarketMgr::GetOldPriceHistory().

446  {
447  if(!IsCacheLoaded(objectID))
448  return nullptr;
449 
450  objectCaching_CachedMethodCallResult_object c;
451  c.versionCheck = versionCheck;
452  c.object = m_cache.MakeCacheHint(objectID);
453  return c.Encode();
454 }
PyObject * MakeCacheHint(const PyRep *objectID)
CachedObjectMgr m_cache
bool IsCacheLoaded(const PyRep *objectID) const

Here is the call graph for this function:

Here is the caller graph for this function:

PyObject* ObjCacheService::MakeObjectCachedMethodCallResult ( const ObjectCachedMethodID m,
const char *  versionCheck = "run" 
)
inline

Definition at line 84 of file ObjCacheService.h.

References MakeObjectCachedMethodCallResult(), and ObjectCachedMethodID::objectID.

Referenced by MakeObjectCachedMethodCallResult().

84 { return(MakeObjectCachedMethodCallResult(m.objectID, versionCheck)); }
PyObject * MakeObjectCachedMethodCallResult(const PyRep *objectID, const char *versionCheck="run")

Here is the call graph for this function:

Here is the caller graph for this function:

PyObject * ObjCacheService::MakeObjectCachedSessionMethodCallResult ( const PyRep objectID,
const char *  sessionInfoName,
const char *  clientWhen = "always" 
)

Definition at line 435 of file ObjCacheService.cpp.

References IsCacheLoaded(), m_cache, and CachedObjectMgr::MakeCacheHint().

435  {
436  if(!IsCacheLoaded(objectID))
437  return nullptr;
438 
439  objectCaching_SessionCachedMethodCallResult_object c;
440  c.clientWhen = clientWhen;
441  c.sessionInfoName = sessionInfoName;
442  c.object = m_cache.MakeCacheHint(objectID);
443  return c.Encode();
444 }
PyObject * MakeCacheHint(const PyRep *objectID)
CachedObjectMgr m_cache
bool IsCacheLoaded(const PyRep *objectID) const

Here is the call graph for this function:

PyObject* ObjCacheService::MakeObjectCachedSessionMethodCallResult ( const ObjectCachedSessionMethodID m,
const char *  sessionInfoName,
const char *  clientWhen = "always" 
)
inline

Definition at line 87 of file ObjCacheService.h.

References MakeObjectCachedSessionMethodCallResult(), and ObjectCachedSessionMethodID::objectID.

Referenced by MakeObjectCachedSessionMethodCallResult().

87 { return(MakeObjectCachedSessionMethodCallResult(m.objectID, sessionInfoName, clientWhen)); }
PyObject * MakeObjectCachedSessionMethodCallResult(const PyRep *objectID, const char *sessionInfoName, const char *clientWhen="always")

Here is the call graph for this function:

Here is the caller graph for this function:

void ObjCacheService::PrimeCache ( )

Definition at line 298 of file ObjCacheService.cpp.

References _LoadCachableObject(), m_cacheKeys, and PyDecRef.

299 {
300  CacheKeysMapConstItr cur = m_cacheKeys.begin();
301  for(; cur != m_cacheKeys.end(); cur++)
302  {
303  PyString* str = new PyString( cur->first );
304  _LoadCachableObject( str );
305  PyDecRef( str );
306  }
307 }
Python string.
Definition: PyRep.h:430
bool _LoadCachableObject(const PyRep *objectID)
#define PyDecRef(op)
Definition: PyRep.h:57
CacheKeysMap::const_iterator CacheKeysMapConstItr
CacheKeysMap m_cacheKeys

Here is the call graph for this function:

Member Data Documentation

const uint32 ObjCacheService::AppearanceCachableObjectCount = sizeof(ObjCacheService::AppearanceCachableObjects) / sizeof(const char *)
staticprotected

Definition at line 96 of file ObjCacheService.h.

Referenced by InsertCacheHints().

const char *const ObjCacheService::AppearanceCachableObjects
staticprotected
Initial value:
= {
"charCreationInfo.eyebrows",
"charCreationInfo.eyes",
"charCreationInfo.decos",
"charCreationInfo.hairs",
"charCreationInfo.backgrounds",
"charCreationInfo.accessories",
"charCreationInfo.costumes",
"charCreationInfo.lights",
"charCreationInfo.makeups",
"charCreationInfo.beards",
"charCreationInfo.skins",
"charCreationInfo.lipsticks"
}

Definition at line 95 of file ObjCacheService.h.

Referenced by InsertCacheHints().

const uint32 ObjCacheService::CharCreateCachableObjectCount = sizeof(ObjCacheService::CharCreateCachableObjects) / sizeof(const char *)
staticprotected

Definition at line 94 of file ObjCacheService.h.

Referenced by InsertCacheHints().

const char *const ObjCacheService::CharCreateCachableObjects
staticprotected
Initial value:
= {
"charCreationInfo.bl_eyebrows",
"charCreationInfo.bl_eyes",
"charCreationInfo.bl_decos",
"charCreationInfo.bloodlines",
"charCreationInfo.bl_hairs",
"charCreationInfo.bl_backgrounds",
"charCreationInfo.bl_accessories",
"charCreationInfo.bl_costumes",
"charCreationInfo.bl_lights",
"charCreationInfo.races",
"charCreationInfo.ancestries",
"charCreationInfo.schools",
"charCreationInfo.attributes",
"charCreationInfo.bl_beards",
"charCreationInfo.bl_skins",
"charCreationInfo.bl_lipsticks",
"charCreationInfo.bl_makeups"
}

Definition at line 93 of file ObjCacheService.h.

Referenced by InsertCacheHints().

const uint32 ObjCacheService::CharCreateNewExtraCachableObjectCount = sizeof(ObjCacheService::CharCreateNewExtraCachableObjects) / sizeof(const char *)
staticprotected

Definition at line 98 of file ObjCacheService.h.

Referenced by InsertCacheHints().

const char *const ObjCacheService::CharCreateNewExtraCachableObjects
staticprotected
Initial value:
= {
"charNewExtraCreationInfo.raceskills",
"charNewExtraCreationInfo.careerskills",
"charNewExtraCreationInfo.careers",
"charNewExtraCreationInfo.specialityskills",
"charNewExtraCreationInfo.specialities"
}

Definition at line 97 of file ObjCacheService.h.

Referenced by InsertCacheHints().

const uint32 ObjCacheService::LoginCachableObjectCount = sizeof(ObjCacheService::LoginCachableObjects) / sizeof(const char *)
staticprotected

Definition at line 92 of file ObjCacheService.h.

Referenced by InsertCacheHints().

const char *const ObjCacheService::LoginCachableObjects
staticprotected
Todo:
this needs to be fixed. is currently unused, but intended to be a BulkData data service. the "config*" and "char*" files are intended to be sent in BulkData the rest of this file isnt fully understood (by me) or implemented.

Definition at line 91 of file ObjCacheService.h.

Referenced by InsertCacheHints().

std::string ObjCacheService::m_cacheDir
protected

Definition at line 105 of file ObjCacheService.h.

Referenced by _LoadCachableObject().

CacheKeysMap ObjCacheService::m_cacheKeys
protected

Definition at line 114 of file ObjCacheService.h.

Referenced by InsertCacheHints(), and PrimeCache().

ObjCacheDB ObjCacheService::m_db
protected

Definition at line 103 of file ObjCacheService.h.

Referenced by _LoadCachableObject().

Dispatcher* const ObjCacheService::m_dispatch
protected

Definition at line 100 of file ObjCacheService.h.

Referenced by ~ObjCacheService().


The documentation for this class was generated from the following files: