greenplumn CFileDescriptor 源码

  • 2022-08-18
  • 浏览 (389)

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

相关信息

greenplumn 源码目录

相关文章

greenplumn CFileReader 源码

greenplumn CFileWriter 源码

greenplumn COstream 源码

greenplumn COstreamBasic 源码

greenplumn COstreamStdString 源码

greenplumn COstreamString 源码

greenplumn IOstream 源码

greenplumn iotypes 源码

greenplumn ioutils 源码

0  赞