[GME-commit] GMESRC/GME/Mga MgaComplexOps.cpp, 1.22, 1.23 MgaConnection.cpp, 1.18, 1.19 MgaFCO.h, 1.30, 1.31 MgaFolder.cpp, 1.35, 1.36 MgaFolder.h, 1.10, 1.11 MgaModel.h, 1.7, 1.8 MgaProject.cpp, 1.73, 1.74 MgaProject.h, 1.35, 1.36 MgaReference.h, 1.6, 1.7
Log messages of CVS commits
gme-commit at list.isis.vanderbilt.edu
Tue Apr 15 14:25:52 CDT 2008
- Previous message: [GME-commit] GMESRC/GME/Interfaces Gme.idl, 1.26, 1.27 InterfaceVersion.h, 1.77, 1.78 Mga.idl, 1.54, 1.55
- Next message: [GME-commit] GMESRC/GME/Gme GMEOLEIt.cpp, 1.9, 1.10 GMEOLEIt.h, 1.6, 1.7
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /project/gme-repository/GMESRC/GME/Mga
In directory escher:/tmp/cvs-serv30118
Modified Files:
MgaComplexOps.cpp MgaConnection.cpp MgaFCO.h MgaFolder.cpp
MgaFolder.h MgaModel.h MgaProject.cpp MgaProject.h
MgaReference.h
Log Message:
Improved on Dispatch interface compatibility.
CopyFCO, MoveFCO callable without a MgaFCos collection,
CreateSimpleConnDisp also callable without the refchain (now with just 1 ref).
BeginTransactionInNewTerr returns a new territory as a return value, and is dispatch compatible from JScript too.
CVS User: Zoltan Molnar, ISIS (zolmol)
Index: MgaFolder.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Mga/MgaFolder.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** MgaFolder.h 26 Sep 2007 20:21:47 -0000 1.10
--- MgaFolder.h 15 Apr 2008 19:25:50 -0000 1.11
***************
*** 64,67 ****
--- 64,71 ----
STDMETHOD(CopyFolders)(IMgaFolders *list, IMgaFolders **objs) { return inFCO->CopyFolders(list, /*NULL,*/ objs); }
STDMETHOD(MoveFolders)(IMgaFolders *list, IMgaFolders **objs) { return inFCO->MoveFolders(list, /*NULL,*/ objs); }
+ STDMETHOD(CopyFCODisp)(IMgaFCO *obj, IMgaFCO **nobj) { return inFCO->CopyFCODisp( obj, NULL, nobj); }
+ STDMETHOD(MoveFCODisp)(IMgaFCO *obj, IMgaFCO **nobj) { return inFCO->MoveFCODisp( obj, NULL, nobj); }
+ STDMETHOD(CopyFolderDisp)(IMgaFolder *fol, IMgaFolder **nfol) { return inFCO->CopyFolderDisp( fol, nfol); }
+ STDMETHOD(MoveFolderDisp)(IMgaFolder *fol, IMgaFolder **nfol) { return inFCO->MoveFolderDisp( fol, nfol); }
//STDMETHOD(MoveFCOsAndFolders)(IMgaFolders *list, IMgaFCOs *list2, IMgaFolders **objs, IMgaFCOs **objs2) { return inFCO->MoveFCOsAndFolders(list, list2, objs, objs2); }
STDMETHOD(RefreshParent)(IMgaFolder *parent) { return inFCO->RefreshParent( parent); }
Index: MgaReference.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Mga/MgaReference.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** MgaReference.h 26 Jan 2005 17:30:47 -0000 1.6
--- MgaReference.h 15 Apr 2008 19:25:50 -0000 1.7
***************
*** 40,43 ****
--- 40,44 ----
STDMETHOD(CompareToBase)(short *status) { return inFCO->RefCompareToBase(status); }
STDMETHOD(RevertToBase)() { return inFCO->RefRevertToBase(); }
+ STDMETHOD(ClearRef)() { return inFCO->put_Referred( 0); }
};
Index: MgaFolder.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Mga/MgaFolder.cpp,v
retrieving revision 1.35
retrieving revision 1.36
diff -C2 -d -r1.35 -r1.36
*** MgaFolder.cpp 26 Sep 2007 20:21:47 -0000 1.35
--- MgaFolder.cpp 15 Apr 2008 19:25:50 -0000 1.36
***************
*** 241,244 ****
--- 241,290 ----
}
+ HRESULT FCO::CopyFolderDisp(IMgaFolder *copyfold, IMgaFolder **nobj)
+ {
+ COMTRY_IN_TRANSACTION {
+ CComPtr<IMgaFolder> new_fol;
+
+ // copy in param to a folder coll
+ CREATEEXCOLLECTION_FOR(MgaFolder, q);
+ q->Add( CComPtr<IMgaFolder>( copyfold));
+
+ CComPtr<IMgaFolders> newfols;
+ CopyFolders( q, &newfols);
+
+ // extract ret value from returned coll
+ long cnt = 0;
+ if( newfols) COMTHROW( newfols->get_Count( &cnt));
+ if( cnt == 1) COMTHROW( newfols->get_Item( 1, &new_fol));
+
+ if( nobj) {
+ *nobj = new_fol.Detach();
+ }
+ } COMCATCH_IN_TRANSACTION(;);
+ }
+
+ HRESULT FCO::MoveFolderDisp(IMgaFolder *movefold, IMgaFolder **nobj)
+ {
+ COMTRY_IN_TRANSACTION {
+ CComPtr<IMgaFolder> new_fol;
+
+ // copy in param to a folder coll
+ CREATEEXCOLLECTION_FOR(MgaFolder, q);
+ q->Add( CComPtr<IMgaFolder>( movefold));
+
+ CComPtr<IMgaFolders> newfols;
+ MoveFolders( q, &newfols);
+
+ // extract ret value from returned coll
+ long cnt = 0;
+ if( newfols) COMTHROW( newfols->get_Count( &cnt));
+ if( cnt == 1) COMTHROW( newfols->get_Item( 1, &new_fol));
+
+ if( nobj) {
+ *nobj = new_fol.Detach();
+ }
+ } COMCATCH_IN_TRANSACTION(;);
+ }
+
HRESULT FCO::RefreshParent( IMgaFolder * folder)
{
Index: MgaModel.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Mga/MgaModel.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** MgaModel.h 26 Sep 2007 20:21:47 -0000 1.7
--- MgaModel.h 15 Apr 2008 19:25:50 -0000 1.8
***************
*** 55,60 ****
--- 55,67 ----
STDMETHOD(MoveFCOs)(IMgaFCOs *list, IMgaMetaRoles *rlist, IMgaFCOs **objs) {
return inFCO->MoveFCOs(list, rlist, objs); }
+ STDMETHOD(CopyFCODisp)(IMgaFCO *obj, IMgaMetaRole *role, IMgaFCO **nobj) {
+ return inFCO->CopyFCODisp( obj, role, nobj); }
+ STDMETHOD(MoveFCODisp)(IMgaFCO *obj, IMgaMetaRole *role, IMgaFCO **nobj) {
+ return inFCO->MoveFCODisp( obj, role, nobj); }
STDMETHOD(CreateSimpleConn)( IMgaMetaRole *meta, IMgaFCO *src, IMgaFCO *dst, IMgaFCOs *srcrefs, IMgaFCOs *dstrefs, IMgaFCO **newobj) {
return inFCO->CreateSimpleConn(meta, src, dst, srcrefs, dstrefs, newobj); }
+ STDMETHOD(CreateSimpleConnDisp)( IMgaMetaRole *meta, IMgaFCO *src, IMgaFCO *dst, IMgaFCO *srcref, IMgaFCO *dstref, IMgaFCO **newobj) {
+ return inFCO->CreateSimpleConnDisp(meta, src, dst, srcref, dstref, newobj); }
+ STDMETHOD(CreateSimplerConnDisp)( IMgaMetaRole *meta, IMgaFCO *src, IMgaFCO *dst, IMgaFCO **newobj) { return CreateSimpleConnDisp(meta, src, dst, 0, 0, newobj); }
STDMETHOD(AddInternalConnections)(IMgaFCOs *inobjs, IMgaFCOs **objs) {
return inFCO->AddInternalConnections(inobjs, objs);}
Index: MgaComplexOps.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Mga/MgaComplexOps.cpp,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -d -r1.22 -r1.23
*** MgaComplexOps.cpp 9 Oct 2006 18:07:50 -0000 1.22
--- MgaComplexOps.cpp 15 Apr 2008 19:25:50 -0000 1.23
***************
*** 1056,1059 ****
--- 1056,1082 ----
}
+ HRESULT FCO::CopyFCODisp(IMgaFCO *copiedobj, IMgaMetaRole *role, IMgaFCO **nobj)
+ {
+ COMTRY_IN_TRANSACTION {
+ CComPtr<IMgaFCO> new_fco;
+
+ // copy in param to a folder coll
+ CREATEEXCOLLECTION_FOR(MgaFCO, q);
+ q->Add( CComPtr<IMgaFCO>( copiedobj));
+
+ CComPtr<IMgaFCOs> newfcos;
+ CopyFCOs( q, 0, &newfcos);
+
+ // extract ret value from returned coll
+ long cnt = 0;
+ if( newfcos) COMTHROW( newfcos->get_Count( &cnt));
+ if( cnt == 1) COMTHROW( newfcos->get_Item( 1, &new_fco));
+
+ if( nobj) {
+ *nobj = new_fco.Detach();
+ }
+ } COMCATCH_IN_TRANSACTION(;);
+ }
+
/////////////////////////////////////////////////////////////////////////////////////////////////////
***************
*** 1364,1368 ****
--- 1387,1412 ----
}
+ HRESULT FCO::MoveFCODisp(IMgaFCO *movedobj, IMgaMetaRole *role, IMgaFCO **nobj)
+ {
+ COMTRY_IN_TRANSACTION {
+ CComPtr<IMgaFCO> new_fco;
+ // copy in param to a folder coll
+ CREATEEXCOLLECTION_FOR(MgaFCO, q);
+ q->Add( CComPtr<IMgaFCO>( movedobj));
+
+ CComPtr<IMgaFCOs> newfcos;
+ MoveFCOs( q, 0, &newfcos);
+
+ // extract ret value from returned coll
+ long cnt = 0;
+ if( newfcos) COMTHROW( newfcos->get_Count( &cnt));
+ if( cnt == 1) COMTHROW( newfcos->get_Item( 1, &new_fco));
+
+ if( nobj) {
+ *nobj = new_fco.Detach();
+ }
+ } COMCATCH_IN_TRANSACTION(;);
+ }
Index: MgaConnection.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Mga/MgaConnection.cpp,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** MgaConnection.cpp 26 Jun 2006 13:49:26 -0000 1.18
--- MgaConnection.cpp 15 Apr 2008 19:25:50 -0000 1.19
***************
*** 98,101 ****
--- 98,113 ----
}
+ HRESULT FCO::CreateSimpleConnDisp( IMgaMetaRole *metar
+ , IMgaFCO *srcobj, IMgaFCO *dstobj
+ , IMgaFCO *srcref, IMgaFCO *dstref
+ , IMgaFCO **newobj)
+ {
+ CREATEEXCOLLECTION_FOR(MgaFCO, srcrefs);
+ CREATEEXCOLLECTION_FOR(MgaFCO, dstrefs);
+ if( srcrefs && srcref) srcrefs->Add( CComPtr<IMgaFCO>( srcref));
+ if( dstrefs && dstref) dstrefs->Add( CComPtr<IMgaFCO>( dstref));
+
+ return CreateSimpleConn( metar, srcobj, dstobj, srcrefs, dstrefs, newobj);
+ }
Index: MgaFCO.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Mga/MgaFCO.h,v
retrieving revision 1.30
retrieving revision 1.31
diff -C2 -d -r1.30 -r1.31
*** MgaFCO.h 26 Sep 2007 20:21:47 -0000 1.30
--- MgaFCO.h 15 Apr 2008 19:25:50 -0000 1.31
***************
*** 431,434 ****
--- 431,436 ----
HRESULT CopyFolders(IMgaFolders *copylist, IMgaFolders **objs);
HRESULT MoveFolders(IMgaFolders *copylist, IMgaFolders **objs);
+ HRESULT CopyFolderDisp(IMgaFolder *copyfold, IMgaFolder **nobj);
+ HRESULT MoveFolderDisp(IMgaFolder *movefold, IMgaFolder **nobj);
HRESULT RefreshParent( IMgaFolder * f);
***************
*** 440,443 ****
--- 442,447 ----
HRESULT CreateSimpleConn( IMgaMetaRole *metar, IMgaFCO *src, IMgaFCO *dst,
IMgaFCOs *srcrefs, IMgaFCOs *dstrefs, IMgaFCO **newobj);
+ HRESULT CreateSimpleConnDisp( IMgaMetaRole *metar, IMgaFCO *src, IMgaFCO *dst,
+ IMgaFCO *srcref, IMgaFCO *dstref, IMgaFCO **newobj);
// FOLDER & MODEL
***************
*** 449,452 ****
--- 453,458 ----
HRESULT CopyFCOs(IMgaFCOs *copylist, IMgaMetaRoles *rlist, IMgaFCOs **objs);
HRESULT MoveFCOs(IMgaFCOs *copylist, IMgaMetaRoles *rlist, IMgaFCOs **objs);
+ HRESULT CopyFCODisp(IMgaFCO *obj, IMgaMetaRole *role, IMgaFCO **nobj);
+ HRESULT MoveFCODisp(IMgaFCO *obj, IMgaMetaRole *role, IMgaFCO **nobj);
HRESULT DeriveFCO(IMgaFCO *base, IMgaMetaRole *role, VARIANT_BOOL instance, IMgaFCO** newobj);
HRESULT AddInternalConnections(IMgaFCOs *inobjs, IMgaFCOs **objs);
Index: MgaProject.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Mga/MgaProject.h,v
retrieving revision 1.35
retrieving revision 1.36
diff -C2 -d -r1.35 -r1.36
*** MgaProject.h 13 Feb 2008 21:23:58 -0000 1.35
--- MgaProject.h 15 Apr 2008 19:25:50 -0000 1.36
***************
*** 104,107 ****
--- 104,108 ----
STDMETHOD(EnableAutoAddOns)(VARIANT_BOOL bEnable);
STDMETHOD(BeginTransaction)(IMgaTerritory *, transactiontype_enum mode);
+ STDMETHOD(BeginTransactionInNewTerr)(transactiontype_enum mode, IMgaTerritory **);
STDMETHOD(AbortTransaction)();
STDMETHOD(get_ProjectStatus)(long *stat);
Index: MgaProject.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Mga/MgaProject.cpp,v
retrieving revision 1.73
retrieving revision 1.74
diff -C2 -d -r1.73 -r1.74
*** MgaProject.cpp 13 Feb 2008 21:23:58 -0000 1.73
--- MgaProject.cpp 15 Apr 2008 19:25:50 -0000 1.74
***************
*** 1301,1304 ****
--- 1301,1322 ----
}
+ STDMETHODIMP CMgaProject::BeginTransactionInNewTerr( transactiontype_enum mode, IMgaTerritory **ter)
+ {
+ COMTRY {
+ if(baseterr) COMTHROW(E_MGA_ALREADY_IN_TRANSACTION);
+
+ // create a new territory
+ CComPtr<IMgaTerritory> ttemp;
+ CreateTerritory(NULL,&ttemp);
+
+ // begin transaction
+ BeginTransaction( ttemp, mode);
+
+ // [out, return] parameter
+ *ter = ttemp.Detach();
+ }
+ COMCATCH(;);
+ }
+
STDMETHODIMP CMgaProject::CommitTransaction()
{
- Previous message: [GME-commit] GMESRC/GME/Interfaces Gme.idl, 1.26, 1.27 InterfaceVersion.h, 1.77, 1.78 Mga.idl, 1.54, 1.55
- Next message: [GME-commit] GMESRC/GME/Gme GMEOLEIt.cpp, 1.9, 1.10 GMEOLEIt.h, 1.6, 1.7
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the GME-commit
mailing list