wvatomicfile.h

00001 /* -*- Mode: C++ -*-
00002  * Worldvisions Weaver Software:
00003  *   Copyright (C) 1997-2005 Net Integration Technologies, Inc.
00004  *
00005  * A simple class to access filesystem files using WvStreams.
00006  */
00007 #ifndef __WVATOMFILE_H
00008 #define __WVATOMFILE_H
00009 
00010 #include "wvfile.h"
00011 
00021 class WvAtomicFile : public WvFile
00022 {
00023 private:
00024     WvString atomic_file;   
00025     WvString tmp_file;
00026 
00027 public:
00028     WvAtomicFile(WvStringParm filename, int flags = O_TRUNC | O_CREAT, 
00029                     mode_t create_mode = 0666);
00030     ~WvAtomicFile();
00031 
00032     bool open(WvStringParm filename, int flags = O_TRUNC | O_CREAT, 
00033                 mode_t create_mode = 0666);
00034     void close();
00035     
00036     // Like chmod(2), does *not* respect umask
00037     bool chmod(mode_t mode);
00038     
00039     bool chown(uid_t owner, gid_t group);
00040 };
00041 
00042 #endif // __WVATOMFILE_H

Generated on Thu May 25 21:51:02 2006 for WvStreams by  doxygen 1.4.6