[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