greenplumn CMiniDumper 源码

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

greenplumn CMiniDumper 代码

文件路径:/src/backend/gporca/libgpos/include/gpos/error/CMiniDumper.h

//---------------------------------------------------------------------------
//	Greenplum Database
//	Copyright (C) 2011 EMC Corp.
//
//	@filename:
//		CMiniDumper.h
//
//	@doc:
//		Interface for minidump handler;
//---------------------------------------------------------------------------
#ifndef GPOS_CMiniDumper_H
#define GPOS_CMiniDumper_H

#include "gpos/base.h"
#include "gpos/common/CStackObject.h"
#include "gpos/io/COstream.h"

namespace gpos
{
//---------------------------------------------------------------------------
//	@class:
//		CMiniDumper
//
//	@doc:
//		Interface for minidump handler;
//
//---------------------------------------------------------------------------
class CMiniDumper : CStackObject
{
private:
	// flag indicating if handler is initialized
	BOOL m_initialized{false};

	// flag indicating if handler is finalized
	BOOL m_finalized{false};

protected:
	// stream to serialize objects to
	COstream *m_oos{nullptr};

public:
	CMiniDumper(const CMiniDumper &) = delete;

	// ctor
	CMiniDumper();

	// dtor
	virtual ~CMiniDumper();

	// initialize
	void Init(COstream *oos);

	// finalize
	void Finalize();

	// get stream to serialize to
	COstream &GetOStream();

	// serialize minidump header
	virtual void SerializeHeader() = 0;

	// serialize minidump footer
	virtual void SerializeFooter() = 0;

	// serialize entry header
	virtual void SerializeEntryHeader() = 0;

	// serialize entry footer
	virtual void SerializeEntryFooter() = 0;

};	// class CMiniDumper
}  // namespace gpos

#endif	// !GPOS_CMiniDumper_H

// EOF

相关信息

greenplumn 源码目录

相关文章

greenplumn CAutoExceptionStack 源码

greenplumn CAutoTrace 源码

greenplumn CErrorContext 源码

greenplumn CErrorHandler 源码

greenplumn CErrorHandlerStandard 源码

greenplumn CException 源码

greenplumn CLogger 源码

greenplumn CLoggerStream 源码

greenplumn CLoggerSyslog 源码

greenplumn CMessage 源码

0  赞