#include <ace/Filecache.h>
class ACE_Filecache_Object {
public:friend class ACE_Filecache;ACE_Filecache_Object ( const char *filename, ACE_SYNCH_RW_MUTEX &lock, LPSECURITY_ATTRIBUTES sa = 0, int mapit = 1 );ACE_Filecache_Object ( const char *filename, int size, ACE_SYNCH_RW_MUTEX &lock, LPSECURITY_ATTRIBUTES sa = 0 );~ACE_Filecache_Object (void);int acquire (void);int release (void);int error (void) const;int error ( int error_value, const char *s = "ACE_Filecache_Object" );const char *filename (void) const;ACE_HANDLE handle (void) const;void *address (void) const;size_t size (void) const;int update (void) const;enum Creation_States{ ACE_READING = 1, ACE_WRITING = 2 };enum Error_Conditions{ ACE_SUCCESS = 0, ACE_ACCESS_FAILED, ACE_OPEN_FAILED, ACE_COPY_FAILED, ACE_STAT_FAILED, ACE_MEMMAP_FAILED, ACE_WRITE_FAILED };protected:ACE_Filecache_Object (void);void init (void);private:int error_i ( int error_value, const char *s = "ACE_Filecache_Object" );char *tempname_;char filename_[MAXPATHLEN + 1];ACE_Mem_Map mmap_;ACE_HANDLE handle_;size_t size_;int action_;int error_;int stale_;LPSECURITY_ATTRIBUTES sa_;ACE_SYNCH_RW_MUTEX junklock_;ACE_SYNCH_RW_MUTEX &lock_;};
int error (void) const;
int error (int error_value, const char *s = "ACE_Filecache_Object");
const char *filename (void) const;
ACE_HANDLE handle (void) const;
void *address (void) const;
size_t size (void) const;
int update (void) const;