[GME-commit] GMESRC/GME/Gme GMEOLEIt.cpp, 1.9, 1.10 GMEOLEIt.h, 1.6, 1.7

Log messages of CVS commits gme-commit at list.isis.vanderbilt.edu
Tue Apr 15 14:29:11 CDT 2008


Update of /project/gme-repository/GMESRC/GME/Gme
In directory escher:/tmp/cvs-serv30153

Modified Files:
	GMEOLEIt.cpp GMEOLEIt.h 
Log Message:
AbortTransaction for IGMEOLEIt, for safe closing of transactions.


CVS User: Zoltan Molnar, ISIS (zolmol)

Index: GMEOLEIt.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Gme/GMEOLEIt.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** GMEOLEIt.h	7 Mar 2007 23:25:56 -0000	1.6
--- GMEOLEIt.h	15 Apr 2008 19:29:09 -0000	1.7
***************
*** 71,74 ****
--- 71,75 ----
  	bool beginTrans();
  	bool commitTrans();
+ 	bool abortTrans();
  	LPDISPATCH putInTerr( LPDISPATCH);
  	CComPtr<IMgaFCO> putInTerr( const CComPtr<IMgaFCO>& fco);
***************
*** 145,148 ****
--- 146,150 ----
  	afx_msg void BeginTransaction( );
  	afx_msg void CommitTransaction( );
+ 	afx_msg void AbortTransaction( );
  	afx_msg VARIANT_BOOL IsInTransaction( );
  	afx_msg LPDISPATCH PutInTerritory( LPDISPATCH);
***************
*** 229,232 ****
--- 231,235 ----
  		STDMETHOD(BeginTransaction)(THIS);
  		STDMETHOD(CommitTransaction)(THIS);
+ 		STDMETHOD(AbortTransaction)(THIS);
  		STDMETHOD(IsInTransaction)(THIS_ VARIANT_BOOL* intrans);
  		STDMETHOD(PutInTerritory)(THIS_ IMgaFCO* fco, IMgaFCO** newfco);

Index: GMEOLEIt.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Gme/GMEOLEIt.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** GMEOLEIt.cpp	7 Mar 2007 23:25:56 -0000	1.9
--- GMEOLEIt.cpp	15 Apr 2008 19:29:09 -0000	1.10
***************
*** 112,115 ****
--- 112,132 ----
  }
  
+ bool CGMEOLEIt::abortTrans()
+ {
+ 	try
+ 	{
+ 		CComPtr<IMgaTerritory> act_terr;
+ 		COMTHROW( theApp.mgaProject->get_ActiveTerritory( &act_terr));
+ 		if( act_terr) act_terr->Flush();
+ 
+ 		COMTHROW( theApp.mgaProject->AbortTransaction());
+ 	}
+ 	catch( ... )
+ 	{
+ 	}
+ 
+ 	return true;
+ }
+ 
  CComPtr<IMgaFCO> CGMEOLEIt::putInTerr( const CComPtr<IMgaFCO>& p_oneFCO)
  {
***************
*** 654,657 ****
--- 671,675 ----
  	DISP_FUNCTION(CGMEOLEIt, "BeginTransaction", BeginTransaction, VT_EMPTY, VTS_NONE)
  	DISP_FUNCTION(CGMEOLEIt, "CommitTransaction", CommitTransaction, VT_EMPTY, VTS_NONE)
+ 	DISP_FUNCTION(CGMEOLEIt, "AbortTransaction", AbortTransaction, VT_EMPTY, VTS_NONE)
  	DISP_FUNCTION(CGMEOLEIt, "IsInTransaction", IsInTransaction, VT_BOOL, VTS_NONE)
  	DISP_FUNCTION(CGMEOLEIt, "PutInTerritory", PutInTerritory, VT_DISPATCH, VTS_DISPATCH)
***************
*** 2493,2496 ****
--- 2511,2522 ----
  }
  
+ void CGMEOLEIt::AbortTransaction( )
+ {
+ 	CGMEEventLogger::LogGMEEvent("CGMEOLEIt::AbortTransaction\r\n");
+ 
+ 	abortTrans();
+ 	m_isInUserInitiatedTransaction = false;
+ }
+ 
  VARIANT_BOOL CGMEOLEIt::IsInTransaction( )
  { 
***************
*** 3570,3573 ****
--- 3596,3610 ----
  	{
  		pThis->CommitTransaction();
+ 	}
+ 	CATCH_ALL_DUAL
+ }
+ 
+ STDMETHODIMP CGMEOLEIt::XDual::AbortTransaction()
+ {
+ 	METHOD_PROLOGUE(CGMEOLEIt, Dual)
+ 
+ 	TRY_DUAL(IID_IGMEOLEIt)
+ 	{
+ 		pThis->AbortTransaction();
  	}
  	CATCH_ALL_DUAL



More information about the GME-commit mailing list