[GME-commit] GMESRC/GME/Mga MgaFCO.h, 1.29, 1.30 MgaFolder.cpp, 1.34, 1.35 MgaFolder.h, 1.9, 1.10 MgaGeneric.cpp, 1.13, 1.14 MgaGeneric.h, 1.10, 1.11 MgaModel.h, 1.6, 1.7 MgaProject.cpp, 1.71, 1.72 MgaProject.h, 1.33, 1.34

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Wed Sep 26 15:21:49 CDT 2007


Update of /project/gme-repository/GMESRC/GME/Mga
In directory escher:/tmp/cvs-serv23885

Modified Files:
	MgaFCO.h MgaFolder.cpp MgaFolder.h MgaGeneric.cpp MgaGeneric.h 
	MgaModel.h MgaProject.cpp MgaProject.h 
Log Message:
MgaGeneric.cpp -> FileStatus long attribute introduced for faster source control status setting/retrieval.

New method: GetSourceControlInfo for IMgaModel/IMgaFolder

New methods: SourceControlActiveUser, SourceControlObjectOwner for IMgaProject.

UpdateSourceControlInfo of IMgaProject can accept an optional parameter.






CVS User: Zoltan Molnar, ISIS (zolmol)

Index: MgaFolder.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Mga/MgaFolder.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** MgaFolder.h	7 Mar 2007 22:04:32 -0000	1.9
--- MgaFolder.h	26 Sep 2007 20:21:47 -0000	1.10
***************
*** 85,88 ****
--- 85,91 ----
  	STDMETHOD(GetVirtuallyIncludes)  ( IMgaFolders** pDep) { return inFCO->GetVirtuallyIncludes  ( pDep); }
  	STDMETHOD(SetVirtuallyIncludes)  ( IMgaFolders*  pDep) { return inFCO->SetVirtuallyIncludes  ( pDep); }
+ 
+ 	STDMETHOD(GetSourceControlInfo)( long* p_scInfo)    { return inFCO->GetSourceControlInfo( p_scInfo); }
+ 
  	STDMETHOD(get_ChildRelIDCounter)(long *pVal) { 
  		return inFCO->get_ChildRelIDCounter(pVal); }

Index: MgaGeneric.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Mga/MgaGeneric.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** MgaGeneric.h	19 May 2006 18:35:31 -0000	1.10
--- MgaGeneric.h	26 Sep 2007 20:21:47 -0000	1.11
***************
*** 32,35 ****
--- 32,36 ----
  #define ATTRID_RELID					408
  #define ATTRID_LASTRELID				409
+ #define ATTRID_FILESTATUS				410
  #define ATTRID_GUID1					411
  #define ATTRID_GUID2					412

Index: MgaGeneric.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Mga/MgaGeneric.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** MgaGeneric.cpp	8 Jun 2007 12:01:43 -0000	1.13
--- MgaGeneric.cpp	26 Sep 2007 20:21:47 -0000	1.14
***************
*** 95,98 ****
--- 95,100 ----
  		CREATE_ATTRIBUTE(ATTRID_GUID4, "GUID4", "FCO GUID4",	VALTYPE_LONG);}
  
+ #define STATUS_ATTR_DEF CREATE_ATTRIBUTE(ATTRID_FILESTATUS, "fstate", "Multiuser File Status", VALTYPE_LONG);
+ 
  //FOLDER
  		CREATE_OBJECT(DTID_FOLDER, "Folder", "Template For Folder");
***************
*** 112,115 ****
--- 114,118 ----
  
  		if( v2) GUID_ATTRS_DEFS;
+ 		if( v2) STATUS_ATTR_DEF;
  		CLSID_PUSH(  CLSID_MgaO );  
  		
***************
*** 142,145 ****
--- 145,150 ----
  
  		if( v2) GUID_ATTRS_DEFS;
+ 		if( v2) STATUS_ATTR_DEF;
+ 
  		CLSID_PUSH(  CLSID_MgaO );  
  

Index: MgaFolder.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Mga/MgaFolder.cpp,v
retrieving revision 1.34
retrieving revision 1.35
diff -C2 -d -r1.34 -r1.35
*** MgaFolder.cpp	21 Jul 2006 19:11:40 -0000	1.34
--- MgaFolder.cpp	26 Sep 2007 20:21:47 -0000	1.35
***************
*** 912,915 ****
--- 912,927 ----
  }
  
+ HRESULT FCO::GetSourceControlInfo( long* p_scInfo)
+ {
+ 	COMTRY
+ 	{
+ 		if( p_scInfo)
+ 		{
+ 			CheckRead();
+ 			*p_scInfo = self[ATTRID_FILESTATUS];
+ 		}
+ 	}
+ 	COMCATCH(;)
+ }
  
  /////////////////////////////////////////////////////////////////////////////////

Index: MgaModel.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Mga/MgaModel.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** MgaModel.h	28 Nov 2005 22:09:15 -0000	1.6
--- MgaModel.h	26 Sep 2007 20:21:47 -0000	1.7
***************
*** 63,67 ****
  	STDMETHOD(put_ChildRelIDCounter)(long pVal) { 
  		return inFCO->put_ChildRelIDCounter(pVal); }
  	};
- 
  #endif //__MGAMODEL_H_
--- 63,68 ----
  	STDMETHOD(put_ChildRelIDCounter)(long pVal) { 
  		return inFCO->put_ChildRelIDCounter(pVal); }
