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

ACE_Location_Node Class Reference

Keep track of where a shared library is located. More...

#include <Parse_Node.h>

Inheritance diagram for ACE_Location_Node:

Inheritance graph
[legend]
Collaboration diagram for ACE_Location_Node:

Collaboration graph
[legend]
List of all members.

Public Methods

 ACE_Location_Node (void)
virtual void * symbol (int &yyerrno, ACE_Service_Object_Exterminator *=0)=0
virtual void set_symbol (void *h)
const ACE_DLLdll (void)
const ACE_TCHARpathname (void) const
void pathname (const ACE_TCHAR *h)
int dispose (void) const
virtual ~ACE_Location_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...


Protected Methods

int open_dll (int &yyerrno)

Protected Attributes

const ACE_TCHARpathname_
 Pathname to the shared library we are working on. More...

int must_delete_
ACE_DLL dll_
 The open shared library. More...

void * symbol_
 Symbol that we've obtained from the shared library. More...


Detailed Description

Keep track of where a shared library is located.

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

Definition at line 223 of file Parse_Node.h.


Constructor & Destructor Documentation

ACE_Location_Node::ACE_Location_Node void   
 

Definition at line 336 of file Parse_Node.cpp.

References ACE_TRACE.

00337   : pathname_ (0),
00338     symbol_ (0)
00339 {
00340   ACE_TRACE ("ACE_Location_Node::ACE_Location_Node");
00341 }

ACE_Location_Node::~ACE_Location_Node void    [virtual]
 

Definition at line 343 of file Parse_Node.cpp.

References ACE_TRACE.

00344 {
00345   ACE_TRACE ("ACE_Location_Node::~ACE_Location_Node");
00346 }


Member Function Documentation

int ACE_Location_Node::dispose void    const
 

Definition at line 376 of file Parse_Node.cpp.

References ACE_TRACE, and must_delete_.

Referenced by ace_yyparse.

00377 {
00378   ACE_TRACE ("ACE_Location_Node::dispose");
00379   return this->must_delete_;
00380 }

const ACE_DLL & ACE_Location_Node::dll void   
 

Definition at line 349 of file Parse_Node.cpp.

References dll_.

00350 {
00351   return this->dll_;
00352 }

void ACE_Location_Node::dump void    const
 

Dump the state of an object.

Reimplemented in ACE_Object_Node.

Definition at line 331 of file Parse_Node.cpp.

References ACE_TRACE.

00332 {
00333   ACE_TRACE ("ACE_Location_Node::dump");
00334 }

int ACE_Location_Node::open_dll int &    yyerrno [protected]
 

Definition at line 383 of file Parse_Node.cpp.

References ACE_ERROR, ACE_LIB_TEXT, ACE_TCHAR, ACE_TRACE, dll_, ACE_DLL::error, LM_ERROR, and ACE_DLL::open.

Referenced by ACE_Function_Node::symbol, and ACE_Object_Node::symbol.

00384 {
00385   ACE_TRACE ("ACE_Location_Node::open_dll");
00386 
00387   if (-1 == this->dll_.open (this->pathname ()))
00388     {
00389       yyerrno++;
00390 
00391       ACE_TCHAR *errmsg = this->dll_.error ();
00392       ACE_ERROR ((LM_ERROR,
00393                   ACE_LIB_TEXT ("ACE_DLL::open failed for %s: %s\n"),
00394                   this->pathname (),
00395                   errmsg ? errmsg : ACE_LIB_TEXT ("no error reported")));
00396       return -1;
00397     }
00398 
00399   return 0;
00400 
00401 }

void ACE_Location_Node::pathname const ACE_TCHAR   h
 

Definition at line 362 of file Parse_Node.cpp.

References ACE_TCHAR, ACE_TRACE, and pathname_.

00363 {
00364   ACE_TRACE ("ACE_Location_Node::pathname");
00365   this->pathname_ = p;
00366 }

const ACE_TCHAR * ACE_Location_Node::pathname void    const
 

Definition at line 355 of file Parse_Node.cpp.

References ACE_TRACE, and pathname_.

Referenced by ACE_Function_Node::ACE_Function_Node, and ACE_Object_Node::ACE_Object_Node.

00356 {
00357   ACE_TRACE ("ACE_Location_Node::pathname");
00358   return this->pathname_;
00359 }

void ACE_Location_Node::set_symbol void *    h [virtual]
 

Definition at line 369 of file Parse_Node.cpp.

References ACE_TRACE, and symbol_.

00370 {
00371   ACE_TRACE ("ACE_Location_Node::set_symbol");
00372   this->symbol_ = s;
00373 }

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

Implemented in ACE_Object_Node.

Referenced by ace_yyparse.


Member Data Documentation

ACE_Location_Node::ACE_ALLOC_HOOK_DECLARE
 

Declare the dynamic allocation hooks.

Reimplemented in ACE_Object_Node.

Definition at line 241 of file Parse_Node.h.

ACE_DLL ACE_Location_Node::dll_ [protected]
 

The open shared library.

Definition at line 257 of file Parse_Node.h.

Referenced by dll, open_dll, ACE_Function_Node::symbol, and ACE_Object_Node::symbol.

int ACE_Location_Node::must_delete_ [protected]
 

Flag indicating whether the Service_Object generated by this Location Node should be deleted or not (ACE_Service_Type::DELETE_OBJ.)

Definition at line 254 of file Parse_Node.h.

Referenced by ACE_Function_Node::ACE_Function_Node, ACE_Object_Node::ACE_Object_Node, ACE_Static_Function_Node::ACE_Static_Function_Node, and dispose.

const ACE_TCHAR* ACE_Location_Node::pathname_ [protected]
 

Pathname to the shared library we are working on.

Definition at line 247 of file Parse_Node.h.

Referenced by pathname, and ACE_Function_Node::~ACE_Function_Node.

void* ACE_Location_Node::symbol_ [protected]
 

Symbol that we've obtained from the shared library.

Definition at line 260 of file Parse_Node.h.

Referenced by set_symbol, ACE_Static_Function_Node::symbol, ACE_Function_Node::symbol, and ACE_Object_Node::symbol.


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