#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{ READING = 1, WRITING = 2 };enum Error_Conditions{ SUCCESS = 0, ACCESS_FAILED, OPEN_FAILED, COPY_FAILED, STAT_FAILED, MEMMAP_FAILED, 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;