windows-nt/Source/XPSP1/NT/net/ias/iasjet/setup/globaltransaction.h
2020-09-26 16:20:57 +08:00

86 lines
2.2 KiB
C++

/////////////////////////////////////////////////////////////////////////////
//
// Copyright(C) 2000 Microsoft Corporation all rights reserved.
//
// Module: GlobalTransaction.h
//
// Project: Windows 2000 IAS
//
// Description: CGlobalTransaction
//
// Author: tperraut
//
// Revision 02/24/2000 created
//
/////////////////////////////////////////////////////////////////////////////
#ifndef _GLOBALTRANSACTION_H_3F0038C3_D139_4C04_BAF9_86F1E14A256C
#define _GLOBALTRANSACTION_H_3F0038C3_D139_4C04_BAF9_86F1E14A256C
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "nocopy.h"
class CGlobalTransaction : private NonCopyable
{
protected:
CGlobalTransaction()
:m_StdInitialized(FALSE),
m_RefInitialized(FALSE),
m_DnaryInitialized(FALSE),
m_NT4Initialized(FALSE)
{
};
~CGlobalTransaction();
public:
static CGlobalTransaction& Instance();
void OpenStdDataSource(LPCWSTR DataSourceName);
void OpenRefDataSource(LPCWSTR DataSourceName);
void OpenDnaryDataSource(LPCWSTR DataSourceName);
void OpenNT4DataSource(LPCWSTR DataSourceName);
void Commit();
void Abort() throw();
void MyCloseDataSources();
CSession& GetStdSession() throw()
{
return m_StdSession; // private member returned
}
CSession& GetRefSession() throw()
{
return m_RefSession; // private member returned
}
CSession& GetNT4Session() throw()
{
return m_NT4Session; // private member returned
}
CSession& GetDnarySession() throw()
{
return m_DnarySession; // private member returned
}
private:
BOOL m_StdInitialized;
BOOL m_RefInitialized;
BOOL m_DnaryInitialized;
BOOL m_NT4Initialized;
CSession m_StdSession;
CSession m_RefSession;
CSession m_DnarySession;
CSession m_NT4Session;
CDataSource m_StdDataSource;
CDataSource m_RefDataSource;
CDataSource m_DnaryDataSource;
CDataSource m_NT4DataSource;
static CGlobalTransaction _instance;
};
#endif // _GLOBALTRANSACTION_H_3F0038C3_D139_4C04_BAF9_86F1E14A256C