1 #ifndef DOZERG_POSIX_SHM_FILE_H_20130305 2 #define DOZERG_POSIX_SHM_FILE_H_20130305 14 static const int kFdType = 5;
17 static bool Unlink(
const std::string & shmname){
20 return (0 == ::shm_unlink(shmname.c_str()));
29 int flags = __MyBase::kFlagsDefault,
30 mode_t mode = __MyBase::kModeDefault){
31 this->open(shmname, flags, mode);
34 int flags = __MyBase::kFlagsDefault,
35 mode_t mode = __MyBase::kModeDefault){
36 this->open(shmname, flags, mode);
40 __MyBase::copyFrom(other);
47 std::string shmname()
const{
return shmname_;}
56 bool open(
const char * shmname,
int flags = kFlagsDefault, mode_t mode = kModeDefault){
61 fd_ = ::shm_open(shmname, flags, mode);
65 bool open(
const std::string & shmname,
int flags = kFlagsDefault, mode_t mode = kModeDefault){
66 return this->open(shmname.c_str(), flags, mode);
72 return Unlink(shmname());
78 <<
", shmname_="<<shmname_
std::string toString() const
Get readable description of this object.
Definition: file.hh:400
bool valid() const
Test if this object is a valid file descriptor.
Definition: file.hh:65
const char * fdTypeName() const
Get readable description of this object.
Definition: posix_shm_file.hh:45
Abstract interface of fd (file descriptor).
Definition: file.hh:43
Definition: to_string.hh:43
Definition: posix_shm_file.hh:10
Encapsulation for fd (file descriptor) and regular files.
std::string toString() const
Get readable description of this object.
Definition: posix_shm_file.hh:75
Regular file operations.
Definition: file.hh:181
bool unlink()
Remove file.
Definition: posix_shm_file.hh:69
void close()
Close this fd.
Definition: file.hh:153
int fdType() const
Get type id of this object.
Definition: posix_shm_file.hh:44