2 #ifndef JAWS_FILECACHE_H
3 #define JAWS_FILECACHE_H
5 #include "ace/FILE_IO.h"
7 #include "JAWS/Cache_Manager.h"
9 #include "JAWS/Export.h"
11 class JAWS_Export JAWS_Referenced_Filecache_Factory
12 : public JAWS_Referenced_Cache_Object_Factory
16 virtual void destroy (JAWS_Cache_Object
*);
20 class JAWS_Export JAWS_Counted_Filecache_Factory
21 : public JAWS_Counted_Cache_Object_Factory
25 virtual void destroy (JAWS_Cache_Object
*);
29 typedef JAWS_Cache_Manager
<JAWS_Strdup_String
,
30 JAWS_Referenced_Filecache_Factory
,
31 JAWS_String_Hash_Functor
,
32 JAWS_String_Equal_Functor
>
33 JAWS_Referenced_Filecache_Manager
;
35 typedef JAWS_Cache_Manager
<JAWS_Strdup_String
,
36 JAWS_Counted_Filecache_Factory
,
37 JAWS_String_Hash_Functor
,
38 JAWS_String_Equal_Functor
>
39 JAWS_Counted_Filecache_Manager
;
41 typedef JAWS_Counted_Filecache_Manager JAWS_Filecache_Manager
;
43 typedef JAWS_Cache_Proxy
<const char *,
44 JAWS_FILE
, JAWS_Filecache_Manager
>
47 class JAWS_Export JAWS_Cached_FILE
: private JAWS_Filecache_Proxy
51 JAWS_Cached_FILE (const char *const &filename
,
52 JAWS_Filecache_Proxy::Cache_Manager
*cm
= 0);
53 JAWS_Cached_FILE (const char *const &filename
,
56 JAWS_Filecache_Proxy::Cache_Manager
*cm
= 0);
58 ~JAWS_Cached_FILE (void);
60 ACE_FILE_IO
* file (void);
61 ACE_Mem_Map
* mmap (void);
70 #endif /* JAWS_FILECACHE_H */