[GME-commit] GMESRC/GME/MgaUtil MgaRegistrar.cpp,1.36,1.37

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Tue Jul 20 12:01:42 CDT 2004


Update of /var/lib/gme/GMESRC/GME/MgaUtil
In directory braindrain:/tmp/cvs-serv9303/GME/MgaUtil

Modified Files:
	MgaRegistrar.cpp 
Log Message:
Version based paradigm registration

CVS User: volgy

Index: MgaRegistrar.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/MgaUtil/MgaRegistrar.cpp,v
retrieving revision 1.36
retrieving revision 1.37
diff -C2 -d -r1.36 -r1.37
*** MgaRegistrar.cpp	20 Jul 2004 13:55:47 -0000	1.36
--- MgaRegistrar.cpp	20 Jul 2004 16:01:39 -0000	1.37
***************
*** 976,1001 ****
  		CopyTo(gg, guidbstr);
  
  		if(mode & RM_USER) {
  			CRegKey par;
! 			ERRTHROW( par.Open(HKEY_CURRENT_USER, rootreg + "\\Paradigms\\"+name) );
! 			
! 			for(int index = 0;; ++index) {
! 				TCHAR name[512];
! 				DWORD namesize = sizeof(name);
! 				BYTE value[512];
! 				DWORD valuesize = sizeof(value);
! 				DWORD valtype;
  
! 				LONG err = RegEnumValue(par, index, name, &namesize, NULL, &valtype, value, &valuesize);
! 				if( err == ERROR_NO_MORE_ITEMS )
! 					break;
! 				ERRTHROW( err );
! 				if (valtype == REG_SZ) {
! 					CString cver(value);
! 					if (cver.Compare(PutInCString(guidbstr)) == 0) {
! 						CString namestr(name);
! 						if (namestr.CompareNoCase("CurrentVersion") != 0) {
! 							found = true;
! 							CopyTo(namestr, ver);
  						}
  					}
--- 976,1005 ----
  		CopyTo(gg, guidbstr);
  
+ 		LONG res;
+ 
  		if(mode & RM_USER) {
  			CRegKey par;
! 			res = par.Open(HKEY_CURRENT_USER, rootreg + "\\Paradigms\\"+name, KEY_READ);
! 			if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
! 			if(res == ERROR_SUCCESS) {
! 				for(int index = 0;; ++index) {
! 					TCHAR name[512];
! 					DWORD namesize = sizeof(name);
! 					BYTE value[512];
! 					DWORD valuesize = sizeof(value);
! 					DWORD valtype;
  
! 					LONG err = RegEnumValue(par, index, name, &namesize, NULL, &valtype, value, &valuesize);
! 					if( err == ERROR_NO_MORE_ITEMS )
! 						break;
! 					ERRTHROW( err );
! 					if (valtype == REG_SZ) {
! 						CString cver(value);
! 						if (cver.Compare(PutInCString(guidbstr)) == 0) {
! 							CString namestr(name);
! 							if (namestr.CompareNoCase("CurrentVersion") != 0) {
! 								found = true;
! 								CopyTo(namestr, ver);
! 							}
  						}
  					}
***************
*** 1005,1027 ****
  		if(mode & (RM_SYSDOREAD)) {
  			CRegKey par;
! 			ERRTHROW( par.Open(HKEY_LOCAL_MACHINE, rootreg + "\\Paradigms\\"+name) );
! 			for(int index = 0;; ++index) {
! 				TCHAR name[512];
! 				DWORD namesize = sizeof(name);
! 				BYTE value[512];
! 				DWORD valuesize = sizeof(value);
! 				DWORD valtype;
  
! 				LONG err = RegEnumValue(par, index, name, &namesize, NULL, &valtype, value, &valuesize);
! 				if( err == ERROR_NO_MORE_ITEMS )
! 					break;
! 				ERRTHROW( err );
! 				if (valtype == REG_SZ) {
! 					CString cver(value);
! 					if (cver.Compare(PutInCString(guidbstr)) == 0) {
! 						CString namestr(name);
! 						if (namestr.CompareNoCase("CurrentVersion") != 0) {
! 							found = true;
! 							CopyTo(namestr, ver);
  						}
  					}
--- 1009,1034 ----
  		if(mode & (RM_SYSDOREAD)) {
  			CRegKey par;
! 			res = par.Open(HKEY_LOCAL_MACHINE, rootreg + "\\Paradigms\\"+name, KEY_READ);
! 			if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
! 			if(res == ERROR_SUCCESS) {
! 				for(int index = 0;; ++index) {
! 					TCHAR name[512];
! 					DWORD namesize = sizeof(name);
! 					BYTE value[512];
! 					DWORD valuesize = sizeof(value);
! 					DWORD valtype;
  
! 					LONG err = RegEnumValue(par, index, name, &namesize, NULL, &valtype, value, &valuesize);
! 					if( err == ERROR_NO_MORE_ITEMS )
! 						break;
! 					ERRTHROW( err );
! 					if (valtype == REG_SZ) {
! 						CString cver(value);
! 						if (cver.Compare(PutInCString(guidbstr)) == 0) {
! 							CString namestr(name);
! 							if (namestr.CompareNoCase("CurrentVersion") != 0) {
! 								found = true;
! 								CopyTo(namestr, ver);
! 							}
  						}
  					}
***************
*** 1043,1057 ****
  	COMTRY
  	{
  		if(mode & RM_USER) {
  			CRegKey par;
! 			ERRTHROW( par.Open(HKEY_CURRENT_USER, rootreg + "\\Paradigms\\"+name) );
! 
! 			gstr = QueryValue(par, verstr);
  		}
  		if(mode & (RM_SYSDOREAD)) {
  			CRegKey par;
! 			ERRTHROW( par.Open(HKEY_LOCAL_MACHINE, rootreg + "\\Paradigms\\"+name) );
! 			gstr = QueryValue(par, verstr);
  		}
  		GUID g;
  		CopyTo(CComBSTR(gstr),g); 
--- 1050,1076 ----
  	COMTRY
  	{
+ 		LONG res;
+ 
  		if(mode & RM_USER) {
  			CRegKey par;
! 			res = par.Open(HKEY_CURRENT_USER, rootreg + "\\Paradigms\\"+name, KEY_READ);
! 			if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
! 			if(res == ERROR_SUCCESS) { 
! 				gstr = QueryValue(par, verstr);
! 			}
  		}
  		if(mode & (RM_SYSDOREAD)) {
  			CRegKey par;
! 			res = par.Open(HKEY_LOCAL_MACHINE, rootreg + "\\Paradigms\\"+name, KEY_READ);
! 			if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
! 			if(res == ERROR_SUCCESS) { 
! 				gstr = QueryValue(par, verstr);
! 			}
! 		}
! 
! 		if (gstr.IsEmpty()) {
! 			ERRTHROW(E_NOTFOUND);
  		}
+ 
  		GUID g;
  		CopyTo(CComBSTR(gstr),g); 



More information about the GME-commit mailing list