GME
13
|
00001 00002 #include "stdafx.h" 00003 #include "MgaMetaConnJoint.h" 00004 #include "MgaMetaPointerSpec.h" 00005 00006 // --------------------------- CMgaMetaConnJoint 00007 00008 // ------- Methods 00009 00010 void CMgaMetaConnJoint::Traverse(CMgaMetaProject *metaproject, CCoreObjectPtr &me) 00011 { 00012 ASSERT( metaproject != NULL ); 00013 ASSERT( me != NULL ); 00014 00015 TraverseCollection(metaproject, me, ATTRID_PTRSPECS_COLL); 00016 } 00017 00018 bool CMgaMetaConnJoint::CheckPaths(CCoreObjectPtr &self, jointpaths_type &jointpaths) 00019 { 00020 ASSERT( self != NULL ); 00021 00022 jointpaths_type::iterator i = jointpaths.begin(); 00023 jointpaths_type::iterator e = jointpaths.end(); 00024 while( i != e ) 00025 { 00026 CCoreObjectPtr spec; 00027 00028 if( FAILED(ComGetCollValueByName(i->ptrspec_name, 00029 self, ATTRID_PTRSPECS_COLL, ATTRID_PTRSPECNAME, PutOut(spec))) ) 00030 return false; 00031 00032 ASSERT( spec != NULL ); 00033 00034 if( !CMgaMetaPointerSpec::CheckPath(spec, i->pathitems, false) ) 00035 return false; 00036 00037 ++i; 00038 } 00039 00040 return true; 00041 }