---
name: "ACE_Filecache_Object"
section: "3"
platform: "linux"
package: "libace-doc"
version: "5.0.7-4"
release: "Debian 2.2 (Potato)"
platforms: ["linux"]
url: "https://new.carta.tech/ACE_Filecache_Object"
---

# ACE\_Filecache\_Object(3)

Abstraction over a real file. This is what the Virtual Filesystem contains. This class is not intended for general consumption. Please consult a physician before attempting to use this class.

## NAME

ACE\_Filecache\_Object -  Abstraction over a real file.  This is what the Virtual Filesystem contains.  This class is not intended for general consumption.  Please consult a physician before attempting to use this class.

## SYNOPSIS

```
#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_;
};
```

## error\_ accessors

```
int error (void) const;
```

```
int error (int error_value, const char *s = "ACE_Filecache_Object");
```

```
const char *filename (void) const;
```

filename\_ accessor

```
ACE_HANDLE handle (void) const;
```

handle\_ accessor.

```
void *address (void) const;
```

Base memory address for memory mapped file.

```
size_t size (void) const;
```

size\_ accessor.

```
int update (void) const;
```

True if file on disk is newer than cached file.

## AUTHOR

James Hu

## LIBRARY

ace