+ 	STDMETHOD(GetSourceControlInfo)( long *p_scInfo) {
+ 		return inFCO->GetSourceControlInfo( p_scInfo);}
  	};
  #endif //__MGAMODEL_H_

Index: MgaFCO.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Mga/MgaFCO.h,v
retrieving revision 1.29
retrieving revision 1.30
diff -C2 -d -r1.29 -r1.30
*** MgaFCO.h	7 Mar 2007 22:04:32 -0000	1.29
--- MgaFCO.h	26 Sep 2007 20:21:47 -0000	1.30
***************
*** 552,555 ****
--- 552,558 ----
  	HRESULT SetVirtuallyIncludes  ( IMgaFolders*  pDep);
  
+ 	// Source control
+ 	HRESULT GetSourceControlInfo( long* scInfo);
+ 
  	void prepareDepInfo2Coll( CComBSTR& pInfo, IMgaFolders** p_resultColl);
  	void prepareColl2DepInfo( IMgaFolders* pDep, CComBSTR& pResInfo);

Index: MgaProject.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Mga/MgaProject.h,v
retrieving revision 1.33
retrieving revision 1.34
diff -C2 -d -r1.33 -r1.34
*** MgaProject.h	7 Mar 2007 22:04:32 -0000	1.33
--- MgaProject.h	26 Sep 2007 20:21:47 -0000	1.34
***************
*** 115,119 ****
  	STDMETHOD(FlushUndoQueue)();
  
!     STDMETHOD(UpdateSourceControlInfo)();
  
  	STDMETHOD(get_RootFolder)( IMgaFolder **pVal);
--- 115,121 ----
  	STDMETHOD(FlushUndoQueue)();
  
! 	STDMETHOD(UpdateSourceControlInfo)( BSTR param);
! 	STDMETHOD(SourceControlActiveUsers)( );
! 	STDMETHOD(SourceControlObjectOwner)( BSTR p_optionalID);
  
  	STDMETHOD(get_RootFolder)( IMgaFolder **pVal);

Index: MgaProject.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Mga/MgaProject.cpp,v
retrieving revision 1.71
retrieving revision 1.72
diff -C2 -d -r1.71 -r1.72
*** MgaProject.cpp	18 Jun 2007 01:48:45 -0000	1.71
--- MgaProject.cpp	26 Sep 2007 20:21:47 -0000	1.72
***************
*** 1591,1608 ****
  }
  
! STDMETHODIMP CMgaProject::UpdateSourceControlInfo()
  {
!     CComPtr<IMgaTerritory> lm;
  	COMTHROW(CreateTerritory(NULL, &lm));
  	COMTHROW(BeginTransaction(lm, TRANSACTION_GENERAL));
  
!     // hack: core will recognize this action as a source control status update
!     CoreObj  dataroot;
!     COMTHROW(dataproject->get_RootObject(&dataroot.ComPtr()));
!     dataroot[ATTRID_MDATE] = "UpdateSourceControlInfo";
  
!     COMTHROW(CommitTransaction());
  
!     return S_OK;
  }
  
--- 1591,1650 ----
  }
  
! STDMETHODIMP CMgaProject::UpdateSourceControlInfo( BSTR param)
  {
! 	CComPtr<IMgaTerritory> lm;
  	COMTHROW(CreateTerritory(NULL, &lm));
  	COMTHROW(BeginTransaction(lm, TRANSACTION_GENERAL));
  
! 	// hack: core will recognize this action as a source control status update
! 	CComBSTR hack_str = "UpdateSourceControlInfo";
! 	CComBSTR para_str( param);
! 	if( para_str.Length() > 0)
! 		hack_str.Append( para_str);
! 	CoreObj  dataroot;
! 	COMTHROW(dataproject->get_RootObject(&dataroot.ComPtr()));
! 	dataroot[ATTRID_MDATE] = hack_str;
  
! 	COMTHROW(CommitTransaction());
  
! 	return S_OK;
! }
! 
! STDMETHODIMP CMgaProject::SourceControlActiveUsers()
! {
! 	CComPtr<IMgaTerritory> lm;
! 	COMTHROW(CreateTerritory(NULL, &lm));
! 	COMTHROW(BeginTransaction(lm, TRANSACTION_GENERAL));
! 
! 	// hack: core will recognize this value as a command, will show a dlg with user names
! 	CComBSTR hack_str = "ShowActiveUsers";
! 
! 	CoreObj  dataroot;
! 	COMTHROW(dataproject->get_RootObject(&dataroot.ComPtr()));
! 	dataroot[ATTRID_MDATE] = hack_str;
! 
! 	COMTHROW(CommitTransaction());
! 
! 	return S_OK;
! }
! 
! STDMETHODIMP CMgaProject::SourceControlObjectOwner( BSTR p_optionalID)
! {
! 	CComPtr<IMgaTerritory> lm;
! 	COMTHROW(CreateTerritory(NULL, &lm));
! 	COMTHROW(BeginTransaction(lm, TRANSACTION_GENERAL));
! 
! 	// hack: core will recognize this value as a command, will show a dlg with owneruser
! 	CComBSTR hack_str = "WhoControlsThisObj";
! 	CComBSTR para_str( p_optionalID);
! 	if( para_str.Length() > 0)
! 		hack_str.Append( para_str);
! 	CoreObj  dataroot;
! 	COMTHROW(dataproject->get_RootObject(&dataroot.ComPtr()));
! 	dataroot[ATTRID_MDATE] = hack_str;
! 
! 	COMTHROW(CommitTransaction());
! 
! 	return S_OK;
  }
  



More information about the GME-commit mailing list