Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

ACE_Object_Node Class Reference

Keeps track of the symbol name for a shared object. More...

#include <Parse_Node.h>

Inheritance diagram for ACE_Object_Node:

Inheritance graph
[legend]
Collaboration diagram for ACE_Object_Node:

Collaboration graph
[legend]
List of all members.

Public Methods

 ACE_Object_Node (const ACE_TCHAR *pathname, const ACE_TCHAR *obj_name)
virtual void * symbol (int &yyerrno, ACE_Service_Object_Exterminator *=0)
virtual ~ACE_Object_Node (void)
void dump (void) const
 Dump the state of an object. More...


Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks. More...


Private Attributes

const ACE_TCHARobject_name_
 Name of the object that we're parsing. More...


Detailed Description

Keeps track of the symbol name for a shared object.

Note:
This class is only meant for INTERNAL use by ACE.

Definition at line 270 of file Parse_Node.h.


Constructor & Destructor Documentation

ACE_Object_Node::ACE_Object_Node const ACE_TCHAR   pathname,
const ACE_TCHAR   obj_name
 

Definition at line 411 of file Parse_Node.cpp.

References ACE_TCHAR, ACE_TRACE, ACE_Location_Node::must_delete_, ACE_Location_Node::pathname, and ACE::strnew.

00413   : object_name_ (ACE::strnew (obj_name))
00414 {
00415   ACE_TRACE ("ACE_Object_Node::ACE_Object_Node");
00416   this->pathname (ACE::strnew (path));
00417   this->must_delete_ = 0;
00418 }

ACE_Object_Node::~ACE_Object_Node void    [virtual]
 

Definition at line 448 of file Parse_Node.cpp.

References ACE_TCHAR, and ACE_TRACE.

00449 {
00450   ACE_TRACE ("ACE_Object_Node::~ACE_Object_Node");
00451   delete[] ACE_const_cast (ACE_TCHAR *, this->object_name_);
00452 }


Member Function Documentation

void ACE_Object_Node::dump void    const
 

Dump the state of an object.

Reimplemented from ACE_Location_Node.

Definition at line 406 of file Parse_Node.cpp.

References ACE_TRACE.

00407 {
00408   ACE_TRACE ("ACE_Object_Node::dump");
00409 }

void * ACE_Object_Node::symbol int &    yyerrno,
ACE_Service_Object_Exterminator   = 0
[virtual]
 

Implements ACE_Location_Node.

Definition at line 421 of file Parse_Node.cpp.

References ACE_ERROR, ACE_LIB_TEXT, ACE_Service_Object_Exterminator, ACE_TCHAR, ACE_TRACE, ACE_Location_Node::dll_, ACE_DLL::error, LM_ERROR, ACE_Location_Node::open_dll, ACE_DLL::symbol, and ACE_Location_Node::symbol_.

00423 {
00424   ACE_TRACE ("ACE_Object_Node::symbol");
00425   if (this->open_dll (yyerrno) == 0)
00426     {
00427       ACE_TCHAR *object_name = ACE_const_cast (ACE_TCHAR *, this->object_name_);
00428 
00429       this->symbol_ = this->dll_.symbol (object_name);
00430       if (this->symbol_ == 0)
00431         {
00432           yyerrno++;
00433 
00434           ACE_TCHAR *errmsg = this->dll_.error ();
00435           ACE_ERROR ((LM_ERROR,
00436                       ACE_LIB_TEXT ("ACE_DLL::symbol failed for object %s: %s\n"),
00437                       object_name,
00438                       errmsg ? errmsg : ACE_LIB_TEXT ("no error reported")));
00439           return 0;
00440         }
00441 
00442       return this->symbol_;
00443     }
00444 
00445   return 0;
00446 }


Member Data Documentation

ACE_Object_Node::ACE_ALLOC_HOOK_DECLARE
 

Declare the dynamic allocation hooks.

Reimplemented from ACE_Location_Node.

Definition at line 282 of file Parse_Node.h.

const ACE_TCHAR* ACE_Object_Node::object_name_ [private]
 

Name of the object that we're parsing.

Definition at line 286 of file Parse_Node.h.


The documentation for this class was generated from the following files:
Generated on Mon Jun 16 12:51:19 2003 for ACE by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002