[commit] r2189 - in trunk/GME: Common Core Mga Parser

GMESRC Repository Notifications gme-commit at list.isis.vanderbilt.edu
Tue May 7 12:08:03 CDT 2013


Author: ksmyth
Date: Tue May  7 12:08:03 2013
New Revision: 2189

Log:
Convert Core to use #import. SaveProject(Path) will now SetErrorInfo that connections strings begin with MGA=...

Modified:
   trunk/GME/Common/CommonImport.h
   trunk/GME/Core/Core.cpp
   trunk/GME/Core/CoreAttribute.h
   trunk/GME/Core/CoreBinFile.cpp
   trunk/GME/Core/CoreBinFile.h
   trunk/GME/Core/CoreMetaAttribute.h
   trunk/GME/Core/CoreMetaObject.h
   trunk/GME/Core/CoreMetaProject.h
   trunk/GME/Core/CoreObject.cpp
   trunk/GME/Core/CoreObject.h
   trunk/GME/Core/CoreProject.cpp
   trunk/GME/Core/CoreProject.h
   trunk/GME/Core/CoreTerritory.h
   trunk/GME/Core/StdAfx.h
   trunk/GME/Mga/MgaProject.cpp
   trunk/GME/Mga/StdAfx.h
   trunk/GME/Parser/StdAfx.h

Modified: trunk/GME/Common/CommonImport.h
==============================================================================
--- trunk/GME/Common/CommonImport.h	Tue May  7 12:07:06 2013	(r2188)
+++ trunk/GME/Common/CommonImport.h	Tue May  7 12:08:03 2013	(r2189)
@@ -80,4 +80,21 @@
 const unsigned long	F_IMGPATH = 1<<6;
 const unsigned long	F_RESIZEAFTERMOD = 1<<7;
 
+const metaid_type METAID_NONE = 0;
+const metaid_type METAID_ROOT = 1;
+
+const attrid_type ATTRID_NONE = 0;
+const attrid_type ATTRID_LOCK = 1;
+const attrid_type ATTRID_NAME = 2;
+const attrid_type ATTRID_FATHER = 3;
+const attrid_type ATTRID_COLLECTION = 10000;
+
+const objid_type OBJID_NONE = 0;
+const objid_type OBJID_ROOT = 1;
+const long RELID_BASE_MAX  = 0x7FFFFFF;	//assigned to non-derived ojects
+const long RELID_VALUE_MAX = 0x7FFFFFFF;   // automatically assigned to deriveds
+
+typedef GMEInterfaceVersion_enum GMEInterfaceVersion;
+typedef long metaref_type;
+#define ATTVAL_ENUM _attval_enum
 

Modified: trunk/GME/Core/Core.cpp
==============================================================================
--- trunk/GME/Core/Core.cpp	Tue May  7 12:07:06 2013	(r2188)
+++ trunk/GME/Core/Core.cpp	Tue May  7 12:08:03 2013	(r2189)
@@ -25,10 +25,6 @@
 #include "stdafx.h"
 #include "resource.h"
 
-#include "Core_i.c"
-#include "Gme_i.c"
-#include "CoreLib_i.c"
-
 #include "CommonError.h"
 #include "CommonSmart.h"
 
@@ -36,6 +32,8 @@
 #include "CoreBinFile.h"
 #include "CoreMetaProject.h"
 
+#import "CoreLib.tlb" implementation_only no_namespace raw_method_prefix("") high_method_prefix("__") no_registry
+
 #ifdef _MERGE_PROXYSTUB
 extern "C" HINSTANCE hProxyDll;
 #endif
@@ -154,7 +152,7 @@
 
 class CCoreCollectionHandler : 
 	public CComObjectRootEx<CComMultiThreadModel>,
