greenplumn CFileDescriptor 源码
greenplumn CFileDescriptor 代码
文件路径:/src/backend/gporca/libgpos/include/gpos/io/CFileDescriptor.h
//---------------------------------------------------------------------------
// Greenplum Database
// Copyright (C) 2010 Greenplum, Inc.
//
// @filename:
// CFileDescriptor.h
//
// @doc:
// File descriptor abstraction
//---------------------------------------------------------------------------
#ifndef GPOS_CFileDescriptor_H
#define GPOS_CFileDescriptor_H
#include "gpos/types.h"
#define GPOS_FILE_NAME_BUF_SIZE (1024)
#define GPOS_FILE_DESCR_INVALID (-1)
namespace gpos
{
//---------------------------------------------------------------------------
// @class:
// CFileDescriptor
//
// @doc:
// File handler abstraction;
//
//---------------------------------------------------------------------------
class CFileDescriptor
{
private:
// file descriptor
INT m_file_descriptor{GPOS_FILE_DESCR_INVALID};
protected:
// ctor -- accessible through inheritance only
CFileDescriptor();
// dtor -- accessible through inheritance only
virtual ~CFileDescriptor();
// get file descriptor
INT
GetFileDescriptor() const
{
return m_file_descriptor;
}
// open file
void OpenFile(const CHAR *file_path, ULONG mode, ULONG permission_bits);
// close file
void CloseFile();
public:
CFileDescriptor(const CFileDescriptor &) = delete;
// check if file is open
BOOL
IsFileOpen() const
{
return (GPOS_FILE_DESCR_INVALID != m_file_descriptor);
}
}; // class CFile
} // namespace gpos
#endif // !GPOS_CFile_H
// EOF
相关信息
相关文章
0
赞
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
7、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