[GME-commit] GMESRC/SDK/BON BONImpl.cpp,1.17,1.18 BONImpl.h,1.11,1.12

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Tue Jul 20 06:48:39 CDT 2004


Update of /var/lib/gme/GMESRC/SDK/BON
In directory braindrain:/tmp/cvs-serv7969/SDK/BON

Modified Files:
	BONImpl.cpp BONImpl.h 
Log Message:
MetaInterpreter uses project properties for dumping
- Author(s)
- Comment
- GUID
- Version
- Creation and modification time

CVS User: volgy

Index: BONImpl.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/SDK/BON/BONImpl.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** BONImpl.cpp	14 Jun 2004 18:52:01 -0000	1.17
--- BONImpl.cpp	20 Jul 2004 10:48:36 -0000	1.18
***************
*** 483,486 ****
--- 483,530 ----
  	}
  
+ 	std::string ProjectImpl::getGUID() const
+ 	{
+ 		CComVariant v;
+ 		COMTHROW( m_spProject->get_GUID( &v ) );
+ 
+ 		if (v.vt != (VT_UI1 | VT_ARRAY) || 
+ 			v.parray == NULL || 
+ 			v.parray->cbElements != 1 ||
+ 			v.parray->cDims != 1 ||
+ 			v.parray->rgsabound[0].cElements != sizeof(GUID)) {
+ 
+ 			ASSERTTHROW( BON::Exception( "Invalid GUID format!" ) );
+ 
+ 		}
+ 
+ 		GUID guid;
+ 		unsigned char *start = (unsigned char*)&guid;
+ 		unsigned char *end = (unsigned char*)(&guid+1);
+ 		const unsigned char *q = NULL;
+ 
+ 		COMTHROW( SafeArrayAccessData(v.parray, (void**)&q) );
+ 
+ 		if (q == NULL ) {
+ 			ASSERTTHROW( BON::Exception( "Error in GUID conversion!" ) );
+ 		}
+ 
+ 		memcpy( start, q, (end - start) * sizeof(unsigned char) );
+ 		COMTHROW( SafeArrayUnaccessData(v.parray) );
+ 
+ 		wchar_t *guidstr = NULL;
+ 		COMTHROW(StringFromCLSID(guid,&guidstr));
+ 		std::string strResult = Util::Copy( guidstr );
+ 		CoTaskMemFree(guidstr); 
+ 
+ 		return strResult;
+ 	}
+ 
+ 	std::string ProjectImpl::getVersion() const
+ 	{
+ 		CComBSTR bstrVersion;
+ 		COMTHROW( m_spProject->get_Version( &bstrVersion ) );
+ 		return Util::Copy( bstrVersion );
+ 	}
+ 
  	void ProjectImpl::setName( const std::string& strName )
  	{

Index: BONImpl.h
===================================================================
RCS file: /var/lib/gme/GMESRC/SDK/BON/BONImpl.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** BONImpl.h	3 Mar 2004 18:37:07 -0000	1.11
--- BONImpl.h	20 Jul 2004 10:48:36 -0000	1.12
***************
*** 152,155 ****
--- 152,157 ----
  			std::string 				getCreationTime() const;
  			std::string				getChangeTime() const;
+ 			std::string				getGUID() const;
+ 			std::string				getVersion() const;
  			void 					setName( const std::string& strName );
  			void 					setAuthor( const std::string& strAuthor );



More information about the GME-commit mailing list