-	public CComCoClass<CCoreCollectionHandler, &CLSID_CoreCollectionHandler>,
+	public CComCoClass<CCoreCollectionHandler, &__uuidof(CoreCollectionHandler)>,
 	public IUnknown
 {
 
@@ -183,7 +181,7 @@
 		if (ppv == NULL)
 			return E_POINTER;
 	
-		static const GUID guids[] = {
+		static const ::GUID guids[] = {
 //def lit(id): return "{%s, %s, %s, {%s, %s, %s}}" % ( hex(id.time_low), hex(id.time_mid), hex(id.time_hi_version), hex(id.clock_seq_hi_variant), hex(id.clock_seq_low), ', '.join((hex(ord(b)) for b in id.bytes[10:])))
 //print "\n".join(["%s, // %ss %s" % (lit(l[0]), l[1], l[0]) for l in ids])
 {0xc5aac2f0L, 0xc1fdL, 0x11d3L, {0x9aL, 0xd2L, 0x0, 0xaa, 0x0, 0xb6, 0xfe, 0x26}}, // MgaObjects c5aac2f0-c1fd-11d3-9ad2-00aa00b6fe26		
@@ -258,10 +256,10 @@
 }
 
 BEGIN_OBJECT_MAP(ObjectMap)
-OBJECT_ENTRY(CLSID_CoreProject, CCoreProject)
-OBJECT_ENTRY(CLSID_CoreBinFile, CCoreBinFile)
-OBJECT_ENTRY(CLSID_CoreMetaProject, CCoreMetaProject)
-OBJECT_ENTRY(CLSID_CoreCollectionHandler, CCoreCollectionHandler)
+OBJECT_ENTRY(__uuidof(CoreProject), CCoreProject)
+OBJECT_ENTRY(__uuidof(CoreBinFile), CCoreBinFile)
+OBJECT_ENTRY(__uuidof(CoreMetaProject), CCoreMetaProject)
+OBJECT_ENTRY(__uuidof(CoreCollectionHandler), CCoreCollectionHandler)
 END_OBJECT_MAP()
 
 /////////////////////////////////////////////////////////////////////////////

Modified: trunk/GME/Core/CoreAttribute.h
==============================================================================
--- trunk/GME/Core/CoreAttribute.h	Tue May  7 12:07:06 2013	(r2188)
+++ trunk/GME/Core/CoreAttribute.h	Tue May  7 12:08:03 2013	(r2189)
@@ -20,7 +20,7 @@
 class CCoreMetaAttribute;
 
 class CCoreAttributeErrorTearOff : 
-	public ISupportErrorInfoImpl<&IID_ICoreAttribute>,
+	public ISupportErrorInfoImpl<&__uuidof(ICoreAttribute)>,
 	public CComTearOffObjectBase<CCoreAttribute>
 {
 BEGIN_COM_MAP(CCoreAttributeErrorTearOff)
@@ -34,7 +34,7 @@
 
 class ATL_NO_VTABLE CCoreAttribute : 
 	public CComObjectRootEx<CComSingleThreadModel>,
-	public IDispatchImpl<ICoreAttribute, &IID_ICoreAttribute, &LIBID_MGACoreLib>
+	public IDispatchImpl<ICoreAttribute, &__uuidof(ICoreAttribute), &__uuidof(__MGACoreLib)>
 {
 public:
 	CCoreAttribute();

Modified: trunk/GME/Core/CoreBinFile.cpp
==============================================================================
--- trunk/GME/Core/CoreBinFile.cpp	Tue May  7 12:07:06 2013	(r2188)
+++ trunk/GME/Core/CoreBinFile.cpp	Tue May  7 12:08:03 2013	(r2189)
@@ -1249,7 +1249,9 @@
 		if( !fn.empty() ) 
 		{
 			if( !(std::string(fn, 0, 4) == "MGA=") )
-				HR_THROW(E_INVALID_USAGE);
+			{
+				throw_com_error(E_INVALID_USAGE, L"Connection string must start with MGA=");
+			}
 
 			fn.erase(0, 4);
 			filename = fn;

Modified: trunk/GME/Core/CoreBinFile.h
==============================================================================
--- trunk/GME/Core/CoreBinFile.h	Tue May  7 12:07:06 2013	(r2188)
+++ trunk/GME/Core/CoreBinFile.h	Tue May  7 12:08:03 2013	(r2189)
@@ -183,9 +183,9 @@
 
 class ATL_NO_VTABLE CCoreBinFile : 
 	public CComObjectRootEx<CComSingleThreadModel>,
-	public IDispatchImpl<ICoreStorage, &IID_ICoreStorage, &LIBID_MGACoreLib>,
-	public ISupportErrorInfoImpl<&IID_ICoreStorage>,
-	public CComCoClass<CCoreBinFile, &CLSID_CoreBinFile>
+	public IDispatchImpl<ICoreStorage, &__uuidof(ICoreStorage), &__uuidof(__MGACoreLib)>,
+	public ISupportErrorInfoImpl<&__uuidof(ICoreStorage)>,
+	public CComCoClass<CCoreBinFile, &__uuidof(CoreBinFile)>
 {
 public:
 	CCoreBinFile();

Modified: trunk/GME/Core/CoreMetaAttribute.h
==============================================================================
--- trunk/GME/Core/CoreMetaAttribute.h	Tue May  7 12:07:06 2013	(r2188)
+++ trunk/GME/Core/CoreMetaAttribute.h	Tue May  7 12:08:03 2013	(r2189)
@@ -8,8 +8,8 @@
 
 class ATL_NO_VTABLE CCoreMetaAttribute : 
 	public CComObjectRootEx<CComSingleThreadModel>,
-	public IDispatchImpl<ICoreMetaAttribute, &IID_ICoreMetaAttribute, &LIBID_MGACoreLib>,
-	public ISupportErrorInfoImpl<&IID_ICoreMetaAttribute>
+	public IDispatchImpl<ICoreMetaAttribute, &__uuidof(ICoreMetaAttribute), &__uuidof(__MGACoreLib)>,
+	public ISupportErrorInfoImpl<&__uuidof(ICoreMetaAttribute)>
 {
 public:
 	CCoreMetaAttribute();

Modified: trunk/GME/Core/CoreMetaObject.h
==============================================================================
--- trunk/GME/Core/CoreMetaObject.h	Tue May  7 12:07:06 2013	(r2188)
+++ trunk/GME/Core/CoreMetaObject.h	Tue May  7 12:08:03 2013	(r2189)
@@ -11,8 +11,8 @@
 
 class ATL_NO_VTABLE CCoreMetaObject : 
 	public CComObjectRootEx<CComSingleThreadModel>,
-	public IDispatchImpl<ICoreMetaObject, &IID_ICoreMetaObject, &LIBID_MGACoreLib>,
-	public ISupportErrorInfoImpl<&IID_ICoreMetaObject>
+	public IDispatchImpl<ICoreMetaObject, &__uuidof(ICoreMetaObject), &__uuidof(__MGACoreLib)>,
+	public ISupportErrorInfoImpl<&__uuidof(ICoreMetaObject)>
 {
 public:
 	CCoreMetaObject();
@@ -48,7 +48,7 @@
 
 	CCoreMetaProject *project;
 	attributes_type attributes;
-	std::vector<GUID> classids;
+	std::vector<::GUID> classids;
 
 	metaid_type metaid;
 	std::string token;
@@ -58,7 +58,7 @@
 
 public:
 	const attributes_type &GetAttributes() const { return attributes; }
-	const std::vector<GUID> &GetClassIDs() const { return classids; }
+	const std::vector<::GUID> &GetClassIDs() const { return classids; }
 	metaid_type GetMetaID() const { return metaid; }
 
 };

Modified: trunk/GME/Core/CoreMetaProject.h
==============================================================================
--- trunk/GME/Core/CoreMetaProject.h	Tue May  7 12:07:06 2013	(r2188)
+++ trunk/GME/Core/CoreMetaProject.h	Tue May  7 12:08:03 2013	(r2189)
@@ -10,9 +10,9 @@
 
 class ATL_NO_VTABLE CCoreMetaProject : 
 	public CComObjectRootEx<CComSingleThreadModel>,
-	public CComCoClass<CCoreMetaProject, &CLSID_CoreMetaProject>,
-	public IDispatchImpl<ICoreMetaProject, &IID_ICoreMetaProject, &LIBID_MGACoreLib>,
-	public ISupportErrorInfoImpl<&IID_ICoreMetaProject>
+	public CComCoClass<CCoreMetaProject, &__uuidof(CoreMetaProject)>,
+	public IDispatchImpl<ICoreMetaProject, &__uuidof(ICoreMetaProject), &__uuidof(__MGACoreLib)>,
+	public ISupportErrorInfoImpl<&__uuidof(ICoreMetaProject)>
 {
 public:
 	CCoreMetaProject();
@@ -55,7 +55,7 @@
 	objects_type objects;
 	std::string name;
 	std::string token;
-	GUID guid;
+	::GUID guid;
 };
 
 inline IUnknown *CastToUnknown(CCoreMetaProject *p) { return (IUnknown*)(ICoreMetaProject*)p; }

Modified: trunk/GME/Core/CoreObject.cpp
==============================================================================
--- trunk/GME/Core/CoreObject.cpp	Tue May  7 12:07:06 2013	(r2188)
+++ trunk/GME/Core/CoreObject.cpp	Tue May  7 12:08:03 2013	(r2189)
@@ -362,10 +362,10 @@
 	COMTHROW( metaobject->get_ClassIDs(PutOut(p)) );
 	ASSERT( p != NULL );
 
-	const std::vector<GUID> &classids = metaobject->GetClassIDs();
+	const std::vector<::GUID> &classids = metaobject->GetClassIDs();
 
-	std::vector<GUID>::const_iterator i = classids.begin();
-	std::vector<GUID>::const_iterator e = classids.end();
+	std::vector<::GUID>::const_iterator i = classids.begin();
+	std::vector<::GUID>::const_iterator e = classids.end();
 	while( i != e )
 	{
 		CComObjPtr<IUnknown> aggregated;

Modified: trunk/GME/Core/CoreObject.h
==============================================================================
--- trunk/GME/Core/CoreObject.h	Tue May  7 12:07:06 2013	(r2188)
+++ trunk/GME/Core/CoreObject.h	Tue May  7 12:08:03 2013	(r2189)
@@ -17,8 +17,8 @@
 
 class ATL_NO_VTABLE CCoreObject : 
 	public CComObjectRootEx<CComSingleThreadModel>,
-	public IDispatchImpl<ICoreObject, &IID_ICoreObject, &LIBID_MGACoreLib>,
-	public CCoreFinalTrItemImpl<&IID_ICoreObject>
+	public IDispatchImpl<ICoreObject, &__uuidof(ICoreObject), &__uuidof(__MGACoreLib)>,
+	public CCoreFinalTrItemImpl<&__uuidof(ICoreObject)>
 {
 public:
 	CCoreObject();

Modified: trunk/GME/Core/CoreProject.cpp
==============================================================================
--- trunk/GME/Core/CoreProject.cpp	Tue May  7 12:07:06 2013	(r2188)
+++ trunk/GME/Core/CoreProject.cpp	Tue May  7 12:08:03 2013	(r2189)
@@ -237,10 +237,9 @@
 
 	COMTRY
 	{
-		CComObjPtr<ICoreStorage> corestorage;
-		corestorage = storage;
+		ICoreStoragePtr corestorage = storage.p;
 
-		COMTHROW( corestorage->SaveProject(newname, keepoldname) );
+		corestorage->__SaveProject(newname, keepoldname);
 	}
 	COMCATCH(;)
 }

Modified: trunk/GME/Core/CoreProject.h
==============================================================================
--- trunk/GME/Core/CoreProject.h	Tue May  7 12:07:06 2013	(r2188)
+++ trunk/GME/Core/CoreProject.h	Tue May  7 12:08:03 2013	(r2189)
@@ -58,9 +58,9 @@
 
 class ATL_NO_VTABLE CCoreProject : 
 	public CComObjectRootEx<CComSingleThreadModel>,
-	public CComCoClass<CCoreProject, &CLSID_CoreProject>,
-	public IDispatchImpl<ICoreProject, &IID_ICoreProject, &LIBID_MGACoreLib>,
-	public ISupportErrorInfoImpl<&IID_ICoreProject>,
+	public CComCoClass<CCoreProject, &__uuidof(CoreProject)>,
+	public IDispatchImpl<ICoreProject, &__uuidof(ICoreProject), &__uuidof(__MGACoreLib)>,
+	public ISupportErrorInfoImpl<&__uuidof(ICoreProject)>,
 	public IGMEVersionInfoImpl
 {
 public:
@@ -74,7 +74,7 @@
 	COM_INTERFACE_ENTRY(ICoreProject)
 	COM_INTERFACE_ENTRY(IDispatch)
 	COM_INTERFACE_ENTRY(ISupportErrorInfo)
-	COM_INTERFACE_ENTRY_IID(IID_IGMEVersionInfo, IGMEVersionInfoImpl)
+	COM_INTERFACE_ENTRY_IID(__uuidof(IGMEVersionInfo), IGMEVersionInfoImpl)
 END_COM_MAP()
 
 // ------- COM methods

Modified: trunk/GME/Core/CoreTerritory.h
==============================================================================
--- trunk/GME/Core/CoreTerritory.h	Tue May  7 12:07:06 2013	(r2188)
+++ trunk/GME/Core/CoreTerritory.h	Tue May  7 12:08:03 2013	(r2189)
@@ -25,8 +25,8 @@
 
 class ATL_NO_VTABLE CCoreTerritory : 
 	public CComObjectRootEx<CComSingleThreadModel>,
-	public IDispatchImpl<ICoreTerritory, &IID_ICoreTerritory, &LIBID_MGACoreLib>,
-	public CCoreFinalTrItemImpl<&IID_ICoreTerritory>,
+	public IDispatchImpl<ICoreTerritory, &__uuidof(ICoreTerritory), &__uuidof(__MGACoreLib)>,
+	public CCoreFinalTrItemImpl<&__uuidof(ICoreTerritory)>,
 	public CCoreTransactionItem
 {
 public:

Modified: trunk/GME/Core/StdAfx.h
==============================================================================
--- trunk/GME/Core/StdAfx.h	Tue May  7 12:07:06 2013	(r2188)
+++ trunk/GME/Core/StdAfx.h	Tue May  7 12:08:03 2013	(r2189)
@@ -65,7 +65,11 @@
 #define ASSERT ATLASSERT
 
 #include "resource.h"
-#include "CoreLib.h"
+#import "CoreLib.tlb" no_implementation no_namespace raw_method_prefix("") high_method_prefix("__") no_registry
+#include "CommonImport.h"
+#define IID_ICoreDictionaryAttributeValue __uuidof(ICoreDictionaryAttributeValue)
+#define LIBID_MGACoreLib __uuidof(__MGACoreLib)
+
 #include "CommonSmart.h"
 #include "CommonStl.h"
 #include "CoreUtilities.h"

Modified: trunk/GME/Mga/MgaProject.cpp
==============================================================================
--- trunk/GME/Mga/MgaProject.cpp	Tue May  7 12:07:06 2013	(r2188)
+++ trunk/GME/Mga/MgaProject.cpp	Tue May  7 12:08:03 2013	(r2189)
@@ -530,7 +530,8 @@
 STDMETHODIMP CMgaProject::Save(BSTR newname, VARIANT_BOOL keepoldname)
 {
 	COMTRY {
-		if(baseterr) COMTHROW(E_MGA_ALREADY_IN_TRANSACTION);
+		if(baseterr)
+			COMTHROW(E_MGA_ALREADY_IN_TRANSACTION);
 		{
 			CComPtr<IMgaTerritory> t;
 			COMTHROW(CreateTerritory(NULL, &t));
@@ -558,7 +559,9 @@
 				}
 			}
 		}
-		COMTHROW(dataproject->SaveProject(newname, keepoldname));
+		HRESULT hr = dataproject->SaveProject(newname, keepoldname);
+		if (FAILED(hr))
+			return hr;
 		if(CComBSTR(newname).Length()) {
 			if (!keepoldname) {
 				projconn = newname;

Modified: trunk/GME/Mga/StdAfx.h
==============================================================================
--- trunk/GME/Mga/StdAfx.h	Tue May  7 12:07:06 2013	(r2188)
+++ trunk/GME/Mga/StdAfx.h	Tue May  7 12:08:03 2013	(r2189)
@@ -64,23 +64,6 @@
 #include "Interfaceversion.h"
 #undef cpp_quote
 
-typedef GMEInterfaceVersion_enum GMEInterfaceVersion;
-typedef long metaref_type;
-#define ATTVAL_ENUM _attval_enum
-const attrid_type ATTRID_NONE = 0;
-const attrid_type ATTRID_LOCK = 1;
-const attrid_type ATTRID_NAME = 2;
-const attrid_type ATTRID_FATHER = 3;
-const attrid_type ATTRID_COLLECTION = 10000;
-const metaid_type METAID_NONE = 0;
-const metaid_type METAID_ROOT = 1;
-
-const objid_type OBJID_NONE = 0;
-const objid_type OBJID_ROOT = 1;
-const long RELID_BASE_MAX  = 0x7FFFFFF;	//assigned to non-derived ojects
-const long RELID_VALUE_MAX = 0x7FFFFFFF;   // automatically assigned to deriveds
-
-
 // Don't load the MIDL-generated headers
 #define __Core_h__
 #define __Meta_h__

Modified: trunk/GME/Parser/StdAfx.h
==============================================================================
--- trunk/GME/Parser/StdAfx.h	Tue May  7 12:07:06 2013	(r2188)
+++ trunk/GME/Parser/StdAfx.h	Tue May  7 12:08:03 2013	(r2189)
@@ -59,8 +59,6 @@
 #define IID_IMgaDataSource __uuidof(IMgaDataSource)
 #define ATTVAL_ENUM _attval_enum
 
-static const long RELID_BASE_MAX  = 0x7FFFFFF;	//assigned to non-derived ojects
-static const long RELID_VALUE_MAX = 0x7FFFFFFF;   // automatically assigned to deriveds
 // End Imports
 
 #include "CommonSmart.h"


More information about the gme-commit mailing list