[GME-commit] GMESRC/SDK/BON Builder.cpp,1.25,1.26 Builder.h,1.14,1.15

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Tue Apr 13 12:35:05 CDT 2004


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

Modified Files:
	Builder.cpp Builder.h 
Log Message:
Added Subtype/Instance support for BON (old BON)

CVS User: volgy

Index: Builder.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/SDK/BON/Builder.cpp,v
retrieving revision 1.25
retrieving revision 1.26
diff -C2 -d -r1.25 -r1.26
*** Builder.cpp	8 Nov 2003 00:09:32 -0000	1.25
--- Builder.cpp	13 Apr 2004 16:34:57 -0000	1.26
***************
*** 315,319 ****
  }
  
! CBuilderModel *CBuilderFolder::CreateNewModel(CString kindName)
  {
  	CComPtr<IMgaMetaFolder> fmeta;
--- 315,319 ----
  }
  
! CBuilderModel *CBuilderFolder::CreateNewModel(CString kindName, CBuilderModel* baseType, bool instance)
  {
  	CComPtr<IMgaMetaFolder> fmeta;
***************
*** 323,327 ****
  	ASSERT( cmeta != NULL );
  	CComPtr<IMgaFCO> i;
! 	COMVERIFY( ciFolder->CreateRootObject(cmeta ,&i) );
  	ASSERT( i != NULL );
  
--- 323,332 ----
  	ASSERT( cmeta != NULL );
  	CComPtr<IMgaFCO> i;
! 	if (baseType) {
! 		COMVERIFY( ciFolder->DeriveRootObject(baseType->GetIModel(), instance ? VARIANT_TRUE : VARIANT_FALSE ,&i) );
! 	}
! 	else {
! 		COMVERIFY( ciFolder->CreateRootObject(cmeta ,&i) );
! 	}
  	ASSERT( i != NULL );
  
***************
*** 351,355 ****
  
  
! CBuilderAtom *CBuilderFolder::CreateNewAtom(CString kindName) {
  
  	CComPtr<IMgaMetaFolder> fmeta;
--- 356,360 ----
  
  
! CBuilderAtom *CBuilderFolder::CreateNewAtom(CString kindName, CBuilderAtom* baseType, bool instance) {
  
  	CComPtr<IMgaMetaFolder> fmeta;
***************
*** 359,363 ****
  	ASSERT( cmeta != NULL );
  	CComPtr<IMgaFCO> i;
! 	COMVERIFY( ciFolder->CreateRootObject(cmeta ,&i) );
  	ASSERT( i != NULL );
  
--- 364,373 ----
  	ASSERT( cmeta != NULL );
  	CComPtr<IMgaFCO> i;
! 	if (baseType) {
! 		COMVERIFY( ciFolder->DeriveRootObject(baseType->GetIAtom(), instance ? VARIANT_TRUE : VARIANT_FALSE ,&i) );
! 	}
! 	else {
! 		COMVERIFY( ciFolder->CreateRootObject(cmeta ,&i) );
! 	}
  	ASSERT( i != NULL );
  
***************
*** 370,374 ****
  
  
! CBuilderReference *CBuilderFolder::CreateNewReference(CString kindName, CBuilderObject *refTo) {
  	IMgaFCO *i = NULL;
  	CComPtr<IMgaMetaFolder> fmeta;
--- 380,384 ----
  
  
! CBuilderReference *CBuilderFolder::CreateNewReference(CString kindName, CBuilderObject *refTo, CBuilderReference* baseType, bool instance) {
  	IMgaFCO *i = NULL;
  	CComPtr<IMgaMetaFolder> fmeta;
***************
*** 377,381 ****
  	COMVERIFY( fmeta->get_LegalRootObjectByName((CBstrIn)kindName, &cmeta) );
  	ASSERT( cmeta != NULL );
! 	COMVERIFY( ciFolder->CreateRootObject(cmeta ,&i) );
  	ASSERT( i != NULL );
  
--- 387,396 ----
  	COMVERIFY( fmeta->get_LegalRootObjectByName((CBstrIn)kindName, &cmeta) );
  	ASSERT( cmeta != NULL );
! 	if (baseType) {
! 		COMVERIFY( ciFolder->DeriveRootObject(baseType->GetIRef(), instance ? VARIANT_TRUE : VARIANT_FALSE ,&i) );
! 	}
! 	else {
! 		COMVERIFY( ciFolder->CreateRootObject(cmeta ,&i) );
! 	}
  	ASSERT( i != NULL );
  
***************
*** 477,481 ****
  }
  
! CBuilderSet *CBuilderFolder::CreateNewSet(CString kindName) {
  	CComPtr<IMgaMetaFolder> fmeta;
  	CComPtr<IMgaMetaFCO> cmeta;
--- 492,496 ----
  }
  
! CBuilderSet *CBuilderFolder::CreateNewSet(CString kindName, CBuilderSet* baseType, bool instance) {
  	CComPtr<IMgaMetaFolder> fmeta;
  	CComPtr<IMgaMetaFCO> cmeta;
***************
*** 484,488 ****
  	ASSERT( cmeta != NULL );
  	CComPtr<IMgaFCO> i;
! 	COMVERIFY( ciFolder->CreateRootObject(cmeta ,&i) );
  	ASSERT( i != NULL );
  
--- 499,508 ----
  	ASSERT( cmeta != NULL );
  	CComPtr<IMgaFCO> i;
! 	if (baseType) {
! 		COMVERIFY( ciFolder->DeriveRootObject(baseType->GetISet(), instance ? VARIANT_TRUE : VARIANT_FALSE ,&i) );
! 	}
! 	else {
! 		COMVERIFY( ciFolder->CreateRootObject(cmeta ,&i) );
! 	}
  	ASSERT( i != NULL );
  
***************
*** 1887,1891 ****
  }
  
! CBuilderModel *CBuilderModel::CreateNewModel(CString partName)
  {
  	CBuilderModelList *objectlist;
--- 1907,1911 ----
  }
  
! CBuilderModel *CBuilderModel::CreateNewModel(CString partName, CBuilderModel *baseType, bool instance)
  {
  	CBuilderModelList *objectlist;
***************
*** 1897,1901 ****
  	ASSERT(role);
  	CComPtr<IMgaFCO> i = NULL;
! 	COMVERIFY( GetIModel()->CreateChildObject(role, &i) );
  	ASSERT( i != NULL );
  
--- 1917,1927 ----
  	ASSERT(role);
  	CComPtr<IMgaFCO> i = NULL;
! 	if (baseType) {
! 		COMVERIFY(GetIModel()->DeriveChildObject(baseType->GetIModel(), role, 
! 			instance ? VARIANT_TRUE : VARIANT_FALSE, &i));
! 	}
! 	else {
! 		COMVERIFY( GetIModel()->CreateChildObject(role, &i) );
! 	}
  	ASSERT( i != NULL );
  
***************
*** 1910,1914 ****
  }
  
! CBuilderAtom *CBuilderModel::CreateNewAtom(CString partName)
  {
  	CBuilderAtomList *objectlist;
--- 1936,1940 ----
  }
  
! CBuilderAtom *CBuilderModel::CreateNewAtom(CString partName, CBuilderAtom *baseType, bool instance)
  {
  	CBuilderAtomList *objectlist;
***************
*** 1920,1924 ****
  	ASSERT(role);
  	CComPtr<IMgaFCO> i = NULL;
! 	COMVERIFY( GetIModel()->CreateChildObject(role, &i) );
  	ASSERT( i != NULL );
  
--- 1946,1956 ----
  	ASSERT(role);
  	CComPtr<IMgaFCO> i = NULL;
! 	if (baseType) {
! 		COMVERIFY(GetIModel()->DeriveChildObject(baseType->GetIAtom(), role, 
! 			instance ? VARIANT_TRUE : VARIANT_FALSE, &i));
! 	}
! 	else {
! 		COMVERIFY( GetIModel()->CreateChildObject(role, &i) );
! 	}
  	ASSERT( i != NULL );
  
***************
*** 1933,1937 ****
  
  
! CBuilderReference *CBuilderModel::CreateNewReference(CString refPartName, CBuilderObject *refTo) {
  	CBuilderReferenceList *objectlist;
  	VERIFY( referenceLists.Lookup(refPartName, objectlist) );
--- 1965,1969 ----
  
  
! CBuilderReference *CBuilderModel::CreateNewReference(CString refPartName, CBuilderObject *refTo,  CBuilderReference *baseType, bool instance) {
  	CBuilderReferenceList *objectlist;
  	VERIFY( referenceLists.Lookup(refPartName, objectlist) );
***************
*** 1942,1946 ****
  	ASSERT(role);
  	CComPtr<IMgaFCO> i = NULL;
! 	COMVERIFY( GetIModel()->CreateReference(role, refTo ? refTo->GetIObject() : NULL, &i) );
  	ASSERT( i != NULL );
  	CBuilderReference* oo = CBuilderFactory::Create(CComQIPtr<IMgaReference>(i), this);
--- 1974,1986 ----
  	ASSERT(role);
  	CComPtr<IMgaFCO> i = NULL;
! 	if (baseType) {
! 		ASSERT(refTo == NULL);
! 		COMVERIFY(GetIModel()->DeriveChildObject(baseType->GetIRef(), role, 
! 			instance ? VARIANT_TRUE : VARIANT_FALSE, &i));
! 	}
! 	else {
! 		COMVERIFY( GetIModel()->CreateReference(role, refTo ? refTo->GetIObject() : NULL, &i) );
! 	}
! 	
  	ASSERT( i != NULL );
  	CBuilderReference* oo = CBuilderFactory::Create(CComQIPtr<IMgaReference>(i), this);
***************
*** 2053,2057 ****
  }
  
! CBuilderSet *CBuilderModel::CreateNewSet(CString condPartName) {
  	CBuilderSetList *objectlist;
  	VERIFY( setLists.Lookup(condPartName, objectlist) );
--- 2093,2097 ----
  }
  
! CBuilderSet *CBuilderModel::CreateNewSet(CString condPartName, CBuilderSet *baseType, bool instance) {
  	CBuilderSetList *objectlist;
  	VERIFY( setLists.Lookup(condPartName, objectlist) );
***************
*** 2064,2068 ****
  
  	CComPtr<IMgaFCO> i;
! 	HRESULT hr = GetIModel()->CreateChildObject(role, &i);
  	CComQIPtr<IMgaSet> icond = i;
  
--- 2104,2116 ----
  
  	CComPtr<IMgaFCO> i;
! 	HRESULT hr;
! 	if (baseType) {
! 		hr = GetIModel()->DeriveChildObject(baseType->GetISet(), role, 
! 			instance ? VARIANT_TRUE : VARIANT_FALSE, &i);
! 	}
! 	else {
! 		hr = GetIModel()->CreateChildObject(role, &i);
! 	}
! 
  	CComQIPtr<IMgaSet> icond = i;
  

Index: Builder.h
===================================================================
RCS file: /var/lib/gme/GMESRC/SDK/BON/Builder.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** Builder.h	8 Nov 2003 00:09:32 -0000	1.14
--- Builder.h	13 Apr 2004 16:34:57 -0000	1.15
***************
*** 159,170 ****
  	const CBuilderFolderList *GetSubFolders() const				{ return &subfolders; }
  	CBuilderModel *GetRootModel(CString name) const;
! 	CBuilderModel *CreateNewModel(CString kindName);
  	CBuilderFolder *CreateNewFolder(CString kindName);
! 	CBuilderAtom  *CreateNewAtom(CString kindName);
  	CBuilderModelReference *CreateNewModelReference(CString kindName, CBuilderObject* refTo);
  	CBuilderAtomReference *CreateNewAtomReference(CString kindName, CBuilderObject* refTo);
! 	CBuilderReference *CreateNewReference(CString kindName, CBuilderObject* refTo);
  	CBuilderConnection *CreateNewConnection(CString kindName, CBuilderObject *src, CBuilderObject *dst);
! 	CBuilderSet *CreateNewSet(CString kindName);
  	bool GetRegistryValue(CString &path,CString &val) const;
  	bool SetRegistryValue(CString &path,CString &val) const;
--- 159,170 ----
  	const CBuilderFolderList *GetSubFolders() const				{ return &subfolders; }
  	CBuilderModel *GetRootModel(CString name) const;
! 	CBuilderModel *CreateNewModel(CString kindName, CBuilderModel* baseType = NULL, bool instance = true);
  	CBuilderFolder *CreateNewFolder(CString kindName);
! 	CBuilderAtom  *CreateNewAtom(CString kindName, CBuilderAtom* baseType = NULL, bool instance = true);
  	CBuilderModelReference *CreateNewModelReference(CString kindName, CBuilderObject* refTo);
  	CBuilderAtomReference *CreateNewAtomReference(CString kindName, CBuilderObject* refTo);
! 	CBuilderReference *CreateNewReference(CString kindName, CBuilderObject* refTo, CBuilderReference* baseType = NULL, bool instance = true);
  	CBuilderConnection *CreateNewConnection(CString kindName, CBuilderObject *src, CBuilderObject *dst);
! 	CBuilderSet *CreateNewSet(CString kindName, CBuilderSet* baseType = NULL, bool instance = true);
  	bool GetRegistryValue(CString &path,CString &val) const;
  	bool SetRegistryValue(CString &path,CString &val) const;
***************
*** 396,406 ****
  	void GetAspectNames(CStringList &list);
  
! 	CBuilderModel *CreateNewModel(CString partName);
! 	CBuilderAtom  *CreateNewAtom(CString patrName);
  	CBuilderModelReference *CreateNewModelReference(CString refPartName, CBuilderObject* refTo);
  	CBuilderAtomReference *CreateNewAtomReference(CString refPartName, CBuilderObject* refTo);
! 	CBuilderReference *CreateNewReference(CString refPartName, CBuilderObject* refTo);
  	CBuilderConnection *CreateNewConnection(CString connName, CBuilderObject *src, CBuilderObject *dst);
! 	CBuilderSet *CreateNewSet(CString condName);
  };
  
--- 396,406 ----
  	void GetAspectNames(CStringList &list);
  
! 	CBuilderModel *CreateNewModel(CString partName, CBuilderModel* baseType = NULL, bool instance = true);
! 	CBuilderAtom  *CreateNewAtom(CString patrName, CBuilderAtom* baseType = NULL, bool instance = true);
  	CBuilderModelReference *CreateNewModelReference(CString refPartName, CBuilderObject* refTo);
  	CBuilderAtomReference *CreateNewAtomReference(CString refPartName, CBuilderObject* refTo);
! 	CBuilderReference *CreateNewReference(CString refPartName, CBuilderObject* refTo, CBuilderReference* baseType = NULL, bool instance = true);
  	CBuilderConnection *CreateNewConnection(CString connName, CBuilderObject *src, CBuilderObject *dst);
! 	CBuilderSet *CreateNewSet(CString condName, CBuilderSet* baseType = NULL, bool instance = true);
  };
  
***************
*** 558,561 ****
--- 558,562 ----
  public:
  //	long GetObjId() const;
+ 	IMgaSet* GetISet() const { return CComQIPtr<IMgaSet>(ciObject); }
  	void Resolve();
  	const CBuilderModel *GetOwner() const 				{ return GetParent(); }



More information about the GME-commit mailing list