Merge pull request #1844 from jrw972/monterey
[ACE_TAO.git] / ACE / apps / JAWS2 / JAWS / FILE.h
blob3ab96227ad73e5296ac151c3206bd74e7aebd509
1 /* -*- c++ -*- */
3 #ifndef JAWS_FILE_H
4 #define JAWS_FILE_H
6 #include "ace/FILE_IO.h"
7 #include "ace/Mem_Map.h"
9 #include "JAWS/Export.h"
10 #include "ace/Synch_Traits.h"
11 #include "ace/Thread_Mutex.h"
13 class JAWS_Export JAWS_FILE : public ACE_FILE_IO
15 // Like ACE_FILE_IO, but support for ACE_Mem_Map;
17 public:
19 JAWS_FILE (void);
21 ~JAWS_FILE (void);
23 ACE_Mem_Map *mem_map (int length = -1,
24 int prot = PROT_RDWR,
25 int share = ACE_MAP_PRIVATE,
26 void *addr = 0,
27 ACE_OFF_T offset = 0,
28 LPSECURITY_ATTRIBUTES sa = 0);
29 ACE_Mem_Map *mem_map (int length = -1,
30 int prot = PROT_RDWR,
31 int share = ACE_MAP_PRIVATE,
32 void *addr = 0,
33 ACE_OFF_T offset = 0,
34 LPSECURITY_ATTRIBUTES sa = 0) const;
36 ACE_Mem_Map *map (void) const;
38 private:
40 ACE_SYNCH_MUTEX lock_;
41 ACE_Mem_Map *map_;
45 #endif /* JAWS_FILE_H */