|
From: Robert L. <rle...@us...> - 2007-03-08 13:38:57
|
Update of /cvsroot/ccmtools/ccmtools/src/templates/CppLocalTemplates In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv11158/src/templates/CppLocalTemplates Modified Files: MProvidesDefAdapterVariableInit MProvidesDefGetFacetPointerInit MComponentDef MUsesDefAdapterDefinition MUsesDefAdapterDefinitionMultiple MProvidesDefAdapterDefinition MUsesDefAdapterVariableInit MProvidesDefGetFacetDefinition MProvidesDefImplRemove Log Message: new prototype Index: MProvidesDefAdapterVariableInit =================================================================== RCS file: /cvsroot/ccmtools/ccmtools/src/templates/CppLocalTemplates/MProvidesDefAdapterVariableInit,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** MProvidesDefAdapterVariableInit 5 Jan 2007 14:17:25 -0000 1.10 --- MProvidesDefAdapterVariableInit 8 Mar 2007 13:38:50 -0000 1.11 *************** *** 1,5 **** ! %(Identifier)s_facet_impl = local_component->get_%(Identifier)s(); ! %(Identifier)s_facet = %(ProvidesType)s::SmartPtr( ! new %(GenProvidesType)sAdapter(%(Identifier)s_facet_impl)); --- 1,3 ---- ! %(Identifier)s_facet_impl = NULL; Index: MUsesDefAdapterDefinitionMultiple =================================================================== RCS file: /cvsroot/ccmtools/ccmtools/src/templates/CppLocalTemplates/MUsesDefAdapterDefinitionMultiple,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** MUsesDefAdapterDefinitionMultiple 5 Mar 2007 09:21:21 -0000 1.14 --- MUsesDefAdapterDefinitionMultiple 8 Mar 2007 13:38:50 -0000 1.15 *************** *** 7,15 **** throw ::Components::InvalidConnection(); } ! stringstream s; ! s << "CCM_%(Identifier)s:" << %(Identifier)s_receptacle_counter++; ! ::Components::Cookie ck(s.str()); ! %(Identifier)s_receptacles.insert(make_pair(ck, f)); ! return ck; } --- 7,24 ---- throw ::Components::InvalidConnection(); } ! if(delegator) ! { ! ::Components::Cookie ck = delegator->connect("%(Identifier)s", f); ! %(Identifier)s_receptacles.insert(make_pair(ck, f)); ! return ck; ! } ! else ! { ! std::stringstream s; ! s << "CCM_" "%(Identifier)s" ":" << %(Identifier)s_receptacle_counter++; ! ::Components::Cookie ck(s.str()); ! %(Identifier)s_receptacles.insert(make_pair(ck, f)); ! return ck; ! } } *************** *** 22,34 **** throw ::Components::InvalidConnection(); } ! if(%(Identifier)s_receptacles.find(ck) != %(Identifier)s_receptacles.end()) { ! %(UsesType)s::SmartPtr f(%(Identifier)s_receptacles[ck]); %(Identifier)s_receptacles.erase(ck); return f; ! } ! else { ! throw ::Components::InvalidConnection(); } } --- 31,53 ---- throw ::Components::InvalidConnection(); } ! if(delegator) { ! delegator->disconnect("%(Identifier)s", ck); ! %(UsesType)s::SmartPtr f = %(Identifier)s_receptacles[ck]; %(Identifier)s_receptacles.erase(ck); return f; ! } ! else { ! if(%(Identifier)s_receptacles.find(ck) != %(Identifier)s_receptacles.end()) ! { ! %(UsesType)s::SmartPtr f = %(Identifier)s_receptacles[ck]; ! %(Identifier)s_receptacles.erase(ck); ! return f; ! } ! else ! { ! throw ::Components::InvalidConnection(); ! } } } Index: MProvidesDefAdapterDefinition =================================================================== RCS file: /cvsroot/ccmtools/ccmtools/src/templates/CppLocalTemplates/MProvidesDefAdapterDefinition,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** MProvidesDefAdapterDefinition 5 Jan 2007 14:17:25 -0000 1.10 --- MProvidesDefAdapterDefinition 8 Mar 2007 13:38:50 -0000 1.11 *************** *** 6,9 **** --- 6,24 ---- throw ::Components::InvalidConnection(); } + if(!%(Identifier)s_facet) + { + if(delegator) + { + ::Components::Object::SmartPtr o = delegator->provide("%(Identifier)s"); + if(o) + { + %(Identifier)s_facet.eat(dynamic_cast< %(ProvidesType)s*>(o.ptr())); + return %(Identifier)s_facet; + } + } + %(Identifier)s_facet_impl = local_component->get_%(Identifier)s(); + %(Identifier)s_facet = %(ProvidesType)s::SmartPtr( + new %(GenProvidesType)sAdapter(%(Identifier)s_facet_impl)); + } return %(Identifier)s_facet; } Index: MProvidesDefGetFacetPointerInit =================================================================== RCS file: /cvsroot/ccmtools/ccmtools/src/templates/CppLocalTemplates/MProvidesDefGetFacetPointerInit,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MProvidesDefGetFacetPointerInit 21 Feb 2007 16:04:48 -0000 1.1 --- MProvidesDefGetFacetPointerInit 8 Mar 2007 13:38:50 -0000 1.2 *************** *** 1 **** --- 1,2 ---- %(Identifier)s_ = NULL; + Index: MProvidesDefImplRemove =================================================================== RCS file: /cvsroot/ccmtools/ccmtools/src/templates/CppLocalTemplates/MProvidesDefImplRemove,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** MProvidesDefImplRemove 3 Jan 2007 10:04:22 -0000 1.7 --- MProvidesDefImplRemove 8 Mar 2007 13:38:51 -0000 1.8 *************** *** 1,4 **** ! (dynamic_cast< %(GenProvidesType)sAdapter* >( ! %(Identifier)s_facet.ptr()))->validConnection(false); --- 1,8 ---- ! { ! %(GenProvidesType)sAdapter* a = ! dynamic_cast< %(GenProvidesType)sAdapter* >(%(Identifier)s_facet.ptr()); ! if(a) ! a->validConnection(false); ! } Index: MUsesDefAdapterDefinition =================================================================== RCS file: /cvsroot/ccmtools/ccmtools/src/templates/CppLocalTemplates/MUsesDefAdapterDefinition,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** MUsesDefAdapterDefinition 5 Mar 2007 09:21:21 -0000 1.14 --- MUsesDefAdapterDefinition 8 Mar 2007 13:38:50 -0000 1.15 *************** *** 7,15 **** throw ::Components::InvalidConnection(); } ! if(%(Identifier)s_receptacle) ! { ! throw ::Components::AlreadyConnected(); ! } ! %(Identifier)s_receptacle = f; } --- 7,22 ---- throw ::Components::InvalidConnection(); } ! if(delegator) ! { ! delegator->connect("%(Identifier)s", f); ! } ! else ! { ! if(%(Identifier)s_receptacle) ! { ! throw ::Components::AlreadyConnected(); ! } ! } ! %(Identifier)s_receptacle = f; } *************** *** 22,33 **** throw ::Components::InvalidConnection(); } ! if(!%(Identifier)s_receptacle) ! { ! throw ::Components::NoConnection(); ! } ! // local_component->disconnect("%(Identifier)s"); ! %(UsesType)s::SmartPtr f = %(Identifier)s_receptacle; ! %(Identifier)s_receptacle.forget(); ! return f; } --- 29,46 ---- throw ::Components::InvalidConnection(); } ! if(delegator) ! { ! delegator->disconnect("%(Identifier)s"); ! } ! else ! { ! if(!%(Identifier)s_receptacle) ! { ! throw ::Components::NoConnection(); ! } ! } ! %(UsesType)s::SmartPtr f = %(Identifier)s_receptacle; ! %(Identifier)s_receptacle.forget(); ! return f; } Index: MUsesDefAdapterVariableInit =================================================================== RCS file: /cvsroot/ccmtools/ccmtools/src/templates/CppLocalTemplates/MUsesDefAdapterVariableInit,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** MUsesDefAdapterVariableInit 5 Jan 2007 14:17:25 -0000 1.4 --- MUsesDefAdapterVariableInit 8 Mar 2007 13:38:51 -0000 1.5 *************** *** 1,3 **** - %(Identifier)s_receptacle = %(CCMUsesType)s::SmartPtr(); - --- 1 ---- Index: MProvidesDefGetFacetDefinition =================================================================== RCS file: /cvsroot/ccmtools/ccmtools/src/templates/CppLocalTemplates/MProvidesDefGetFacetDefinition,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** MProvidesDefGetFacetDefinition 27 Feb 2007 15:19:23 -0000 1.9 --- MProvidesDefGetFacetDefinition 8 Mar 2007 13:38:51 -0000 1.10 *************** *** 6,13 **** %(ComponentType)s_impl::get_%(Identifier)s() { ! %(ComponentType)s_%(Identifier)s_impl* facet = ! new %(ComponentType)s_%(Identifier)s_impl(this); ! %(AssemblyGetFacetCode)s ! %(Identifier)s_ = dynamic_cast< %(CCMProvidesType)s* >(facet); return %(Identifier)s_; } --- 6,15 ---- %(ComponentType)s_impl::get_%(Identifier)s() { ! if(%(Identifier)s_==NULL) ! { ! %(ComponentType)s_%(Identifier)s_impl* facet = ! new %(ComponentType)s_%(Identifier)s_impl(this); ! %(Identifier)s_ = dynamic_cast< %(CCMProvidesType)s* >(facet); ! } return %(Identifier)s_; } Index: MComponentDef =================================================================== RCS file: /cvsroot/ccmtools/ccmtools/src/templates/CppLocalTemplates/MComponentDef,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** MComponentDef 5 Mar 2007 09:21:21 -0000 1.28 --- MComponentDef 8 Mar 2007 13:38:50 -0000 1.29 *************** *** 95,98 **** --- 95,99 ---- ::Components::Assembly::SmartPtr assembly; bool ValidConnection; + ::Components::ComponentDelegator* delegator; %(MProvidesDefAdapterVariable)s *************** *** 175,179 **** { context = NULL; ! ValidConnection = true; %(MProvidesDefAdapterVariableInit)s %(MUsesDefAdapterVariableInit)s --- 176,181 ---- { context = NULL; ! ValidConnection = local_component!=NULL; ! delegator = dynamic_cast< ::Components::ComponentDelegator*>(local_component); %(MProvidesDefAdapterVariableInit)s %(MUsesDefAdapterVariableInit)s *************** *** 405,409 **** #include <%(ComponentInclude)s_share.h> - %(AssemblyInnerComponentInclude)s %(OpenNamespace)s --- 407,410 ---- *************** *** 427,431 **** %(MAttributeDefVariable)s %(MSupportsDefVariable)s ! %(AssemblyInnerComponentVariable)s bool ccm_activate_ok; --- 428,432 ---- %(MAttributeDefVariable)s %(MSupportsDefVariable)s ! %(AssemblyImplVariable)s bool ccm_activate_ok; *************** *** 479,483 **** #include "%(Identifier)s_impl.h" %(MProvidesDefImplInclude)s ! %(AssemblyInnerHomeInclude)s %(OpenNamespace)s --- 480,484 ---- #include "%(Identifier)s_impl.h" %(MProvidesDefImplInclude)s ! %(AssemblyInnerComponentInclude)s %(OpenNamespace)s |