#include <comp_handle.h>
Public Member Functions | |
CComponentHandle (const IVarName &comp_name, IAgent *comp_father, bool get=false) | |
CComponentHandle () | |
const IVarName * | getCompName () |
void | getComponent () |
const IObjectIA * | getValue () |
~CComponentHandle () | |
Private Attributes | |
const IObjectIA * | _Comp |
IAgent * | _CompFather |
IVarName * | _CompName |
|
Definition at line 46 of file comp_handle.h. References _Comp, and _CompFather.
00047 { 00048 _Comp = NULL; 00049 _CompFather = NULL; 00050 } |
|
Definition at line 52 of file comp_handle.h. References _CompName, and NLAIC::IPointerGestion::release().
|
|
Definition at line 60 of file comp_handle.h. References _Comp, _CompFather, _CompName, NLAIC::IBasicType::clone(), and getComponent().
00061 { 00062 _CompName = (IVarName *) comp_name.clone(); 00063 _CompFather = comp_father; 00064 if ( get ) 00065 getComponent(); 00066 else 00067 _Comp = NULL; 00068 } |
|
Definition at line 121 of file comp_handle.h. References _CompName.
00122 { 00123 return _CompName; 00124 } |
|
Definition at line 70 of file comp_handle.h. References _Comp, _CompFather, _CompName, buffer, NLAIAGENT::IBaseGroupType::get(), NLAIC::IBasicType::getDebugString(), NLAIAGENT::IObjectIA::getStaticMember(), NLAIAGENT::IObjectIA::getStaticMemberIndex(), NLAIC::IBasicType::getType(), NLAIAGENT::IAgent::getType(), param, NLAIC::IPointerGestion::release(), NLAIAGENT::IObjectIA::CProcessResult::Result, sint32, and NLAIAGENT::IBaseGroupType::size(). Referenced by CComponentHandle(), and getValue().
00071 { 00072 if ( _CompFather != NULL ) 00073 { 00074 00075 #ifdef _DEBUG 00076 const char *dbg_father_type = (const char *) _CompFather->getType(); 00077 const char *dbg_comp_name = (const char *) _CompName->getType(); 00078 std::string buffer; 00079 _CompName->getDebugString(buffer); 00080 #endif 00081 00082 // Looks in static components 00083 sint32 comp_id = _CompFather->getStaticMemberIndex( *_CompName ); 00084 if ( comp_id >= 0) 00085 _Comp = _CompFather->getStaticMember( comp_id ); 00086 else 00087 _Comp = NULL; 00088 00089 if ( _Comp == NULL ) 00090 { 00091 // Looks in dynamic component 00092 CGroupType *param = new CGroupType(); 00093 param->push( (IObjectIA *) new CStringType(*_CompName) ); 00094 IObjectIA::CProcessResult comp = ( (CAgentScript *) _CompFather)->getDynamicAgent(param); 00095 //param->pop(); 00096 delete param; 00097 NLAIAGENT::IBaseGroupType *result = (NLAIAGENT::IBaseGroupType *) comp.Result; 00098 if ( result->size() > 0 ) 00099 { 00100 _Comp = result->get(); 00101 ((IObjectIA *)_Comp)->incRef(); 00102 } 00103 else 00104 _Comp = NULL; 00105 00106 if(result != NULL) 00107 result->release(); 00108 } 00109 } 00110 } |
|
Definition at line 112 of file comp_handle.h. References _Comp, and getComponent(). Referenced by NLAIAGENT::COperatorScript::calcPriority().
00113 { 00114 if ( _Comp ) 00115 return _Comp; 00116 00117 getComponent(); 00118 return _Comp; 00119 } |
|
Definition at line 42 of file comp_handle.h. Referenced by CComponentHandle(), getComponent(), and getValue(). |
|
Definition at line 43 of file comp_handle.h. Referenced by CComponentHandle(), and getComponent(). |
|
Definition at line 41 of file comp_handle.h. Referenced by CComponentHandle(), getCompName(), getComponent(), and ~CComponentHandle(). |