randmng.h

来自「实现证书的生成和验证」· C头文件 代码 · 共 47 行

H
47
字号
#ifndef __RAND_MNG_INCLUDE
#define __RAND_MNG_INCLUDE

class CRandMng
{
public:
	CRandMng ();
public:
	static CRandMng * Interface ()
	{
		if ( ! m_bRand_Locked )
		{
			CWLockGuard guard ( & m_Rand_Lock );
			if ( ! m_bRand_Locked )
			{
				m_pMng = new CRandMng ( );
				m_bRand_Locked = true;
			}
		}
		return m_pMng;
	}
	static void Free_Interface ()
	{
		if ( m_bRand_Locked )
		{
			CWLockGuard guard ( & m_Rand_Lock );
			if ( m_bRand_Locked )
			{
				delete m_pMng;
				m_pMng = 0;
				m_bRand_Locked = false;
			}
		}
	}
	int Rand_Load_File ( std::string szRandFile );
	int Rand_Write_File ( std::string szRandFile );
private:
	void Allow_Write_File ();
private:
	int m_nSeeded;
private:
	static CRandMng * m_pMng;
	static CRWLock m_Rand_Lock;
	static volatile bool m_bRand_Locked;
};

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?