#include <Parse_Node.h>
Inheritance diagram for ACE_Static_Function_Node:
Public Member Functions | |
ACE_Static_Function_Node (const ACE_TCHAR *func_name) | |
virtual void * | symbol (ACE_Service_Gestalt *config, int &yyerrno, ACE_Service_Object_Exterminator *=0) |
virtual | ~ACE_Static_Function_Node (void) |
void | dump (void) const |
Dump the state of an object. | |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. | |
Private Member Functions | |
ACE_Static_Function_Node (const ACE_Static_Function_Node &) | |
ACE_Static_Function_Node & | operator= (const ACE_Static_Function_Node &) |
Private Attributes | |
const ACE_TCHAR * | function_name_ |
Name of the function that we're parsing. |
For internal use only.
Definition at line 455 of file Parse_Node.h.
|
Definition at line 692 of file Parse_Node.cpp. References ACE_TCHAR, and ACE_TRACE.
00693 : function_name_ (ACE::strnew (func_name)) 00694 { 00695 ACE_TRACE ("ACE_Static_Function_Node::ACE_Static_Function_Node"); 00696 this->must_delete_ = 1; 00697 } |
|
Definition at line 753 of file Parse_Node.cpp. References ACE_TRACE.
00754 { 00755 ACE_TRACE ("ACE_Static_Function_Node::~ACE_Static_Function_Node"); 00756 delete[] const_cast<ACE_TCHAR *> (this->function_name_); 00757 } |
|
|
|
Dump the state of an object.
Reimplemented from ACE_Location_Node. Definition at line 685 of file Parse_Node.cpp. References ACE_TRACE.
00686 { 00687 #if defined (ACE_HAS_DUMP) 00688 ACE_TRACE ("ACE_Static_Function_Node::dump"); 00689 #endif /* ACE_HAS_DUMP */ 00690 } |
|
|
|
Will update the yyerrno member and/or corresponding configuration repository Implements ACE_Location_Node. Definition at line 700 of file Parse_Node.cpp. References ACE_ERROR_RETURN, ACE_LIB_TEXT, ACE_Service_Object_Exterminator, ACE_TRACE, ACE_Static_Svc_Descriptor::alloc_, ACE_Service_Gestalt::find_static_svc_descriptor(), and LM_ERROR.
00703 { 00704 ACE_TRACE ("ACE_Static_Function_Node::symbol"); 00705 00706 this->symbol_ = 0; 00707 00708 // Locate the factory function <function_name> in the statically 00709 // linked svcs. 00710 00711 ACE_Static_Svc_Descriptor *ssd = 0; 00712 if (config->find_static_svc_descriptor (this->function_name_, &ssd) == -1) 00713 { 00714 yyerrno++; 00715 ACE_ERROR_RETURN ((LM_ERROR, 00716 ACE_LIB_TEXT ("(%P|%t) No static service ") 00717 ACE_LIB_TEXT ("registered for function %s\n"), 00718 this->function_name_), 00719 0); 00720 } 00721 00722 if (ssd->alloc_ == 0) 00723 { 00724 yyerrno++; 00725 00726 if (this->symbol_ == 0) 00727 { 00728 ++yyerrno; 00729 00730 ACE_ERROR_RETURN ((LM_ERROR, 00731 ACE_LIB_TEXT ("(%P|%t) No static service factory ") 00732 ACE_LIB_TEXT ("function registered for function %s\n"), 00733 this->function_name_), 00734 0); 00735 } 00736 } 00737 00738 // Invoke the factory function and record it's return value. 00739 this->symbol_ = (*ssd->alloc_) (gobbler); 00740 00741 if (this->symbol_ == 0) 00742 { 00743 ++yyerrno; 00744 ACE_ERROR_RETURN ((LM_ERROR, 00745 ACE_LIB_TEXT ("%p\n"), 00746 this->function_name_), 00747 0); 00748 } 00749 00750 return this->symbol_; 00751 } |
|
Declare the dynamic allocation hooks.
Reimplemented from ACE_Location_Node. Definition at line 468 of file Parse_Node.h. |
|
Name of the function that we're parsing.
Definition at line 472 of file Parse_Node.h. |