diff options
author | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-01-30 21:19:04 +0000 |
---|---|---|
committer | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-01-30 21:19:04 +0000 |
commit | 9669965c5833dc91cd44be74ca0fe29d5665a528 (patch) | |
tree | a4322b4cc1ff7cf6956a9f6b82d9afb1337054fb | |
parent | a6504c0487187199e855ae95f3b1eb87ee72f581 (diff) | |
download | ATCD-9669965c5833dc91cd44be74ca0fe29d5665a528.tar.gz |
This commit was manufactured by cvs2svn to create branch 'ace_subset_0'.
179 files changed, 52919 insertions, 0 deletions
diff --git a/ACEXML/ACEXML.dsw b/ACEXML/ACEXML.dsw new file mode 100644 index 00000000000..9fcc6aabba2 --- /dev/null +++ b/ACEXML/ACEXML.dsw @@ -0,0 +1,59 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ACEXML_Parser"=.\parser\parser\Parser.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name XML_Common
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Debug_Validator"=.\PARSER\DEBUG_VALIDATOR\Debug_Validator.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "XML_Common"=.\COMMON\XML_Common.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name Debug_Validator
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/ACEXML/Makefile b/ACEXML/Makefile new file mode 100644 index 00000000000..e355ff86344 --- /dev/null +++ b/ACEXML/Makefile @@ -0,0 +1,20 @@ +#---------------------------------------------------------------------------- +# $Id$ +# +# Makefile for the client programs that test the ACE network services +#---------------------------------------------------------------------------- + +DIRS = common \ + parser \ + tests \ + examples + +#---------------------------------------------------------------------------- +# Include macros and targets +#---------------------------------------------------------------------------- + +include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU +include $(ACE_ROOT)/include/makeinclude/macros.GNU +include $(ACE_ROOT)/include/makeinclude/rules.common.GNU +include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU +include $(ACE_ROOT)/include/makeinclude/rules.nolocal.GNU diff --git a/ACEXML/Makefile.bor b/ACEXML/Makefile.bor new file mode 100644 index 00000000000..0e25ede588e --- /dev/null +++ b/ACEXML/Makefile.bor @@ -0,0 +1,9 @@ +# +# Makefile for building the ACE XML Library +# + +DIRS = \ + common \ + parser + +!include <$(ACE_ROOT)\include\makeinclude\recurse.bor> diff --git a/ACEXML/README b/ACEXML/README new file mode 100644 index 00000000000..1e65588029e --- /dev/null +++ b/ACEXML/README @@ -0,0 +1,17 @@ +$Id$ + +ACE XML PARSER Framework README file + +* Character set + +ACE XML only deal with pure unicode encoding. I.e., ACE XML +does not care about language specific encoding information. + +* SAX - The Simple API for XML + +ACE XML Parser interfaces follows the the design of SAX 2.0, which is +a public domain specification for Java. The major difference between +ACE XML Parser interfaces and SAX is that we added an reference of +ACEXML_Env to every SAX method to accomodate platforms/compilers that +don't support C++ exceptions. SAX is defined by David Megginson +<david@megginson.com> diff --git a/ACEXML/common/ACEXML_Export.h b/ACEXML/common/ACEXML_Export.h new file mode 100644 index 00000000000..85ade891148 --- /dev/null +++ b/ACEXML/common/ACEXML_Export.h @@ -0,0 +1,53 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file ACEXML_Export.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= + +// Definition for Win32 Export directives. +// This file is generated automatically by generate_export_file.pl +// ------------------------------ +#ifndef ACEXML_EXPORT_H +#define ACEXML_EXPORT_H + +#include "ace/config-all.h" + +#if defined (ACE_AS_STATIC_LIBS) && !defined (ACEXML_HAS_DLL) +# define ACEXML_HAS_DLL 0 +#endif /* ACE_AS_STATIC_LIBS && ACEXML_HAS_DLL */ + +#if defined (ACE_HAS_DLL) +# if !defined (ACEXML_HAS_DLL) +# define ACEXML_HAS_DLL 1 +# endif /* ! ACEXML_HAS_DLL */ +#else +# if !defined (ACEXML_HAS_DLL) +# define ACEXML_HAS_DLL 0 +# endif /* ! ACEXML_HAS_DLL */ +#endif + +#if defined (ACEXML_HAS_DLL) && (ACEXML_HAS_DLL == 1) +# if defined (ACEXML_BUILD_DLL) +# define ACEXML_Export ACE_Proper_Export_Flag +# define ACEXML_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) +# define ACEXML_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +# else /* ACEXML_BUILD_DLL */ +# define ACEXML_Export ACE_Proper_Import_Flag +# define ACEXML_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) +# define ACEXML_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +# endif /* ACEXML_BUILD_DLL */ +#else /* ACEXML_HAS_DLL == 1 */ +# define ACEXML_Export +# define ACEXML_SINGLETON_DECLARATION(T) +# define ACEXML_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +#endif /* ACEXML_HAS_DLL == 1 */ + +#endif /* ACEXML_EXPORT_H */ + +// End of auto generated file. diff --git a/ACEXML/common/Attributes.h b/ACEXML/common/Attributes.h new file mode 100644 index 00000000000..1684d940872 --- /dev/null +++ b/ACEXML/common/Attributes.h @@ -0,0 +1,116 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file Attributes.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= + +#ifndef _ACEXML_ATTRIBUTES_H_ +#define _ACEXML_ATTRIBUTES_H_ + +#include "common/XML_Types.h" + +/** + * @class ACEXML_Attributes Attributes.h "common/Attributes.h" + * + * @brief ACEXML_Attributes defines a collection of attributes of an XML element. + * + * This is an abstract class (interface in Java) that defines + * the API for accessing attributes of an XML entity. + * + * This interface allows access to a list of attributes in three different ways: + * + * - by attribute index; + * - by Namespace-qualified name; or + * - by qualified (prefixed) name. + * + * The list will not contain attributes that were declared #IMPLIED + * but not specified in the start tag. It will also not contain + * attributes used as Namespace declarations (xmlns*) unless the + * http://xml.org/sax/features/namespace-prefixes feature is set to + * true (it is false by default). + * + * If the namespace-prefixes feature (see above) is false, access by + * qualified name may not be available; if the + * http://xml.org/sax/features/namespaces feature is false, access by + * Namespace-qualified names may not be available. + * + * This interface replaces the now-deprecated SAX1 AttributeList + * interface, which does not contain Namespace support. In addition to + * Namespace support, it adds the getIndex methods (below). + * + * The order of attributes in the list is unspecified, and will vary + * from implementation to implementation. + */ +class ACEXML_Export ACEXML_Attributes +{ +public: + /** + * Look up the index of an attribute by XML 1.0 qualified name. + */ + virtual int getIndex (const ACEXML_Char *qName) = 0; + + /** + * Look up the index of an attribute by Namespace name. + */ + virtual int getIndex (const ACEXML_Char *uri, + const ACEXML_Char *localPart) = 0; + + /** + * Return the number of attributes in the list. + */ + virtual size_t getLength (void) = 0; + + /** + * Look up an attribute's local name by index. + */ + virtual const ACEXML_Char *getLocalName (size_t index) = 0; + + /** + * Look up an attribute's XML 1.0 qualified name by index. + */ + virtual const ACEXML_Char *getQName (size_t index) = 0; + + /** + * Look up an attribute's type by index. + */ + virtual const ACEXML_Char *getType (size_t index) = 0; + + /** + * Look up an attribute's type by XML 1.0 qualified name. + */ + virtual const ACEXML_Char *getType (const ACEXML_Char *qName) = 0; + + /** + * Look up an attribute's type by Namespace name. + */ + virtual const ACEXML_Char *getType (const ACEXML_Char *uri, + const ACEXML_Char *localPart) = 0; + + /** + * Look up an attribute's Namespace URI by index. + */ + virtual const ACEXML_Char *getURI (size_t index) = 0; + + /** + * Look up an attribute's value by index. + */ + virtual const ACEXML_Char *getValue (size_t index) = 0; + + /** + * Look up an attribute's value by XML 1.0 qualified name. + */ + virtual const ACEXML_Char *getValue (const ACEXML_Char *qName) = 0; + + /** + * Look up an attribute's value by Namespace name. + */ + virtual const ACEXML_Char *getValue (const ACEXML_Char *uri, + const ACEXML_Char *localPart) = 0; +}; +#endif /* _ACEXML_ ATTRIBUTES_H_ */ diff --git a/ACEXML/common/AttributesImpl.cpp b/ACEXML/common/AttributesImpl.cpp new file mode 100644 index 00000000000..f4d86486d19 --- /dev/null +++ b/ACEXML/common/AttributesImpl.cpp @@ -0,0 +1,285 @@ +// -*- C++ -*- $Id$ + +#include "common/AttributesImpl.h" + +#if !defined (__ACEXML_INLINE__) +# include "common/AttributesImpl.i" +#endif /* __ACEXML_INLINE__ */ + +ACEXML_AttributesImpl::ACEXML_AttributesImpl (int size) + : attrs_ (size) +{ + this->attrs_.size (0); // attrs array contains nothing +} + +ACEXML_AttributesImpl::ACEXML_AttributesImpl (const + ACEXML_AttributesImpl &attrs) + : ACEXML_Attributes (attrs), + attrs_ (attrs.attrs_.size ()) +{ + for (size_t i = 0; i < attrs.attrs_.size (); i++) + this->attrs_[i] = attrs.attrs_[i]; +} + +ACEXML_AttributesImpl::~ACEXML_AttributesImpl (void) +{ +} + +int +ACEXML_AttributesImpl::addAttribute (const ACEXML_Char *uri, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + const ACEXML_Char *type, + const ACEXML_Char *value) +{ + // @@ How do I check for the name here? Which name should + // I use to check for duplication? + + int length = this->attrs_.size (); + + this->attrs_.size (length+1); + this->setAttribute (length, + uri, + localName, + qName, + type, + value); + return length; +} + +int +ACEXML_AttributesImpl::addAttribute (const ACEXML_Attribute &att) +{ + // @@ How do I check for the name here? Which name should + // I use to check for duplication? + + int length = this->attrs_.size (); + + this->attrs_.size (length+1); + this->attrs_[length] = att; + return length; +} + +int +ACEXML_AttributesImpl::removeAttribute (size_t index) +{ + size_t length = this->attrs_.size (); + + if (index >= length) + return -1; + + this->attrs_[index] = this->attrs_[length - 1]; + this->attrs_.size (length - 1); + + return 0; +} + + +int +ACEXML_AttributesImpl::getIndex (const ACEXML_Char *qName) +{ + for (size_t i = 0; i < this->attrs_.size (); i++) + if (ACE_OS::strcmp (qName, this->attrs_[i].qName ()) == 0) + return i; + + return -1; +} + +int +ACEXML_AttributesImpl::getIndex (const ACEXML_Char *uri, + const ACEXML_Char *localPart) +{ + for (size_t i = 0; i < this->attrs_.size (); i++) + if (ACE_OS::strcmp (uri, this->attrs_[i].uri ()) == 0 && + ACE_OS::strcmp (localPart, this->attrs_[i].localName ()) == 0) + return i; + + return -1; +} + +size_t +ACEXML_AttributesImpl::getLength (void) +{ + return this->attrs_.size (); +} + +const ACEXML_Char * +ACEXML_AttributesImpl::getLocalName (size_t index) +{ + if (index < this->attrs_.size ()) + return this->attrs_[index].localName (); + return 0; +} + + +const ACEXML_Char * +ACEXML_AttributesImpl::getQName (size_t index) +{ + if (index < this->attrs_.size ()) + return this->attrs_[index].qName (); + return 0; +} + +const ACEXML_Char * +ACEXML_AttributesImpl::getType (size_t index) +{ + if (index < this->attrs_.size ()) + return this->attrs_[index].type (); + return 0; +} + + +const ACEXML_Char * +ACEXML_AttributesImpl::getType (const ACEXML_Char *qName) +{ + for (size_t i = 0; i < this->attrs_.size (); i++) + if (ACE_OS::strcmp (qName, this->attrs_[i].qName ()) == 0) + return this->attrs_[i].type (); + + return 0; +} + +const ACEXML_Char * +ACEXML_AttributesImpl::getType (const ACEXML_Char *uri, + const ACEXML_Char *localPart) +{ + for (size_t i = 0; i < this->attrs_.size (); i++) + if (ACE_OS::strcmp (uri, this->attrs_[i].uri ()) == 0 && + ACE_OS::strcmp (localPart, this->attrs_[i].localName ()) == 0) + return this->attrs_[i].type (); + + return 0; +} + + +const ACEXML_Char * +ACEXML_AttributesImpl::getURI (size_t index) +{ + if (index < this->attrs_.size ()) + return this->attrs_[index].uri (); + return 0; +} + + +const ACEXML_Char * +ACEXML_AttributesImpl::getValue (size_t index) +{ + if (index < this->attrs_.size ()) + return this->attrs_[index].value (); + return 0; +} + +const ACEXML_Char * +ACEXML_AttributesImpl::getValue (const ACEXML_Char *qName) +{ + for (size_t i = 0; i < this->attrs_.size (); i++) + if (ACE_OS::strcmp (qName, this->attrs_[i].qName ()) == 0) + return this->attrs_[i].value (); + + return 0; +} + +const ACEXML_Char * +ACEXML_AttributesImpl::getValue (const ACEXML_Char *uri, + const ACEXML_Char *localPart) +{ + for (size_t i = 0; i < this->attrs_.size (); i++) + if (ACE_OS::strcmp (uri, this->attrs_[i].uri ()) == 0 && + ACE_OS::strcmp (localPart, this->attrs_[i].localName ()) == 0) + return this->attrs_[i].value (); + + return 0; +} + +int +ACEXML_AttributesImpl::setAttribute (size_t index, + const ACEXML_Char *uri, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + const ACEXML_Char *type, + const ACEXML_Char *value) +{ + if (index < this->attrs_.size ()) + { + this->attrs_[index].setAttribute (uri, + localName, + qName, + type, + value); + return 0; + } + + return -1; +} + + +int +ACEXML_AttributesImpl::setLocalName (size_t index, + const ACEXML_Char *localName) +{ + if (index < this->attrs_.size ()) + { + this->attrs_[index].localName (localName); + return 0; + } + return -1; +} + +int +ACEXML_AttributesImpl::setQName (size_t index, + const ACEXML_Char *qName) +{ + if (index < this->attrs_.size ()) + { + this->attrs_[index].qName (qName); + return 0; + } + return -1; +} + + +int +ACEXML_AttributesImpl::setURI (size_t index, + const ACEXML_Char *uri) +{ + if (index < this->attrs_.size ()) + { + this->attrs_[index].uri (uri); + return 0; + } + return -1; +} + +int +ACEXML_AttributesImpl::setType (size_t index, + const ACEXML_Char *type) +{ + if (index < this->attrs_.size ()) + { + this->attrs_[index].type (type); + return 0; + } + return -1; +} + +int +ACEXML_AttributesImpl::setValue (size_t index, + const ACEXML_Char *value) +{ + if (index < this->attrs_.size ()) + { + this->attrs_[index].value (value); + return 0; + } + return -1; +} + +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) +template class ACE_Array_Base<ACEXML_Attribute>; +template class ACE_Array<ACEXML_Attribute>; +template class ACE_Array_Iterator<ACEXML_Attribute>; +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +#pragma instantiate ACE_Array_Base<ACEXML_Attribute> +#pragma instantiate ACE_Array<ACEXML_Attribute> +#pragma instantiate ACE_Array_Iterator<ACEXML_Attribute> +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/ACEXML/common/AttributesImpl.h b/ACEXML/common/AttributesImpl.h new file mode 100644 index 00000000000..4f69b9a307d --- /dev/null +++ b/ACEXML/common/AttributesImpl.h @@ -0,0 +1,293 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file AttributesImpl.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= + + +#ifndef ACEXML_ATTRIBUTESIMPL_H +#define ACEXML_ATTRIBUTESIMPL_H + +#include "common/Attributes.h" +#include "ace/Containers_T.h" + +#if !defined ACEXML_AttributesImpl_Default_Size +#define ACEXML_AttributesImpl_Default_Size 20 +#endif /* ACEXML_AttributesImpl_Default_Size */ + +class ACEXML_AttributesImpl; + +/** + * @class ACEXML_Attribute AttributesImpl.h "common/AttributesImpl.h" + * + * @brief ACEXML_Attribute defines the data structure of an attribute + * + * @sa ACEXML_AttributesImpl + */ +class ACEXML_Export ACEXML_Attribute +{ +public: + friend class ACEXML_AttributesImpl; + + /// Default constructor. + ACEXML_Attribute (void); + + /// Copy constructor. + ACEXML_Attribute (const ACEXML_Attribute &attr); + + /// Initialize all constructor. + ACEXML_Attribute (const ACEXML_Char *uri, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + const ACEXML_Char *type, + const ACEXML_Char *value); + + /// Destructor. + ~ACEXML_Attribute (void); + + /// Set all members. + void setAttribute (const ACEXML_Char *uri, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + const ACEXML_Char *type, + const ACEXML_Char *value); + + /// Set \a uri_. + const ACEXML_Char *uri (void) const; + + /// Get \a uri_. + void uri (const ACEXML_Char *uri); + + /// Set \a localName_. + const ACEXML_Char *localName (void) const; + + /// Get \a localName_. + void localName (const ACEXML_Char *localName); + + /// Set \a qName_. + const ACEXML_Char *qName (void) const; + + /// Get \a qName_. + void qName (const ACEXML_Char *qName); + + /// Set \a type_. + const ACEXML_Char *type (void) const; + + /// Get \a type_. + void type (const ACEXML_Char *type); + + /// Set \a value_. + const ACEXML_Char *value (void) const; + + /// Get \a value_. + void value (const ACEXML_Char *value); + + /// Assignment operator. + ACEXML_Attribute &operator= (const ACEXML_Attribute &rhs); + + /// Comparison operator. + int operator!= (const ACEXML_Attribute&rhs) const; + +private: + /// @var uri_ Namespace URI of an attribute + ACEXML_Char *uri_; + + /// @var localName_ + ACEXML_Char *localName_; + ACEXML_Char *qName_; + ACEXML_Char *type_; + ACEXML_Char *value_; +}; + +/** + * @typedef ACE_Array<ACEXML_Attribute> ACEXML_Attribute_Array + */ +typedef ACE_Array<ACEXML_Attribute> ACEXML_Attribute_Array; + +/** + * @class ACEXML_AttributesImpl AttributesImpl.h "common/AttributesImpl.h" + * + * @brief ACEXML_AttributesImpl provides the default implementation + * of interface ACEXML_Attributes. + * + * This class provides a default implementation of the SAX2 Attributes + * interface, with the addition of manipulators so that the list can + * be modified or reused. + * + * There are two typical uses of this class: + * + * - to take a persistent snapshot of an Attributes object in a startElement event; or + * - to construct or modify an Attributes object in a SAX2 driver or filter. + * + * This class replaces the now-deprecated SAX1 AttributeListImpl + * class; in addition to supporting the updated Attributes interface + * rather than the deprecated AttributeList interface, it also + * includes a much more efficient implementation using a single array + * rather than a set of Vectors. + * + * @sa ACEXML_Attributes + */ +class ACEXML_Export ACEXML_AttributesImpl + : public ACEXML_Attributes +{ +public: + /** + * Initialize an AttributesImpl that holds <size> attributes. + */ + ACEXML_AttributesImpl (int size = ACEXML_AttributesImpl_Default_Size); + ACEXML_AttributesImpl (const ACEXML_AttributesImpl &attrs); + virtual ~ACEXML_AttributesImpl (void); + + /** + * Add a new attribute using the argument(s) supplied. + * Return -1 if an attribute with the same name already exists. + */ + virtual int addAttribute (const ACEXML_Char *uri, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + const ACEXML_Char *type, + const ACEXML_Char *value); + virtual int addAttribute (const ACEXML_Attribute &att); + + /** + * Remove an attribute from the array. Notice that this + * operation can invalidate previously acquired <index> + * value. (It will repack the array.) + */ + virtual int removeAttribute (size_t index); + + + /** + * Look up the index of an attribute by XML 1.0 qualified name. + * Return -1 if we fail to find a match. + */ + virtual int getIndex (const ACEXML_Char *qName); + + /** + * Look up the index of an attribute by Namespace name. + * Return -1 if we fail to find a match. + */ + virtual int getIndex (const ACEXML_Char *uri, + const ACEXML_Char *localPart); + + /** + * Return the number of attributes in the list. + */ + virtual size_t getLength (void); + + /** + * Look up an attribute's local name by index. + * Return 0 if index is out of range. + */ + virtual const ACEXML_Char *getLocalName (size_t index); + + /** + * Look up an attribute's XML 1.0 qualified name by index. + * Return 0 if index is out of range. + */ + virtual const ACEXML_Char *getQName (size_t index); + + /** + * Look up an attribute's type by index. + * Return 0 if index is out of range. + */ + virtual const ACEXML_Char *getType (size_t index); + + /** + * Look up an attribute's type by XML 1.0 qualified name. + * Return 0 if we fail to find a match. + */ + virtual const ACEXML_Char *getType (const ACEXML_Char *qName); + + /** + * Look up an attribute's type by Namespace name. + * Return 0 if we fail to find a match. + */ + virtual const ACEXML_Char *getType (const ACEXML_Char *uri, + const ACEXML_Char *localPart); + + /** + * Look up an attribute's Namespace URI by index. + * Return 0 if index is out of range. + */ + virtual const ACEXML_Char *getURI (size_t index); + + /** + * Look up an attribute's value by index. + * Return 0 if index is out of range. + */ + virtual const ACEXML_Char *getValue (size_t index); + + /** + * Look up an attribute's value by XML 1.0 qualified name. + * Return 0 if we fail to find a match. + */ + virtual const ACEXML_Char *getValue (const ACEXML_Char *qName); + + /** + * Look up an attribute's value by Namespace name. + * Return 0 if we fail to find a match. + */ + virtual const ACEXML_Char *getValue (const ACEXML_Char *uri, + const ACEXML_Char *localPart); + + /** + * Set an attribute at index. Return -1 if index is out of + * range. + */ + virtual int setAttribute (size_t index, + const ACEXML_Char *uri, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + const ACEXML_Char *type, + const ACEXML_Char *value); + + /** + * Set the localName of the attribute at <index>. + * return -1 if <index> is out of range. + */ + virtual int setLocalName (size_t index, + const ACEXML_Char *localName); + + /** + * Set the qName of the attribute at <index>. + * return -1 if <index> is out of range. + */ + virtual int setQName (size_t index, + const ACEXML_Char *qName); + + /** + * Set the URI of the attribute at <index>. + * return -1 if <index> is out of range. + */ + virtual int setURI (size_t index, + const ACEXML_Char *uri); + + /** + * Set the type of the attribute at <index>. + * return -1 if <index> is out of range. + */ + virtual int setType (size_t index, + const ACEXML_Char *type); + + /** + * Set the value of the attribute at <index>. + * return -1 if <index> is out of range. + */ + virtual int setValue (size_t index, + const ACEXML_Char *value); +private: + /// Container for all attributes. + ACEXML_Attribute_Array attrs_; +}; + +#if defined (__ACEXML_INLINE__) +# include "common/AttributesImpl.i" +#endif /* __ACEXML_INLINE__ */ +#endif /* ACEXML_ATTRIBUTESIMPL_H */ diff --git a/ACEXML/common/AttributesImpl.i b/ACEXML/common/AttributesImpl.i new file mode 100644 index 00000000000..7800398bc66 --- /dev/null +++ b/ACEXML/common/AttributesImpl.i @@ -0,0 +1,151 @@ +// -*- C++ -*- $Id$ + +#include "ace/ACE.h" + +ACEXML_INLINE +ACEXML_Attribute::ACEXML_Attribute (void) + : uri_ (0), + localName_ (0), + qName_ (0), + type_ (0), + value_ (0) +{ +} + +ACEXML_INLINE +ACEXML_Attribute::ACEXML_Attribute (const ACEXML_Attribute &attr) + : uri_ (ACE::strnew (attr.uri_)), + localName_ (ACE::strnew (attr.localName_)), + qName_ (ACE::strnew (attr.qName_)), + type_ (ACE::strnew (attr.type_)), + value_ (ACE::strnew (attr.value_)) +{ +} + +ACEXML_INLINE +ACEXML_Attribute::ACEXML_Attribute (const ACEXML_Char *uri, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + const ACEXML_Char *type, + const ACEXML_Char *value) + : uri_ (ACE::strnew (uri)), + localName_ (ACE::strnew (localName)), + qName_ (ACE::strnew (qName)), + type_ (ACE::strnew (type)), + value_ (ACE::strnew (value)) +{ +} + +ACEXML_INLINE +ACEXML_Attribute::~ACEXML_Attribute (void) +{ + delete this->uri_; + delete this->localName_; + delete this->qName_; + delete this->type_; + delete this->value_; +} + +ACEXML_INLINE const ACEXML_Char * +ACEXML_Attribute::uri (void) const +{ + return this->uri_; +} + +ACEXML_INLINE void +ACEXML_Attribute::uri (const ACEXML_Char *uri) +{ + delete this->uri_; + this->uri_ = ACE::strnew (uri); +} + +ACEXML_INLINE const ACEXML_Char * +ACEXML_Attribute::localName (void) const +{ + return this->localName_; +} + +ACEXML_INLINE void +ACEXML_Attribute::localName (const ACEXML_Char *localName) +{ + delete this->localName_; + this->localName_ = ACE::strnew (localName); +} + +ACEXML_INLINE const ACEXML_Char * +ACEXML_Attribute::qName (void) const +{ + return this->qName_; +} + +ACEXML_INLINE void +ACEXML_Attribute::qName (const ACEXML_Char *qName) +{ + delete this->qName_; + this->qName_ = ACE::strnew (qName); +} + +ACEXML_INLINE const ACEXML_Char * +ACEXML_Attribute::type (void) const +{ + return this->type_; +} + +ACEXML_INLINE void +ACEXML_Attribute::type (const ACEXML_Char *type) +{ + delete this->type_; + this->type_ = ACE::strnew (type); +} + +ACEXML_INLINE const ACEXML_Char * +ACEXML_Attribute::value (void) const +{ + return this->value_; +} + +ACEXML_INLINE void +ACEXML_Attribute::value (const ACEXML_Char *value) +{ + delete this->value_; + this->value_ = ACE::strnew (value); +} + +ACEXML_INLINE void +ACEXML_Attribute::setAttribute (const ACEXML_Char *uri, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + const ACEXML_Char *type, + const ACEXML_Char *value) +{ + this->uri (uri); + this->qName (qName); + this->localName (localName); + this->type (type); + this->value (value); +} + +ACEXML_INLINE ACEXML_Attribute & +ACEXML_Attribute::operator= (const ACEXML_Attribute &rhs) +{ + if (this != &rhs) // Check for self assignment + { + this->uri (rhs.uri ()); + this->qName (rhs.qName ()); + this->localName (rhs.localName ()); + this->type (rhs.type ()); + this->value (rhs.value ()); + } + return *this; +} + +ACEXML_INLINE int +ACEXML_Attribute::operator!= (const ACEXML_Attribute &rhs) const +{ + return (ACE_OS::strcmp (this->uri_, rhs.uri ()) == 0 && + ACE_OS::strcmp (this->localName_, rhs.localName ()) == 0 && + ACE_OS::strcmp (this->qName_, rhs .qName ()) == 0 && + ACE_OS::strcmp (this->type_, rhs.type ()) == 0 && + ACE_OS::strcmp (this->value_, rhs.value ()) == 0 ? 0 : 1); + +} diff --git a/ACEXML/common/Attributes_Def_Builder.cpp b/ACEXML/common/Attributes_Def_Builder.cpp new file mode 100644 index 00000000000..7ee53696985 --- /dev/null +++ b/ACEXML/common/Attributes_Def_Builder.cpp @@ -0,0 +1,25 @@ +// $Id$ + +#include "common/Attributes_Def_Builder.h" + +ACEXML_Attribute_Def_Builder::~ACEXML_Attribute_Def_Builder () +{ + +} + +ACEXML_Attributes_Def_Builder::~ACEXML_Attributes_Def_Builder () +{ + +} + +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) +template class auto_ptr<ACEXML_Attribute_Def_Builder>; +template class auto_ptr<ACEXML_Attributes_Def_Builder>; +template class ACE_Auto_Basic_Ptr<ACEXML_Attribute_Def_Builder>; +template class ACE_Auto_Basic_Ptr<ACEXML_Attributes_Def_Builder>; +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +#pragma instantiate auto_ptr<ACEXML_Attribute_Def_Builder> +#pragma instantiate auto_ptr<ACEXML_Attributes_Def_Builder> +#pragma instantiate ACE_Auto_Basic_Ptr<ACEXML_Attribute_Def_Builder> +#pragma instantiate ACE_Auto_Basic_Ptr<ACEXML_Attributes_Def_Builder> +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/ACEXML/common/Attributes_Def_Builder.h b/ACEXML/common/Attributes_Def_Builder.h new file mode 100644 index 00000000000..960eb879b89 --- /dev/null +++ b/ACEXML/common/Attributes_Def_Builder.h @@ -0,0 +1,152 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file Attributes_Def_Builder.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= +#ifndef _ACEXML_ATTRIBUTES_DEF_BUILDER_H_ +#define _ACEXML_ATTRIBUTES_DEF_BUILDER_H_ + +#include "common/XML_Types.h" +#include "common/Env.h" +#include "ace/Auto_Ptr.h" + +/** + * @ class ACEXML_Attribute_Def_Builder Attributes_Def_Builder.h "common/Attributes_Def_Builder.h" + * + * @ brief An abstract virtual class defining an interface + * for building an attribute definition from DTD. + * + * This class should be invisible to application programmers and + * is only used for validator implementors. + */ +class ACEXML_Export ACEXML_Attribute_Def_Builder +{ +public: + + typedef auto_ptr<ACEXML_Attribute_Def_Builder> VAR; + + typedef enum { + CDATA, + ID, + IDREF, + IDREFS, + ENTITY, + ENTITIES, + NMTOKEN, + NMTOKENS, + NOTATION, + ENUMERATION, + ERROR_TYPE + } ATT_TYPE; + + typedef enum { + REQUIRED, + IMPLIED, + FIXED, + INVALID + } DEFAULT_DECL; + + virtual ~ACEXML_Attribute_Def_Builder () = 0; + + /** + * Specify the name of the attribute. + */ + virtual int setName (const ACEXML_Char *n) = 0; + + /** + * Get the name of the attribute. + */ + virtual const ACEXML_Char *getName (void) = 0; + + /** + * Set the attribute type. + */ + virtual int setAttType (const ATT_TYPE type, + ACEXML_Env &xmlenv) + // ACE_THORW_SPEC ((ACEXML_SAXException)) + = 0; + + /** + * Insert an element for NOTATION or ENUMERATION type attribute. + */ + virtual int insertList (const ACEXML_Char *Name, + ACEXML_Env &xmlenv) + // ACE_THORW_SPEC ((ACEXML_SAXException)) + = 0; + + /** + * Set default attribute declaration. + */ + virtual int setDefault (const DEFAULT_DECL def, + const ACEXML_Char *value, + ACEXML_Env &xmlenv) + // ACE_THORW_SPEC ((ACEXML_SAXException)) + = 0; + + /** + * Check validity of the current attribute definition being built. + * + * @retval 0 if the attribute is not a valid combo. + */ + virtual int validAttr (void) = 0; + + /** + * Dump the content of the attribute definition. + */ + virtual void dump (void) = 0; +}; + +/** + * @ class ACEXML_Attributes_Def_Builder Attributes_Def_Builder.h "common/Attributes_Def_Builder.h" + * + * @ brief An abstract virtual class defining an interface + * for building attribute definitions from DTD. + * + * This class should be invisible to application programmers and + * is only used for validator implementors. + */ +class ACEXML_Export ACEXML_Attributes_Def_Builder +{ +public: + + typedef auto_ptr<ACEXML_Attributes_Def_Builder> VAR; + + virtual ~ACEXML_Attributes_Def_Builder () = 0; + + /** + * Set the element name that the attribute builder applies. + * + * @retval 0 if valid, -1 otherwise. + */ + virtual int setElement (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; + + /** + * Acquire an Attribute_Builder. + */ + virtual ACEXML_Attribute_Def_Builder *getAttribute_Def_Builder () = 0; + + /** + * Add a definition for one attribute. + */ + virtual int insertAttribute (ACEXML_Attribute_Def_Builder *def, + ACEXML_Env &xmlenv) = 0; + + + /** + * Dump the content of the attribute definition. + */ + virtual void dump (void) = 0; +}; + +#endif /* _ACEXML_ATTRIBUTES_DEF_BUILDER_H_ */ diff --git a/ACEXML/common/CharStream.cpp b/ACEXML/common/CharStream.cpp new file mode 100644 index 00000000000..ada6573be40 --- /dev/null +++ b/ACEXML/common/CharStream.cpp @@ -0,0 +1,7 @@ +// -*- C++ -*- $Id$ + +#include "common/CharStream.h" + +ACEXML_CharStream::~ACEXML_CharStream (void) +{ +} diff --git a/ACEXML/common/CharStream.h b/ACEXML/common/CharStream.h new file mode 100644 index 00000000000..94d44645025 --- /dev/null +++ b/ACEXML/common/CharStream.h @@ -0,0 +1,66 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file CharStream.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= + +#ifndef _ACEXML_CHARSTREAM_H_ +#define _ACEXML_CHARSTREAM_H_ + +#include "common/XML_Types.h" + +/** + * @class ACEXML_CharStream CharStream.h "common/CharStream.h" + * + * ACEXML_CharStream is an abstract class (interface) which defines + * the basic opertions a parser could use to retrieve XML charater + * sequence. The sequence can be read from a file or a character + * buffer. + */ +class ACEXML_Export ACEXML_CharStream +{ +public: + + /** + * Virtual destructor, must have. + */ + virtual ~ACEXML_CharStream () = 0; + + /** + * Returns the available ACEXML_Char in the buffer. -1 + * if the object is not initialized properly. + */ + virtual int available (void) = 0; + + /** + * Close this stream and release all resources used by it. + */ + virtual int close (void) = 0; + + /** + * Read the next ACEXML_Char. Return -1 if we are not able to + * return an ACEXML_Char, 0 if EOS is reached, or 1 if succeed. + */ + virtual int get (ACEXML_Char& ch) = 0; + + /** + * Read the next batch of ACEXML_Char strings + */ + virtual int read (ACEXML_Char *str, + size_t len) = 0; + + /** + * Peek the next ACEXML_Char in the CharStream. Return the + * character if succeess, -1 if EOS is reached. + */ + virtual int peek (void) = 0; + +}; + +#endif /* _ACEXML_CHARSTREAM_H_ */ diff --git a/ACEXML/common/ContentHandler.h b/ACEXML/common/ContentHandler.h new file mode 100644 index 00000000000..d680a9261c1 --- /dev/null +++ b/ACEXML/common/ContentHandler.h @@ -0,0 +1,138 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file ContentHandler.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= +#ifndef _ACEXML_CONTENTHANDLER_H_ +#define _ACEXML_CONTENTHANDLER_H_ + +#include "common/Env.h" +#include "common/SAXExceptions.h" +#include "common/Locator.h" +#include "common/Attributes.h" + +/** + * @class ACEXML_ContentHandler ContentHandler.h "common/ContentHandler.h" + * + * @brief ACEXML_ContentHandler + * + * This is the main interface that most SAX applications implement: if + * the application needs to be informed of basic parsing events, it + * implements this interface and registers an instance with the SAX + * parser using the setContentHandler method. The parser uses the + * instance to report basic document-related events like the start and + * end of elements and character data. + * + * The order of events in this interface is very important, and + * mirrors the order of information in the document itself. For + * example, all of an element's content (character data, processing + * instructions, and/or subelements) will appear, in order, between + * the startElement event and the corresponding endElement event. + + */ +class ACEXML_Export ACEXML_ContentHandler +{ +public: + /** + * Receive notification of character data. + */ + virtual void characters (const ACEXML_Char *ch, + int start, + int length, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; + + /** + * Receive notification of the end of a document. + */ + virtual void endDocument (ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; + + /** + * Receive notification of the end of an element. + */ + virtual void endElement (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; + + /** + * End the scope of a prefix-URI mapping. + */ + virtual void endPrefixMapping (const ACEXML_Char *prefix, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; + + /** + * Receive notification of ignorable whitespace in element content. + */ + virtual void ignorableWhitespace (const ACEXML_Char *ch, + int start, + int length, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; + + /** + * Receive notification of a processing instruction. + */ + virtual void processingInstruction (const ACEXML_Char *target, + const ACEXML_Char *data, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; + + /** + * Receive an object for locating the origin of SAX document events. + */ + virtual void setDocumentLocator (ACEXML_Locator *locator, + ACEXML_Env &xmlenv) = 0; + + /** + * Receive notification of a skipped entity. + */ + virtual void skippedEntity (const ACEXML_Char *name, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; + + /** + * Receive notification of the beginning of a document. + */ + virtual void startDocument (ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; + + /** + * Receive notification of the beginning of an element. + */ + virtual void startElement (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Attributes *atts, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; + + /** + * Begin the scope of a prefix-URI Namespace mapping. + */ + virtual void startPrefixMapping (const ACEXML_Char *prefix, + const ACEXML_Char *uri, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; +}; + +#endif /* _ACEXML_CONTENTHANDLER_H_ */ diff --git a/ACEXML/common/DTDHandler.h b/ACEXML/common/DTDHandler.h new file mode 100644 index 00000000000..c8cb7a1f8d2 --- /dev/null +++ b/ACEXML/common/DTDHandler.h @@ -0,0 +1,71 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file DTDHandler.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= +#ifndef _ACEXML_DTDHANDLER_H_ +#define _ACEXML_DTDHANDLER_H_ + +#include "common/Env.h" +#include "common/SAXExceptions.h" + +/** + * @class ACEXML_DTDHandler DTDHandler.h "common/DTDHandler.h" + * + * @brief ACEXML_DTDHandler + * + * If a SAX application needs information about notations and unparsed + * entities, then the application implements this interface and + * registers an instance with the SAX parser using the parser's + * setDTDHandler method. The parser uses the instance to report + * notation and unparsed entity declarations to the application. + * + * Note that this interface includes only those DTD events that the + * XML recommendation requires processors to report: notation and + * unparsed entity declarations. + * + * The SAX parser may report these events in any order, regardless of + * the order in which the notations and unparsed entities were + * declared; however, all DTD events must be reported after the + * document handler's startDocument event, and before the first + * startElement event. + * + * It is up to the application to store the information for future use + * (perhaps in a hash table or object tree). If the application + * encounters attributes of type "NOTATION", "ENTITY", or "ENTITIES", + * it can use the information that it obtained through this interface + * to find the entity and/or notation corresponding with the attribute + * value. + */ +class ACEXML_Export ACEXML_DTDHandler +{ +public: + /** + * Receive notification of a notation declaration event. + */ + virtual void notationDecl (const ACEXML_Char *name, + const ACEXML_Char *publicId, + const ACEXML_Char *systemId, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; + + /** + * Receive notification of an unparsed entity declaration event. + */ + virtual void unparsedEntityDecl (const ACEXML_Char *name, + const ACEXML_Char *publicId, + const ACEXML_Char *systemId, + const ACEXML_Char *notationName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; +}; + +#endif /* _ACEXML_DTDHANDLER_H_ */ diff --git a/ACEXML/common/DTD_Manager.cpp b/ACEXML/common/DTD_Manager.cpp new file mode 100644 index 00000000000..bacf4c91f24 --- /dev/null +++ b/ACEXML/common/DTD_Manager.cpp @@ -0,0 +1,8 @@ +// $Id$ + +#include "common/DTD_Manager.h" + +ACEXML_DTD_Manager::~ACEXML_DTD_Manager () +{ + +} diff --git a/ACEXML/common/DTD_Manager.h b/ACEXML/common/DTD_Manager.h new file mode 100644 index 00000000000..3bc81aef694 --- /dev/null +++ b/ACEXML/common/DTD_Manager.h @@ -0,0 +1,75 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file DTD_Manager.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= +#ifndef _ACEXML_DTD_Manager_H_ +#define _ACEXML_DTD_Manager_H_ + +#include "common/Attributes_Def_Builder.h" +#include "common/Element_Def_Builder.h" +#include "common/Validator.h" + +/** + * @ class ACEXML_DTD_Manager DTD_Manager.h "common/DTD_Manager.h" + * + * @ todo Fill in the blank. + */ +class ACEXML_Export ACEXML_DTD_Manager +{ +public: + virtual ~ACEXML_DTD_Manager () = 0; + + /** + * Acquire a pointer to an element definition builder. + * The XML parser use this interface to acquire the + * definition builder and use the builder to create + * the DTD element definition. The resulting builder + * is then registered with the DTD Manager or destroyed + * if error occured when the builder encountered errors. + * + * @retval 0 if error occurs creating the builder. + */ + virtual ACEXML_Element_Def_Builder *getElement_Def_Builder () = 0; + + /** + * Insert a new element definition into the DTD Manager. + * + * @retval 0 if success, -1 if error. + */ + virtual int insertElement_Definition (ACEXML_Element_Def_Builder *def, + ACEXML_Env &xmlenv) = 0; + + /** + * Acquire a pointer to an attributes definition builder. + * + */ + virtual ACEXML_Attributes_Def_Builder *getAttribute_Def_Builder () = 0; + + /** + * Insert a new attributes definition into the DTD Manager. + * + * @retval 0 if success, -1 otherwise. + */ + virtual int insertAttributes_Definition (ACEXML_Attributes_Def_Builder *def, + ACEXML_Env &xmlenv) = 0; + + /** + * Acquire an element validator to validate an XML element. + * + * @todo I haven't figured out what memory management scheme + * we should use for the acquired validator. + */ + virtual ACEXML_Validator *getValidator (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Env &xmlenv) = 0; +}; + +#endif /* _ACEXML_DTD_Manager_H_ */ diff --git a/ACEXML/common/DefaultHandler.cpp b/ACEXML/common/DefaultHandler.cpp new file mode 100644 index 00000000000..3ebff8f7ac2 --- /dev/null +++ b/ACEXML/common/DefaultHandler.cpp @@ -0,0 +1,176 @@ +// -*- C++ -*- $Id$ + +#include "common/DefaultHandler.h" +#if !defined (__ACEXML_INLINE__) +# include "common/DefaultHandler.i" +#endif /* __ACEXML_INLINE__ */ + +ACEXML_DefaultHandler::ACEXML_DefaultHandler (void) +{ + // no-op +} + +ACEXML_DefaultHandler::~ACEXML_DefaultHandler (void) +{ + // no-op +} + +void +ACEXML_DefaultHandler::characters (const ACEXML_Char *, + int, + int, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} + +void +ACEXML_DefaultHandler::endDocument (ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} + +void +ACEXML_DefaultHandler::endElement (const ACEXML_Char *, + const ACEXML_Char *, + const ACEXML_Char *, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} + +void +ACEXML_DefaultHandler::endPrefixMapping (const ACEXML_Char *, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} + +void +ACEXML_DefaultHandler::ignorableWhitespace (const ACEXML_Char *, + int, + int, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} + +void +ACEXML_DefaultHandler::processingInstruction (const ACEXML_Char *, + const ACEXML_Char *, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} + +void +ACEXML_DefaultHandler::setDocumentLocator (ACEXML_Locator *, + ACEXML_Env &) +{ + // No-op. +} + +void +ACEXML_DefaultHandler::skippedEntity (const ACEXML_Char *, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} + +void +ACEXML_DefaultHandler::startDocument (ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} + +void +ACEXML_DefaultHandler::startElement (const ACEXML_Char *, + const ACEXML_Char *, + const ACEXML_Char *, + ACEXML_Attributes *, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} + +void +ACEXML_DefaultHandler::startPrefixMapping (const ACEXML_Char *, + const ACEXML_Char *, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} + + // *** Methods inherit from ACEXML_DTDHandler. + +void +ACEXML_DefaultHandler::notationDecl (const ACEXML_Char *, + const ACEXML_Char *, + const ACEXML_Char *, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} + +void +ACEXML_DefaultHandler::unparsedEntityDecl (const ACEXML_Char *, + const ACEXML_Char *, + const ACEXML_Char *, + const ACEXML_Char *, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} + + // Methods inherit from ACEXML_EnitityResolver. + +ACEXML_InputSource * +ACEXML_DefaultHandler::resolveEntity (const ACEXML_Char *, + const ACEXML_Char *, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. + return 0; +} + + // Methods inherit from ACEXML_ErrorHandler. + + /* + * Receive notification of a recoverable error. + */ +void +ACEXML_DefaultHandler::error (ACEXML_SAXParseException &, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} + +void +ACEXML_DefaultHandler::fatalError (ACEXML_SAXParseException &, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} + +void +ACEXML_DefaultHandler::warning (ACEXML_SAXParseException &, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} diff --git a/ACEXML/common/DefaultHandler.h b/ACEXML/common/DefaultHandler.h new file mode 100644 index 00000000000..c746550c72b --- /dev/null +++ b/ACEXML/common/DefaultHandler.h @@ -0,0 +1,217 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file DefaultHandler.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= +#ifndef ACEXML_DEFAULTHANDLER_H +#define ACEXML_DEFAULTHANDLER_H + +#include "common/ContentHandler.h" +#include "common/DTDHandler.h" +#include "common/EntityResolver.h" +#include "common/ErrorHandler.h" + +/** + * @class ACEXML_DefaultHandler DefaultHandler.h "common/DefaultHandler.h" + * + * @brief ACEXML_DefaultHandler + * + * This class is available as a convenience base class for SAX2 + * applications: it provides default implementations for all of the + * callbacks in the four core SAX2 handler classes: + * + * - EntityResolver + * - DTDHandler + * - ContentHandler + * - ErrorHandler + * + * Application writers can extend this class when they need to + * implement only part of an interface; parser writers can instantiate + * this class to provide default handlers when the application has not + * supplied its own. + */ +class ACEXML_Export ACEXML_DefaultHandler + : public ACEXML_ContentHandler, + public ACEXML_DTDHandler, + public ACEXML_EntityResolver, + public ACEXML_ErrorHandler +{ +public: + /** + * Default constructor. + */ + ACEXML_DefaultHandler (void); + + /** + * destructor. + */ + virtual ~ACEXML_DefaultHandler (void); + + // Methods inherit from ACEXML_ContentHandler. + + /* + * Receive notification of character data. + */ + virtual void characters (const ACEXML_Char *ch, + int start, + int length, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of the end of a document. + */ + virtual void endDocument (ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of the end of an element. + */ + virtual void endElement (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * End the scope of a prefix-URI mapping. + */ + virtual void endPrefixMapping (const ACEXML_Char *prefix, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of ignorable whitespace in element content. + */ + virtual void ignorableWhitespace (const ACEXML_Char *ch, + int start, + int length, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of a processing instruction. + */ + virtual void processingInstruction (const ACEXML_Char *target, + const ACEXML_Char *data, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive an object for locating the origin of SAX document events. + */ + virtual void setDocumentLocator (ACEXML_Locator *locator, + ACEXML_Env &xmlenv) ; + + /* + * Receive notification of a skipped entity. + */ + virtual void skippedEntity (const ACEXML_Char *name, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of the beginning of a document. + */ + virtual void startDocument (ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of the beginning of an element. + */ + virtual void startElement (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Attributes *atts, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Begin the scope of a prefix-URI Namespace mapping. + */ + virtual void startPrefixMapping (const ACEXML_Char *prefix, + const ACEXML_Char *uri, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + // *** Methods inherit from ACEXML_DTDHandler. + + /* + * Receive notification of a notation declaration event. + */ + virtual void notationDecl (const ACEXML_Char *name, + const ACEXML_Char *publicId, + const ACEXML_Char *systemId, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of an unparsed entity declaration event. + */ + virtual void unparsedEntityDecl (const ACEXML_Char *name, + const ACEXML_Char *publicId, + const ACEXML_Char *systemId, + const ACEXML_Char *notationName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + // Methods inherit from ACEXML_EnitityResolver. + + /* + * Allow the application to resolve external entities. + */ + virtual ACEXML_InputSource *resolveEntity (const ACEXML_Char *publicId, + const ACEXML_Char *systemId, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + // Methods inherit from ACEXML_ErrorHandler. + + /* + * Receive notification of a recoverable error. + */ + virtual void error (ACEXML_SAXParseException &exception, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of a non-recoverable error. + */ + virtual void fatalError (ACEXML_SAXParseException &exception, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of a warning. + */ + virtual void warning (ACEXML_SAXParseException &exception, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; +}; + +#if defined (__ACEXML_INLINE__) +# include "common/DefaultHandler.i" +#endif /* __ACEXML_INLINE__ */ +#endif /* ACEXML_DEFAULTHANDLER_H */ diff --git a/ACEXML/common/DefaultHandler.i b/ACEXML/common/DefaultHandler.i new file mode 100644 index 00000000000..77b4466a3cb --- /dev/null +++ b/ACEXML/common/DefaultHandler.i @@ -0,0 +1 @@ +// -*- C++ -*- $Id$ diff --git a/ACEXML/common/Element_Def_Builder.cpp b/ACEXML/common/Element_Def_Builder.cpp new file mode 100644 index 00000000000..0063954c9e6 --- /dev/null +++ b/ACEXML/common/Element_Def_Builder.cpp @@ -0,0 +1,17 @@ +// $Id$ + +#include "common/Element_Def_Builder.h" + +ACEXML_Element_Def_Builder::~ACEXML_Element_Def_Builder () +{ + +} + + +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) +template class auto_ptr<ACEXML_Element_Def_Builder>; +template class ACE_Auto_Basic_Ptr<ACEXML_Element_Def_Builder>; +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +#pragma instantiate auto_ptr<ACEXML_Element_Def_Builder> +#pragma instantiate ACE_Auto_Basic_Ptr<ACEXML_Element_Def_Builder> +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/ACEXML/common/Element_Def_Builder.h b/ACEXML/common/Element_Def_Builder.h new file mode 100644 index 00000000000..187ab283423 --- /dev/null +++ b/ACEXML/common/Element_Def_Builder.h @@ -0,0 +1,132 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file Element_Def_Builder.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= +#ifndef _ACEXML_ELEMENT_DEF_BUILDER_H_ +#define _ACEXML_ELEMENT_DEF_BUILDER_H_ + +#include "ace/Auto_Ptr.h" +#include "common/XML_Types.h" +#include "common/Env.h" + +/** + * @ class ACEXML_Element_Def_Builder Element_Def_Builder.h "common/Element_Def_Builder.h" + * + * @ brief An abstract virtual class that defines the interface + * to define an element definition. + * + * This class defines how to define an element definition after + * parsing a DTD. + */ +class ACEXML_Export ACEXML_Element_Def_Builder +{ +public: + + typedef auto_ptr<ACEXML_Element_Def_Builder> VAR; + + typedef enum { + EMPTY, + ANY, + MIXED, + CHILDREN, + UNDEFINED + } CONTENT_TYPE; + + typedef enum { + ONE, + ZERO_OR_MORE, + ONE_OR_MORE, + ONE_OR_ZERO + } CARDINALITY; + + virtual ~ACEXML_Element_Def_Builder () = 0; + + /** + * Define the name of the element. + * + * @retval 0 if valid, -1 otherwise. + */ + virtual int setElementName (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; + + /** + * Define the content type of the element. + * + * @retval 0 if valid, -1 otherwise. + */ + virtual int setContentType (CONTENT_TYPE type, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; + + /** + * Insert one more element into Mixed definition. + */ + virtual int insertMixedElement (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; + + /** + * Start a new group of children. + */ + virtual int startChildGroup () = 0; + + /** + * End a new group of children. + * + * @retval 0 on success. + */ + virtual int endChildGroup (CARDINALITY card, + ACEXML_Env &xmlenv) = 0; + + /** + * Set the type of current child group to Choice. + * + * @retval 0 on success, -1 if the type of the child group has + * already been set and this action conflicts with the previous + * setting. + */ + virtual int setChoice () = 0; + + /** + * Set the type of current child group to Sequence. + * + * @retval 0 on success, -1 if the type of the child group has + * already been set and this action conflicts with the previous + * setting. + */ + virtual int setSequence () = 0; + + /** + * Insert an new element into the current child group. + * + * @retval 0 on success, -1 otherwise. + */ + virtual int insertElement (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; + + /** + * Dump the content of the attribute definition. + */ + virtual void dump (void) = 0; +}; + +#endif /* _ACEXML_ELEMENT_DEF_BUILDER_H_ */ diff --git a/ACEXML/common/EntityResolver.h b/ACEXML/common/EntityResolver.h new file mode 100644 index 00000000000..913228e2ca0 --- /dev/null +++ b/ACEXML/common/EntityResolver.h @@ -0,0 +1,49 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file EntityResolver.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= +#ifndef _ACEXML_ENTITYHANDLER_H_ +#define _ACEXML_ENTITYHANDLER_H_ + +#include "common/Env.h" +#include "common/InputSource.h" + +/** + * @class ACEXML_EntityResolver EntityResolver.h "common/EntityResolver.h" + * + * @brief ACEXML_EntityResolver + * + * If a SAX application needs to implement customized handling for + * external entities, it must implement this interface and register an + * instance with the SAX driver using the setEntityResolver method. + * + * The XML reader will then allow the application to intercept any + * external entities (including the external DTD subset and external + * parameter entities, if any) before including them. + * + * Many SAX applications will not need to implement this interface, + * but it will be especially useful for applications that build XML + * documents from databases or other specialised input sources, or for + * applications that use URI types other than URLs. + */ +class ACEXML_Export ACEXML_EntityResolver +{ +public: + /** + * Allow the application to resolve external entities. + */ + virtual ACEXML_InputSource *resolveEntity (const ACEXML_Char *publicId, + const ACEXML_Char *systemId, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; +}; + +#endif /* _ACEXML_ENTITYHANDLER_H_ */ diff --git a/ACEXML/common/Env.cpp b/ACEXML/common/Env.cpp new file mode 100644 index 00000000000..412996d8bef --- /dev/null +++ b/ACEXML/common/Env.cpp @@ -0,0 +1,22 @@ +// -*- C++ -*- $Id$ + +#include "common/Env.h" + +#if !defined (__ACEXML_INLINE__) +# include "common/Env.i" +#endif /* __ACEXML_INLINE__ */ + +ACEXML_Env::ACEXML_Env (void) + : exception_ (0) +{ +} + +ACEXML_Env::ACEXML_Env (const ACEXML_Env &ev) + : exception_ (ev.exception_->duplicate ()) +{ +} + +ACEXML_Env::~ACEXML_Env (void) +{ + delete this->exception_; +} diff --git a/ACEXML/common/Env.h b/ACEXML/common/Env.h new file mode 100644 index 00000000000..23d1aae4474 --- /dev/null +++ b/ACEXML/common/Env.h @@ -0,0 +1,67 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file Env.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= + +#ifndef _ACEXML_ENV_H_ +#define _ACEXML_ENV_H_ +#include "common/Exception.h" + +/** + * @class ACEXML_Env Env.h "common/Env.h" + * + * @brief ACEXML_Env + * + * ACEXML_Env is modeled after CORBA_Environment class. It provides + * a place holder for callees to propagate exceptions back to + * callers. ACEXML does not support native exceptions at this + * moement. + * + * @sa ACEXML_Exception + */ +class ACEXML_Export ACEXML_Env +{ +public: + /// Default constructor. + ACEXML_Env (); + + /// Copy constructor. + ACEXML_Env (const ACEXML_Env &ev); + + /// Destructor. + ~ACEXML_Env (void); + + /// Check if exception has occured. + int exception_occured (void) const; + + /// Clear the exception and reset the evnrionment. + void reset (void); + + /// Return the underlying exception for examination + ACEXML_Exception *exception (void) const; + + /// Set the underlying exception. ACEXML_Env assumes + /// ownership of the exception. + void exception (ACEXML_Exception *exception); + +private: + /// Place holder for exception (if one occurs.) + ACEXML_Exception *exception_; +}; + +// = These macros are used to speed up programming. I hope to +// merge them with ACE_CHECK macros someday. +#define ACEXML_CHECK if (xmlenv.exception ()) return; +#define ACEXML_CHECK_RETURN(VAL) if (xmlenv.exception ()) return VAL; + +#if defined (__ACEXML_INLINE__) +# include "common/Env.i" +#endif /* __ACEXML_INLINE__ */ +#endif /* _ACEXML_ENV_H_ */ diff --git a/ACEXML/common/Env.i b/ACEXML/common/Env.i new file mode 100644 index 00000000000..748f1c1d4f4 --- /dev/null +++ b/ACEXML/common/Env.i @@ -0,0 +1,26 @@ +// -*- C++ -*- $Id$ + +ACEXML_INLINE int +ACEXML_Env::exception_occured (void) const +{ + return this->exception_ != 0; +} + +ACEXML_INLINE ACEXML_Exception * +ACEXML_Env::exception (void) const +{ + return this->exception_; +} + +ACEXML_INLINE void +ACEXML_Env::exception (ACEXML_Exception *ex) +{ + delete this->exception_; + this->exception_ = ex; +} + +ACEXML_INLINE void +ACEXML_Env::reset (void) +{ + this->exception (0); +} diff --git a/ACEXML/common/ErrorHandler.h b/ACEXML/common/ErrorHandler.h new file mode 100644 index 00000000000..06ddd8408e9 --- /dev/null +++ b/ACEXML/common/ErrorHandler.h @@ -0,0 +1,68 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file ErrorHandler.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= +#ifndef _ACEXML_ERRORHANDLER_H_ +#define _ACEXML_ERRORHANDLER_H_ + +#include "common/Env.h" +#include "common/SAXExceptions.h" + +/** + * @class ACEXML_ErrorHandler ErrorHandler.h "common/ErrorHandler.h" + * + * @brief ACEXML_ErrorHandler + * + * If a SAX application needs to implement customized error handling, + * it must implement this interface and then register an instance with + * the XML reader using the setErrorHandler method. The parser will + * then report all errors and warnings through this interface. + * + * @b WARNING: If an application does not register an ErrorHandler, + * XML parsing errors will go unreported and bizarre behaviour may + * result. + * + * For XML processing errors, a SAX driver must use this interface + * instead of throwing an exception: it is up to the application to + * decide whether to throw an exception for different types of errors + * and warnings. Note, however, that there is no requirement that the + * parser continue to provide useful information after a call to + * fatalError (in other words, a SAX driver class could catch an + * exception and report a fatalError). + */ +class ACEXML_Export ACEXML_ErrorHandler +{ +public: + /** + * Receive notification of a recoverable error. + */ + virtual void error (ACEXML_SAXParseException &exception, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; + + /** + * Receive notification of a non-recoverable error. + */ + virtual void fatalError (ACEXML_SAXParseException &exception, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; + + /** + * Receive notification of a warning. + */ + virtual void warning (ACEXML_SAXParseException &exception, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; +}; + +#endif /* _ACEXML_ERRORHANDLER_H_ */ diff --git a/ACEXML/common/Exception.cpp b/ACEXML/common/Exception.cpp new file mode 100644 index 00000000000..ee64ef44e1d --- /dev/null +++ b/ACEXML/common/Exception.cpp @@ -0,0 +1,69 @@ +// -*- C++ -*- $Id$ + +#include "common/Exception.h" +#include "ace/Log_Msg.h" +#include "ace/ACE.h" + +static const ACEXML_Char ACEXML_Exception_name[] = { + 'A', 'C', 'E', 'X', 'M', 'L', + '_', 'E', 'x', 'c', 'e', 'p', + 't', 'i', 'o', 'n', 0}; +const ACEXML_Char *ACEXML_Exception::exception_name_ = ACEXML_Exception_name; + +static const ACEXML_Char ACEXML_Exception_null [] = {0}; +const ACEXML_Char *ACEXML_Exception::null_ = ACEXML_Exception_null; + +#if !defined (__ACEXML_INLINE__) +# include "common/Exception.i" +#endif /* __ACEXML_INLINE__ */ + +ACEXML_Exception::ACEXML_Exception (void) +{ +} + +ACEXML_Exception::ACEXML_Exception (const ACEXML_Exception &) +{ +} + + +ACEXML_Exception::~ACEXML_Exception (void) +{ +} + +const ACEXML_Char * +ACEXML_Exception::id (void) +{ + return ACEXML_Exception::exception_name_; +} + +// @@ An example of how duplicate should be implemented. + +// ACEXML_Exception * +// ACEXML_Exception::duplicate (void) +// { +// ACEXML_Exception *tmp; +// ACE_NEW_RETURN (tmp, +// ACEXML_Exception (*this), +// // Replace ACEXML_Exception with appropriate type. +// 0); +// } + +int +ACEXML_Exception::is_a (const ACEXML_Char *name) +{ + if (name == ACEXML_Exception::exception_name_ + || ACE_OS::strcmp (ACEXML_Exception::exception_name_, + name) == 0) + return 1; + + return 0; +} + +void +ACEXML_Exception::print (void) +{ + // @@ Nanbor, I don't know how to handle the case + // when we define ACEXML_UTF16 as ACEXML_Char + ACE_DEBUG ((LM_DEBUG, + "Exception: ACEXML_Exception\n")); +} diff --git a/ACEXML/common/Exception.h b/ACEXML/common/Exception.h new file mode 100644 index 00000000000..7f285ff3688 --- /dev/null +++ b/ACEXML/common/Exception.h @@ -0,0 +1,69 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file Exception.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= + +#ifndef _ACEXML_EXCEPTION_H_ +#define _ACEXML_EXCEPTION_H_ + +#include "common/XML_Types.h" + +/** + * @class ACEXML_Exception Exception.h "common/Exception.h" + * + * @brief ACEXML_Exception + * + * ACEXML_Exception is the base class for all ACEXML related exceptions. + * Since ACEXML currently does not support native exceptions, all + * exceptions should be thrown thru ACEXML_Env. + * + * @sa ACEXML_Env + */ +class ACEXML_Export ACEXML_Exception +{ +public: + /// Default contructor. + ACEXML_Exception (void); + + /// Copu constructor. + ACEXML_Exception (const ACEXML_Exception &ex); + + /// Destructor. + virtual ~ACEXML_Exception (void); + + /// Accessor for the exception name. + static const ACEXML_Char *name (void); + + /// Return the exception type. (for safe downcast.) + virtual const ACEXML_Char *id (void); + + /// Dynamically create a copy of this exception. + virtual ACEXML_Exception *duplicate (void) = 0; + + /// Check whether this is an exception of type specify by + /// <name>. + virtual int is_a (const ACEXML_Char *name) = 0; + + /// Print out exception using ACE_DEBUG. + virtual void print (void) = 0; + +protected: + /// All exceptions have names. This name is used to identify the + /// type of an exception. + static const ACEXML_Char *exception_name_; + + /// A null string that we return when there's no exception occurred. + static const ACEXML_Char *null_; +}; + +#if defined (__ACEXML_INLINE__) +# include "common/Exception.i" +#endif /* __ACEXML_INLINE__ */ +#endif /* _ACEXML_EXCEPTION_H_ */ diff --git a/ACEXML/common/Exception.i b/ACEXML/common/Exception.i new file mode 100644 index 00000000000..5e5438921b6 --- /dev/null +++ b/ACEXML/common/Exception.i @@ -0,0 +1,7 @@ +// -*- C++ -*- $Id$ + +ACEXML_INLINE const ACEXML_Char * +ACEXML_Exception::name (void) +{ + return ACEXML_Exception::exception_name_; +} diff --git a/ACEXML/common/FileCharStream.cpp b/ACEXML/common/FileCharStream.cpp new file mode 100644 index 00000000000..fb431271d85 --- /dev/null +++ b/ACEXML/common/FileCharStream.cpp @@ -0,0 +1,81 @@ +// $Id$ + +#include "common/FileCharStream.h" +#include "ace/ACE.h" + +ACEXML_FileCharStream::ACEXML_FileCharStream (void) + : filename_ (0), + infile_ (NULL) +{ +} + +ACEXML_FileCharStream::ACEXML_FileCharStream (const ACEXML_Char *name) + : filename_ (), + infile_ (NULL) +{ + this->open (name); +} + + +ACEXML_FileCharStream::~ACEXML_FileCharStream (void) +{ + if (this->infile_ != NULL) + ACE_OS::fclose (this->infile_); + delete this->filename_; +} + +int +ACEXML_FileCharStream::open (const ACEXML_Char *name) +{ + delete this->filename_; + this->filename_ = 0; + + this->infile_ = ACE_OS::fopen (name, ACE_LIB_TEXT ("r")); + if (this->infile_ == NULL) + return -1; + + this->filename_ = ACE::strnew (name); + return 0; +} + +int +ACEXML_FileCharStream::available (void) +{ + // @@ how? + + return -1; +} + +int +ACEXML_FileCharStream::close (void) +{ + delete this->filename_; + this->filename_ = 0; + ACE_OS::fclose (this->infile_); + this->infile_ = NULL; + return 0; +} + +int +ACEXML_FileCharStream::get (ACEXML_Char& ch) +{ + // @@ Error checking? + ch = fgetc (this->infile_); + + return (ch == EOF ? -1 :0); +} + +int +ACEXML_FileCharStream::read (ACEXML_Char *str, + size_t len) +{ + return ACE_OS::fread (str, len, 1, this->infile_); +} + +int +ACEXML_FileCharStream::peek (void) +{ + ACEXML_Char ch = ::fgetc (this->infile_); + ::ungetc (ch, this->infile_); + return ch; +} diff --git a/ACEXML/common/FileCharStream.h b/ACEXML/common/FileCharStream.h new file mode 100644 index 00000000000..e9edfa1b33d --- /dev/null +++ b/ACEXML/common/FileCharStream.h @@ -0,0 +1,76 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file FileCharStream.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= + +#ifndef _ACEXML_FILECHARSTREAM_H_ +#define _ACEXML_FILECHARSTREAM_H_ + +#include "common/CharStream.h" +#include "ace/streams.h" + +/** + * @class ACEXML_FileCharStream FileCharStream.h "common/FileCharStream.h" + * + * An implementation of ACEXML_CharStream for reading + * input from a file. + */ +class ACEXML_Export ACEXML_FileCharStream : public ACEXML_CharStream +{ +public: + /// Default constructor. + ACEXML_FileCharStream (void); + + /// Construct and opening a file. + ACEXML_FileCharStream (const ACEXML_Char *name); + + /// Destructor + virtual ~ACEXML_FileCharStream (void); + + /// Open a file. + int open (const ACEXML_Char *name); + + /** + * Returns the available ACEXML_Char in the buffer. -1 + * if the object is not initialized properly. + */ + virtual int available (void); + + /** + * Close this stream and release all resources used by it. + */ + virtual int close (void); + + /** + * Read the next ACEXML_Char. Return -1 if we are not able to + * return an ACEXML_Char, 0 if EOS is reached, or 1 if succeed. + */ + virtual int get (ACEXML_Char& ch); + + /** + * Read the next batch of ACEXML_Char strings + */ + virtual int read (ACEXML_Char *str, + size_t len); + + /** + * Peek the next ACEXML_Char in the CharStream. Return the + * character if succeess, -1 if EOS is reached. + */ + virtual int peek (void); + +private: + ACEXML_Char *filename_; + + FILE *infile_; + +}; + +#endif /* _ACEXML_FILECHARSTREAM_H_ */ diff --git a/ACEXML/common/InputSource.cpp b/ACEXML/common/InputSource.cpp new file mode 100644 index 00000000000..1d7035a3f2c --- /dev/null +++ b/ACEXML/common/InputSource.cpp @@ -0,0 +1,100 @@ +// -*- C++ -*- $Id$ + +#include "common/InputSource.h" +#include "ace/ACE.h" + +ACEXML_InputSource::ACEXML_InputSource (void) + : publicId_ (0), + systemId_ (0), + charStream_ (0), + encoding_ (0) +{ +} + +ACEXML_InputSource::ACEXML_InputSource (ACEXML_CharStream *stm) + : publicId_ (0), + systemId_ (0), + charStream_ (stm), + encoding_ (0) +{ +} + + /* + * Create a new input source with a character stream. + * / + InputSource (Reader); + */ + +ACEXML_InputSource::ACEXML_InputSource (const ACEXML_Char *systemId) + : systemId_ (ACE::strnew (systemId)) +{ +} + +ACEXML_InputSource::~ACEXML_InputSource (void) +{ + delete this->publicId_; + delete this->systemId_; + delete this->charStream_; + delete this->encoding_; +} + +ACEXML_CharStream * +ACEXML_InputSource::getCharStream (void) +{ + return this->charStream_; +} + + /* + * Get the character stream for this input source. + * / + virtual Reader *getCharacterStream (void); + */ + +const ACEXML_Char * +ACEXML_InputSource::getEncoding (void) +{ + return this->encoding_; +} + +const ACEXML_Char * +ACEXML_InputSource::getPublicId (void) +{ + return this->publicId_; +} + +const ACEXML_Char * +ACEXML_InputSource::getSystemId (void) +{ + return this->systemId_; +} + +void +ACEXML_InputSource::setCharStream (ACEXML_CharStream *stm) +{ + delete this->charStream_; + this->charStream_ = stm; +} + + /* + * Set the character stream for this input source. + * / + virtual void setCharacterStream (Reader *characterStream); + */ + +void +ACEXML_InputSource::setEncoding (const ACEXML_Char *encoding) +{ + this->encoding_ = ACE::strnew (encoding); +} + +void +ACEXML_InputSource::setPublicId (const ACEXML_Char *publicId) +{ + this->publicId_ = ACE::strnew (publicId); +} + +void +ACEXML_InputSource::setSystemId (const ACEXML_Char *systemId) +{ + this->systemId_ = ACE::strnew (systemId); +} diff --git a/ACEXML/common/InputSource.h b/ACEXML/common/InputSource.h new file mode 100644 index 00000000000..62ab76c6854 --- /dev/null +++ b/ACEXML/common/InputSource.h @@ -0,0 +1,120 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file InputSource.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= + +#ifndef _ACEXML_INPUTSOURCE_H_ +#define _ACEXML_INPUTSOURCE_H_ + +#include "common/CharStream.h" + +/** + * @class ACEXML_InputSource InputSource.h "common/InputSource.h" + * + * @brief ACEXML_InputSource encapsulates the actual input stream with some + * added information. + * + * This class allows a SAX application to encapsulate information + * about an input source in a single object, which may include a + * public identifier, a system identifier, a byte stream (possibly + * with a specified encoding), and/or a character stream. + * + * There are two places that the application will deliver this input + * source to the parser: as the argument to the Parser.parse method, + * or as the return value of the EntityResolver.resolveEntity method. + * + * The SAX parser will use the InputSource object to determine how to + * read XML input. If there is a character stream available, the + * parser will read that stream directly; if not, the parser will use + * a byte stream, if available; if neither a character stream nor a + * byte stream is available, the parser will attempt to open a URI + * connection to the resource identified by the system identifier. + * + * An InputSource object belongs to the application: the SAX parser + * shall never modify it in any way (it may modify a copy if + * necessary). + * + * @sa ACEXML_CharStream + */ +class ACEXML_Export ACEXML_InputSource +{ +public: + /* + * Default constructor. + */ + ACEXML_InputSource (void); + + /* + * Create a new input source with a ACEXML_Char stream. + * Notice that ACEXML_InputSource assumes the ownership + * of <stream> + */ + ACEXML_InputSource (ACEXML_CharStream *stream); + + /* + * Create a new input source with a system identifier. + */ + ACEXML_InputSource (const ACEXML_Char *systemId); + + /* + * Default destructor. + */ + virtual ~ACEXML_InputSource (void); + + /* + * Get the ACEXML_Char stream for this input source. + */ + virtual ACEXML_CharStream *getCharStream (void); + + /* + * Get the character encoding for a byte stream or URI. + */ + virtual const ACEXML_Char *getEncoding (void); + + /* + * Get the public identifier for this input source. + */ + virtual const ACEXML_Char *getPublicId (void); + + /* + * Get the system identifier for this input source. + */ + virtual const ACEXML_Char *getSystemId (void); + + /* + * Set the ACEXML_Char stream for this input source. + * Notice that ACEXML_InputSource assumes the ownership + * of <stream> + */ + virtual void setCharStream (ACEXML_CharStream *charStream); + + /* + * Set the character encoding, if known. + */ + virtual void setEncoding (const ACEXML_Char *encoding); + + /* + * Set the public identifier for this input source. + */ + virtual void setPublicId (const ACEXML_Char *publicId); + + /* + * Set the public identifier for this input source. + */ + virtual void setSystemId (const ACEXML_Char *systemId); + +private: + ACEXML_Char *publicId_; + ACEXML_Char *systemId_; + ACEXML_CharStream *charStream_; + ACEXML_Char *encoding_; +}; + +#endif /* _ACEXML_INPUTSOURCE_H_ */ diff --git a/ACEXML/common/Locator.h b/ACEXML/common/Locator.h new file mode 100644 index 00000000000..91dd7ef29c6 --- /dev/null +++ b/ACEXML/common/Locator.h @@ -0,0 +1,66 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file Locator.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= + +#ifndef _ACEXML_LOCATOR_H_ +#define _ACEXML_LOCATOR_H_ + +#include "common/XML_Types.h" + +/** + * @class ACEXML_Locator Locator.h "common/Locator.h" + * + * @brief ACEXML_Locator defines operations that an XML locator should support. + * + * If a SAX parser provides location information to the SAX + * application, it does so by implementing this interface and then + * passing an instance to the application using the content handler's + * setDocumentLocator method. The application can use the object to + * obtain the location of any other content handler event in the XML + * source document. + * + * Note that the results returned by the object will be valid only + * during the scope of each content handler method: the application + * will receive unpredictable results if it attempts to use the + * locator at any other time. + * + * SAX parsers are not required to supply a locator, but they are very + * strongly encouraged to do so. If the parser supplies a locator, it + * must do so before reporting any other document events. If no + * locator has been set by the time the application receives the + * startDocument event, the application should assume that a locator + * is not available. + */ +class ACEXML_Export ACEXML_Locator +{ +public: + /* + * Return the column number where the current document event ends. + */ + virtual int getColumnNumber (void) const = 0; + + /* + * Return the line number where the current document event ends. + */ + virtual int getLineNumber (void) const = 0; + + /* + * Return the public identifier for the current document event. + */ + virtual const ACEXML_Char *getPublicId (void) const = 0; + + /* + * Return the system identifier for the current document event. + */ + virtual const ACEXML_Char *getSystemId (void) const = 0; +}; + +#endif /* _ACEXML_LOCATOR_H_ */ diff --git a/ACEXML/common/LocatorImpl.cpp b/ACEXML/common/LocatorImpl.cpp new file mode 100644 index 00000000000..de715a44a0d --- /dev/null +++ b/ACEXML/common/LocatorImpl.cpp @@ -0,0 +1,53 @@ +// -*- C++ -*- $Id$ + +#include "common/LocatorImpl.h" + +#if !defined (__ACEXML_INLINE__) +# include "common/LocatorImpl.i" +#endif /* __ACEXML_INLINE__ */ + +ACEXML_LocatorImpl::ACEXML_LocatorImpl (void) + : publicId_ (0), + systemId_ (0), + lineNumber_ (0), + columnNumber_ (0) +{ +} + +ACEXML_LocatorImpl::ACEXML_LocatorImpl (const ACEXML_Locator *locator) + : publicId_ (ACE::strnew (locator->getPublicId ())), + systemId_ (ACE::strnew (locator->getSystemId ())), + lineNumber_ (locator->getLineNumber ()), + columnNumber_ (locator->getColumnNumber ()) +{ +} + +ACEXML_LocatorImpl::~ACEXML_LocatorImpl (void) +{ + delete this->publicId_; + delete this->systemId_; +} + +int +ACEXML_LocatorImpl::getColumnNumber (void) const +{ + return this->columnNumber_; +} + +int +ACEXML_LocatorImpl::getLineNumber (void) const +{ + return this->lineNumber_; +} + +const ACEXML_Char * +ACEXML_LocatorImpl::getPublicId (void) const +{ + return this->publicId_; +} + +const ACEXML_Char * +ACEXML_LocatorImpl::getSystemId (void) const +{ + return this->systemId_; +} diff --git a/ACEXML/common/LocatorImpl.h b/ACEXML/common/LocatorImpl.h new file mode 100644 index 00000000000..404457ffaeb --- /dev/null +++ b/ACEXML/common/LocatorImpl.h @@ -0,0 +1,124 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file LocatorImpl.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= + +#ifndef ACEXML_LOCALTORIMPL_H +#define ACEXML_LOCALTORIMPL_H + +#include "common/Locator.h" + +/** + * @class ACEXML_LocatorImpl LocatorImpl.h "common/LocatorImpl.h" + * + * @brief ACEXML_LocatorImpl is an implementation of ACEXML_Locator. + * + * This class is available mainly for application writers, who can + * use it to make a persistent snapshot of a locator at any point + * during a document parse: + * + * @code + * ACEXML_Locator locator; + * ACEXML_Locator startloc; + * + * public void setLocator (ACEXML_Locator locator) + * { + * // note the locator + * this.locator = locator; + * } + * + * public void startDocument () + * { + * // save the location of the start of the document + * // for future use. + * ACEXML_Locator startloc = new ACEXML_LocatorImpl(locator); + * } + * @endcode + * + * Normally, parser writers will not use this class, since it is more + * efficient to provide location information only when requested, + * rather than constantly updating a Locator object. + * + * @todo ACEXML parser doesn't support the use of Locator yet. + * + * @sa ACEXML_Locator + */ +class ACEXML_Export ACEXML_LocatorImpl : public ACEXML_Locator +{ +public: + /* + * Default constructor. + */ + ACEXML_LocatorImpl (void); + + /* + * Copy constructor. Create a persistent copy of the current state + * of a locator. When the original locator changes, this copy will + * still keep the original values (and it can be used outside the + * scope of DocumentHandler methods). + */ + ACEXML_LocatorImpl (const ACEXML_Locator *locator); + + /* + * Destructor. + */ + virtual ~ACEXML_LocatorImpl (void); + + /* + * Return the column number where the current document event ends. + */ + virtual int getColumnNumber (void) const; + + /* + * Return the line number where the current document event ends. + */ + virtual int getLineNumber (void) const; + + /* + * Return the public identifier for the current document event. + */ + virtual const ACEXML_Char *getPublicId (void) const; + + /* + * Return the system identifier for the current document event. + */ + virtual const ACEXML_Char *getSystemId (void) const; + + /* + * Set the column number of this locator. + */ + void setColumnNumber (int cn); + + /* + * Set the line number of this locator. + */ + void setLineNumber (int ln); + + /* + * Set the public identifier of this locator. + */ + void setPublicId (const ACEXML_Char *id); + + /* + * Set the system identifier of this locator. + */ + void setSystemId (const ACEXML_Char *id); + +private: + ACEXML_Char *publicId_; + ACEXML_Char *systemId_; + int lineNumber_; + int columnNumber_; +}; + +#if defined (__ACEXML_INLINE__) +# include "common/LocatorImpl.i" +#endif /* __ACEXML_INLINE__ */ +#endif /* ACEXML_LOCALTORIMPL_H */ diff --git a/ACEXML/common/LocatorImpl.i b/ACEXML/common/LocatorImpl.i new file mode 100644 index 00000000000..13871d0707d --- /dev/null +++ b/ACEXML/common/LocatorImpl.i @@ -0,0 +1,29 @@ +// -*- C++ -*- $Id$ + +#include "ace/ACE.h" + +ACEXML_INLINE void +ACEXML_LocatorImpl::setColumnNumber (int cn) +{ + this->columnNumber_ = cn; +} + +ACEXML_INLINE void +ACEXML_LocatorImpl::setLineNumber (int ln) +{ + this->lineNumber_ = ln; +} + +ACEXML_INLINE void +ACEXML_LocatorImpl::setPublicId (const ACEXML_Char *id) +{ + delete this->publicId_; + this->publicId_ = ACE::strnew (id); +} + +ACEXML_INLINE void +ACEXML_LocatorImpl::setSystemId (const ACEXML_Char *id) +{ + delete this->systemId_; + this->systemId_ = ACE::strnew (id); +} diff --git a/ACEXML/common/Makefile b/ACEXML/common/Makefile new file mode 100644 index 00000000000..a116af1c4d5 --- /dev/null +++ b/ACEXML/common/Makefile @@ -0,0 +1,54 @@ +#---------------------------------------------------------------------------- +# $Id$ +# +# Makefile for the server-side ACE network services +#---------------------------------------------------------------------------- + +LIB = libACEXML.a +SHLIB = libACEXML.$(SOEXT) + +FILES = Attributes_Def_Builder \ + AttributesImpl \ + CharStream \ + DefaultHandler \ + DTD_Manager \ + Element_Def_Builder \ + Env \ + Exception \ + FileCharStream \ + InputSource \ + LocatorImpl \ + NamespaceSupport \ + SAXExceptions \ + Transcode \ + Validator \ + XMLFilterImpl + +DEFS = $(addsuffix .h,$(FILES)) +LSRC = $(addsuffix .cpp,$(FILES)) + +LIBS += $(ACELIB) +CCFLAGS += -I.. + +BUILD = $(VLIB) $(VSHLIB) + +#---------------------------------------------------------------------------- +# Include macros and targets +#---------------------------------------------------------------------------- + +include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU +include $(ACE_ROOT)/include/makeinclude/macros.GNU +include $(ACE_ROOT)/include/makeinclude/rules.common.GNU +include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU +include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU +include $(ACE_ROOT)/include/makeinclude/rules.local.GNU + +#---------------------------------------------------------------------------- +# Local targets +#---------------------------------------------------------------------------- + +#---------------------------------------------------------------------------- +# Dependencies +#---------------------------------------------------------------------------- +# DO NOT DELETE THIS LINE -- g++dep uses it. +# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. diff --git a/ACEXML/common/Makefile.bor b/ACEXML/common/Makefile.bor new file mode 100644 index 00000000000..30be682e3b0 --- /dev/null +++ b/ACEXML/common/Makefile.bor @@ -0,0 +1,33 @@ +# Makefile for building the XML library + +NAME = ACEXML + +OBJFILES = \ + $(OBJDIR)\Attributes_Def_Builder.obj \ + $(OBJDIR)\AttributesImpl.obj \ + $(OBJDIR)\CharStream.obj \ + $(OBJDIR)\DefaultHandler.obj \ + $(OBJDIR)\DTD_Manager.obj \ + $(OBJDIR)\Element_Def_Builder.obj \ + $(OBJDIR)\Env.obj \ + $(OBJDIR)\Exception.obj \ + $(OBJDIR)\FileCharStream.obj \ + $(OBJDIR)\InputSource.obj \ + $(OBJDIR)\LocatorImpl.obj \ + $(OBJDIR)\NamespaceSupport.obj \ + $(OBJDIR)\SAXExceptions.obj \ + $(OBJDIR)\Transcode.obj \ + $(OBJDIR)\Validator.obj \ + $(OBJDIR)\XMLFilterImpl.obj + +CFLAGS = \ + $(ACE_CFLAGS) \ + $(ACE_XML_CFLAGS) \ + -DACEXML_BUILD_DLL + +CPPDIR = .;.. + +LIBFILES = \ + $(ACE_LIB) + +!include <$(ACE_ROOT)\include\makeinclude\build_core_library.bor> diff --git a/ACEXML/common/NamespaceSupport.cpp b/ACEXML/common/NamespaceSupport.cpp new file mode 100644 index 00000000000..a1961829987 --- /dev/null +++ b/ACEXML/common/NamespaceSupport.cpp @@ -0,0 +1,277 @@ +// -*- C++ -*- $Id$ + +#include "common/NamespaceSupport.h" + +static const ACEXML_Char ACEXML_XMLNS_PREFIX_name[] = {'x', 'm', 'l', 'n', 's', 0}; +const ACEXML_Char *ACEXML_NamespaceSupport::XMLNS_PREFIX = ACEXML_XMLNS_PREFIX_name; + +static const ACEXML_Char ACEXML_DEFAULT_NS_PREFIX[] = {0}; + +// Currently unused. +// static const ACEXML_Char ACEXML_NS_SEPARATOR[] = {':', 0}; + +static const ACEXML_Char ACEXML_TABOO_NS_PREFIX[] = {'x', 'm', 'l', 0}; + +static const ACEXML_Char ACEXML_XMLNS_URI_name[] = { + 'h', 't', 't', 'p', ':', '/', '/', + 'w', 'w', 'w', '.', 'w', '3', '.', 'o', 'r', 'g', '/', + 'X', 'M', 'L', '/', '1', '9', '9', '8', '/', + 'n', 'a', 'm', 'e', 's', 'p', 'a', 'c', 'e', 0}; +const ACEXML_Char *ACEXML_NamespaceSupport::XMLNS = ACEXML_XMLNS_URI_name; + +#if !defined (__ACEXML_INLINE__) +# include "common/NamespaceSupport.i" +#endif /* __ACEXML_INLINE__ */ + +ACEXML_Namespace_Context_Stack::ACEXML_Namespace_Context_Stack (void) + : head_ (0) +{ +} + +ACEXML_Namespace_Context_Stack::~ACEXML_Namespace_Context_Stack (void) +{ + // Clean up stuff. +} + +int +ACEXML_Namespace_Context_Stack::push (ACEXML_NS_CONTEXT *nsc) +{ + struct NS_Node_T *temp = 0; + ACE_NEW_RETURN (temp, struct NS_Node_T, -1); + + temp->item_ = nsc; + temp->next_ = this->head_; + + this->head_ = temp; + return 0; +} + +ACEXML_NS_CONTEXT * +ACEXML_Namespace_Context_Stack::pop (void) +{ + if (this->head_ != 0) + { + struct NS_Node_T *temp = this->head_; + this->head_ = temp->next_; + + ACEXML_NS_CONTEXT* retv = temp->item_; + delete temp; + return retv; + } + return 0; +} + + +ACEXML_NamespaceSupport::ACEXML_NamespaceSupport (void) + : ns_stack_ (), + effective_context_ (0) +{ + // @@ No way to tell if the new fails. + ACE_NEW (effective_context_, + ACEXML_NS_CONTEXT ()); + + ACEXML_String prefix (ACEXML_TABOO_NS_PREFIX, 0, 0); + ACEXML_String uri (ACEXML_XMLNS_URI_name, 0, 0); + this->effective_context_->bind (prefix, uri); +} + +ACEXML_NamespaceSupport::~ACEXML_NamespaceSupport (void) +{ + while (this->popContext () == 0) + ; +} + +int +ACEXML_NamespaceSupport::declarePrefix (const ACEXML_Char *prefix, + const ACEXML_Char *uri) +{ + // Unless predefined by w3.org(?) NS prefix can never start with + // "xml". + if (ACE_OS_String::strcmp (ACEXML_TABOO_NS_PREFIX, prefix) == 0) + return -1; + + // @@ No way to check new failure. + ACEXML_String ns_prefix (prefix, 0, 0); + ACEXML_String ns_uri (uri, 0, 0); + + return this->effective_context_->bind (ns_prefix, + ns_uri); +} + +int +ACEXML_NamespaceSupport::getDeclaredPrefixes (ACEXML_STR_LIST &prefixes) const +{ + ACEXML_NS_CONTEXT_ENTRY *entry; + + // The prefix for default namespace (empty string) is included in + // the return list. + for (ACEXML_NS_CONTEXT_ITER iter (*this->effective_context_); + iter.next (entry) != 0; + iter.advance ()) + prefixes.enqueue_tail (entry->ext_id_.c_str ()); + + return 0; +} + +const ACEXML_Char * +ACEXML_NamespaceSupport::getPrefix (const ACEXML_Char *uri) const +{ + ACEXML_NS_CONTEXT_ENTRY *entry; + + for (ACEXML_NS_CONTEXT_ITER iter (*this->effective_context_); + iter.next (entry) != 0; + iter.advance ()) + if (entry->int_id_ == ACEXML_String (uri, 0, 0) && + entry->ext_id_ != ACEXML_String (ACEXML_DEFAULT_NS_PREFIX, 0, 0)) + return entry->ext_id_.c_str (); + + return 0; // Nothing found. +} + +int +ACEXML_NamespaceSupport::getPrefixes (ACEXML_STR_LIST &prefixes) const +{ + ACEXML_NS_CONTEXT_ENTRY *entry; + + // The prefix for default namespace (empty string) is not included + // in the return list. + for (ACEXML_NS_CONTEXT_ITER iter (*this->effective_context_); + iter.next (entry) != 0; + iter.advance ()) + if (entry->ext_id_ != ACEXML_String(ACEXML_DEFAULT_NS_PREFIX, 0, 0)) + prefixes.enqueue_tail (entry->ext_id_.c_str ()); + else + continue; + + return 0; +} + +int +ACEXML_NamespaceSupport::getPrefixes (const ACEXML_Char *uri, + ACEXML_STR_LIST &prefixes) const +{ + ACEXML_NS_CONTEXT_ENTRY *entry; + + for (ACEXML_NS_CONTEXT_ITER iter (*this->effective_context_); + iter.next (entry) != 0; + iter.advance ()) + if (entry->int_id_ == ACEXML_String (uri, 0, 0) && + entry->ext_id_ != ACEXML_String (ACEXML_DEFAULT_NS_PREFIX, 0, 0)) + prefixes.enqueue_tail (entry->ext_id_.c_str ()); + else + continue; + + return 0; // Nothing found. +} + +const ACEXML_Char * +ACEXML_NamespaceSupport::getURI (const ACEXML_Char *prefix) const +{ + ACEXML_NS_CONTEXT_ENTRY *entry; + + if (this->effective_context_->find (ACEXML_String (prefix, 0, 0), + entry) == 0) + return entry->int_id_.c_str (); + return 0; +} + +int +ACEXML_NamespaceSupport::popContext (void) +{ + delete this->effective_context_; + + if ((this->effective_context_ = this->ns_stack_.pop ()) == 0) + return -1; + return 0; +} + +int +ACEXML_NamespaceSupport::pushContext (void) +{ + ACEXML_NS_CONTEXT *temp = this->effective_context_; + this->ns_stack_.push (temp); + ACE_NEW_RETURN (this->effective_context_, + ACEXML_NS_CONTEXT (), + -1); + + // @@ Copy everything from the old context the the new one. + ACEXML_NS_CONTEXT_ENTRY *entry; + + for (ACEXML_NS_CONTEXT_ITER iter (*temp); + iter.next (entry) != 0; + iter.advance ()) + this->effective_context_->bind (entry->ext_id_, + entry->int_id_); + + return 0; +} + + +int +ACEXML_NamespaceSupport::processName (const ACEXML_Char *qName, + const ACEXML_Char *&uri, + const ACEXML_Char *&name, + int is_attribute) const +{ + // @@ Need to use different rules to resolve attributes. + ACE_UNUSED_ARG (is_attribute); + + int qlen = ACE_OS_String::strlen (qName); + int len = -1; + for (int i = 0; i < qlen; ++i) + if (qName [i] == ':') + { + len = i; + break; + } + + ACEXML_String prefix; + + if (len == -1) + { + name = qName; + } + else + { + prefix.set (qName, len, 1); + name = qName + len + 1; + } + ACEXML_NS_CONTEXT_ENTRY *entry; + + if (this->effective_context_->find (prefix, entry) == 0) + uri = entry->int_id_.c_str (); + else + { + uri = ACEXML_DEFAULT_NS_PREFIX; + return -1; + } + + return 0; +} + +int +ACEXML_NamespaceSupport::reset (void) +{ + // Not implemented. + return 0; +} + +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) +template class ACE_Hash_Map_Entry<ACEXML_String, ACEXML_String>; +template class ACE_Hash_Map_Manager_Ex<ACEXML_String, ACEXML_String, ACE_Hash<ACEXML_String>, ACE_Equal_To<ACEXML_String>, ACE_Null_Mutex>; +template class ACE_Hash_Map_Iterator_Base_Ex<ACEXML_String, ACEXML_String, ACE_Hash<ACEXML_String>, ACE_Equal_To<ACEXML_String>, ACE_Null_Mutex>; +template class ACE_Hash_Map_Iterator_Ex<ACEXML_String, ACEXML_String, ACE_Hash<ACEXML_String>, ACE_Equal_To<ACEXML_String>, ACE_Null_Mutex>; +template class ACE_Hash_Map_Reverse_Iterator_Ex<ACEXML_String, ACEXML_String, ACE_Hash<ACEXML_String>, ACE_Equal_To<ACEXML_String>, ACE_Null_Mutex>; +template class ACE_Unbounded_Queue<const ACEXML_Char *>; +template class ACE_Unbounded_Queue_Iterator<const ACEXML_Char *>; +template class ACE_Node<const ACEXML_Char *>; +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +#pragma instantiate ACE_Hash_Map_Entry<ACEXML_String, ACEXML_String> +#pragma instantiate ACE_Hash_Map_Manager_Ex<ACEXML_String, ACEXML_String, ACE_Hash<ACEXML_String>, ACE_Equal_To<ACEXML_String>, ACE_Null_Mutex> +#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<ACEXML_String, ACEXML_String, ACE_Hash<ACEXML_String>, ACE_Equal_To<ACEXML_String>, ACE_Null_Mutex> +#pragma instantiate ACE_Hash_Map_Iterator_Ex<ACEXML_String, ACEXML_String, ACE_Hash<ACEXML_String>, ACE_Equal_To<ACEXML_String>, ACE_Null_Mutex> +#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex<ACEXML_String, ACEXML_String, ACE_Hash<ACEXML_String>, ACE_Equal_To<ACEXML_String>, ACE_Null_Mutex> +#pragma instantiate ACE_Unbounded_Queue<const ACEXML_Char *> +#pragma instantiate ACE_Unbounded_Queue_Iterator<const ACEXML_Char *> +#pragma instantiate ACE_Node<const ACEXML_Char *> +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/ACEXML/common/NamespaceSupport.h b/ACEXML/common/NamespaceSupport.h new file mode 100644 index 00000000000..b712b063c94 --- /dev/null +++ b/ACEXML/common/NamespaceSupport.h @@ -0,0 +1,228 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file NamespaceSupport.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= + +#ifndef ACEXML_NAMESPACESUPPORT_H +#define ACEXML_NAMESPACESUPPORT_H + +#include "common/XML_Types.h" +#include "ace/Functor.h" +#include "ace/Hash_Map_Manager.h" +#include "ace/Containers_T.h" + +typedef ACE_Hash_Map_Entry<ACEXML_String, + ACEXML_String> ACEXML_NS_CONTEXT_ENTRY; + +typedef ACE_Hash_Map_Manager_Ex<ACEXML_String, + ACEXML_String, + ACE_Hash<ACEXML_String>, + ACE_Equal_To<ACEXML_String>, + ACE_Null_Mutex> ACEXML_NS_CONTEXT; + +typedef ACE_Hash_Map_Iterator_Ex<ACEXML_String, + ACEXML_String, + ACE_Hash<ACEXML_String>, + ACE_Equal_To<ACEXML_String>, + ACE_Null_Mutex> ACEXML_NS_CONTEXT_ITER; + +typedef ACE_Hash_Map_Reverse_Iterator_Ex<ACEXML_String, + ACEXML_String, + ACE_Hash<ACEXML_String>, + ACE_Equal_To<ACEXML_String>, + ACE_Null_Mutex> ACEXML_NS_CONTEXT_REVERSE_ITER; + +typedef ACE_Unbounded_Queue<const ACEXML_Char *> ACEXML_STR_LIST; + +/** + * @class ACEXML_Namespace_Context_Stack NamespaceSupport.h "common/NamespaceSupport.h" + * + * @brief ACEXML_Namespace_Context_Stack implements a simple stack + * that ACEXML_NamespaceSupport uses to keep track of namespace scopes. + * + * @sa ACEXML_NamespaceSupport + */ +class ACEXML_Export ACEXML_Namespace_Context_Stack +{ +public: + /// Default constructor. + ACEXML_Namespace_Context_Stack (void); + + /// Destructor. + ~ACEXML_Namespace_Context_Stack (void); + + /// Push the old namespace before entering into a new namespace scope. + int push (ACEXML_NS_CONTEXT * old); + + /// Pop the old namespace when exiting a namespace scope. + ACEXML_NS_CONTEXT *pop (void); + +private: + /// Internal stack structure to hold namespace context. + struct NS_Node_T { + ACEXML_NS_CONTEXT *item_; + struct NS_Node_T *next_; + }; + + /// Anchor point for head of stack. + NS_Node_T *head_; +}; + +/** + * @class ACEXML_NamespaceSupport NamespaceSupport.h "common/NamespaceSupport.h" + * + * @brief ACEXML_NamespaceSupport provides namespace management + * operation for an XML parser. + * + * This class encapsulates the logic of Namespace processing: it + * tracks the declarations currently in force for each context and + * automatically processes qualified XML 1.0 names into their + * Namespace parts; it can also be used in reverse for generating XML + * 1.0 from Namespaces. + * + * Namespace support objects are reusable, but the reset method must + * be invoked between each session. + * + * Here is a simple session (in Java :-p): + * @code + * String parts[] = new String[3]; + * NamespaceSupport support = new NamespaceSupport(); + * + * support.pushContext(); + * support.declarePrefix("", "http://www.w3.org/1999/xhtml"); + * support.declarePrefix("dc", "http://www.purl.org/dc#"); + * + * String parts[] = support.processName("p", parts, false); + * System.out.println("Namespace URI: " + parts[0]); + * System.out.println("Local name: " + parts[1]); + * System.out.println("Raw name: " + parts[2]); + * + * String parts[] = support.processName("dc:title", parts, false); + * System.out.println("Namespace URI: " + parts[0]); + * System.out.println("Local name: " + parts[1]); + * System.out.println("Raw name: " + parts[2]); + * + * support.popContext(); + * @endcode + * + * Note that this class is optimized for the use case where most + * elements do not contain Namespace declarations: if the same + * prefix/URI mapping is repeated for each context (for example), this + * class will be somewhat less efficient. + * + * @sa ACEXML_Exception + */ +class ACEXML_Export ACEXML_NamespaceSupport +{ +public: + /** + * Default constructor. + */ + ACEXML_NamespaceSupport (void); + + /** + * Default destructor. + */ + ~ACEXML_NamespaceSupport (void); + + /** + * XMLNS default prefix and URI strings. + */ + static const ACEXML_Char *XMLNS_PREFIX; + static const ACEXML_Char *XMLNS; + + /** + * Declare a Namespace prefix. Return -1 if the prefix was illegal + * or an internal error occured. Return 0 if the prefix gets declared + * successfully, 1 if the prefix replaces an existing prefix definition. + */ + int declarePrefix (const ACEXML_Char *prefix, + const ACEXML_Char *uri); + + /** + * Return all prefixes declared in current context in + * the user-supplied list @a prefixes. It is user's reponsibility + * to ensure the list was empty originally. + */ + int getDeclaredPrefixes (ACEXML_STR_LIST &prefixes) const; + + /** + * Return one of the prefixes mapped to a Namespace URI. + */ + const ACEXML_Char *getPrefix (const ACEXML_Char *uri) const; + + /** + * Return all prefixes currently declared in the user-supplied list. + * @@ Known bug: This function should only return user-defined prefixes. + */ + int getPrefixes (ACEXML_STR_LIST &prefixes) const; + + /** + * Return all prefixes currently declared for a URI in the + * user-supplied list. + */ + int getPrefixes (const ACEXML_Char *uri, + ACEXML_STR_LIST &prefixes) const; + + /** + * Look up a prefix and get the currently-mapped Namespace URI. + */ + const ACEXML_Char *getURI (const ACEXML_Char *prefix) const; + + /** + * Revert to the previous namespace context. + */ + int popContext (void); + + /** + * Process a raw XML 1.0 name. + * @a qName is the raw XML name we want to parse, + * @a uri contains the URI string of the raw name. It points to a null + * string if the namespace is not valid or there's no namespace defined. + * @a name contains the original name without the prefix. + * @a is_attribute specifies whether the name is an attribute or not. + * Attributes have different scoping rules from elements. + */ + int processName (const ACEXML_Char *qName, + const ACEXML_Char *&uri, + const ACEXML_Char *&name, + int is_attribute) const; + + /** + * Start a new Namespace context. Prefixes defined in previous + * context are copied over to the new context. + */ + int pushContext (void); + + /** + * Reset this Namespace support object for reuse. + * @todo Not implemented. + */ + int reset (void); + +private: + /** + * Namespace Context stack. When we entering a new namespace + * context, the old context is duplicated and pushed into + * this stack. + */ + ACEXML_Namespace_Context_Stack ns_stack_; + + /** + * The effective namespace context. + */ + ACEXML_NS_CONTEXT *effective_context_; +}; + + +#if defined (__ACEXML_INLINE__) +# include "common/NamespaceSupport.i" +#endif /* __ACEXML_INLINE__ */ +#endif /* ACEXML_NAMESPACESUPPORT_H */ diff --git a/ACEXML/common/NamespaceSupport.i b/ACEXML/common/NamespaceSupport.i new file mode 100644 index 00000000000..9ae7aa1cb3a --- /dev/null +++ b/ACEXML/common/NamespaceSupport.i @@ -0,0 +1,16 @@ +// -*- C++ -*- $Id$ + +ACE_TEMPLATE_SPECIALIZATION +ACEXML_INLINE int +ACE_Equal_To<ACEXML_String>::operator () (const ACEXML_String &lhs, + const ACEXML_String &rhs) const +{ + return lhs == rhs; +} + +ACE_TEMPLATE_SPECIALIZATION +ACE_INLINE u_long +ACE_Hash<ACEXML_String>::operator () (const ACEXML_String &t) const +{ + return ACE::hash_pjw (t.c_str ()); +} diff --git a/ACEXML/common/SAXExceptions.cpp b/ACEXML/common/SAXExceptions.cpp new file mode 100644 index 00000000000..3a7c3f72a47 --- /dev/null +++ b/ACEXML/common/SAXExceptions.cpp @@ -0,0 +1,269 @@ +// -*- C++ -*- $Id$ + +#include "common/SAXExceptions.h" +#include "ace/Log_Msg.h" +#include "ace/ACE.h" + +static const ACEXML_Char ACEXML_SAXException_name[] = { + 'A', 'C', 'E', 'X', 'M', 'L', + 'S', 'A', 'X', + '_', 'E', 'x', 'c', 'e', 'p', 't', 'i', 'o', 'n', 0}; +const ACEXML_Char *ACEXML_SAXException::exception_name_ = ACEXML_SAXException_name; + +static const ACEXML_Char ACEXML_SAXNotSupportedException_name[] = { + 'A', 'C', 'E', 'X', 'M', 'L', + 'S', 'A', 'X', + 'N', 'o', 't', + 'S', 'u', 'p', 'p', 'o', 'r', 't', 'e', 'd', + '_', 'E', 'x', 'c', 'e', 'p', 't', 'i', 'o', 'n', 0}; +const ACEXML_Char *ACEXML_SAXNotSupportedException::exception_name_ = ACEXML_SAXNotSupportedException_name; + +static const ACEXML_Char ACEXML_SAXNotRecognizedException_name[] = { + 'A', 'C', 'E', 'X', 'M', 'L', + 'S', 'A', 'X', + 'N', 'o', 't', + 'R', 'e', 'c', 'o', 'g', 'n', 'i', 'z', 'e', 'd', + '_', 'E', 'x', 'c', 'e', 'p', 't', 'i', 'o', 'n', 0}; +const ACEXML_Char *ACEXML_SAXNotRecognizedException::exception_name_ = ACEXML_SAXNotRecognizedException_name; + +static const ACEXML_Char ACEXML_SAXParseException_name[] = { + 'A', 'C', 'E', 'X', 'M', 'L', + 'S', 'A', 'X', + 'P', 'a', 'r', 's', 'e', + '_', 'E', 'x', 'c', 'e', 'p', 't', 'i', 'o', 'n', 0}; +const ACEXML_Char *ACEXML_SAXParseException::exception_name_ = ACEXML_SAXParseException_name; + +#if !defined (__ACEXML_INLINE__) +# include "common/SAXExceptions.i" +#endif /* __ACEXML_INLINE__ */ + +ACEXML_SAXException::ACEXML_SAXException (void) + : message_ (0) +{ +} + +ACEXML_SAXException::ACEXML_SAXException (const ACEXML_Char *msg) + : message_ (ACE::strnew (msg)) +{ +} + +ACEXML_SAXException::ACEXML_SAXException (const ACEXML_SAXException &ex) + : ACEXML_Exception (ex), + message_ (ACE::strnew (ex.message_)) + +{ +} + + +ACEXML_SAXException::~ACEXML_SAXException (void) +{ + delete this->message_; +} + +const ACEXML_Char * +ACEXML_SAXException::id (void) +{ + return ACEXML_SAXException::exception_name_; +} + +ACEXML_Exception * +ACEXML_SAXException::duplicate (void) +{ + ACEXML_Exception *tmp; + ACE_NEW_RETURN (tmp, + ACEXML_SAXException (*this), + // Replace ACEXML_Exception with appropriate type. + 0); + return tmp; +} + +int +ACEXML_SAXException::is_a (const ACEXML_Char *name) +{ + if (name == ACEXML_SAXException::exception_name_ + || ACE_OS::strcmp (ACEXML_Exception::exception_name_, + name) == 0) + return 1; + else + return this->ACEXML_Exception::is_a (name); + + ACE_NOTREACHED (return 0;) +} + +void +ACEXML_SAXException::print (void) +{ + // @@ Nanbor, I don't know how to handle the case + // when we define ACEXML_UTF16 as ACEXML_Char + ACE_DEBUG ((LM_DEBUG, + "Exception: ACEXML_SAXException -- %s\n", + this->message_)); +} + +ACEXML_SAXNotSupportedException::ACEXML_SAXNotSupportedException (void) +{ +} + +ACEXML_SAXNotSupportedException::ACEXML_SAXNotSupportedException (const ACEXML_SAXNotSupportedException &ex) + : ACEXML_SAXException (ex) +{ +} + + +ACEXML_SAXNotSupportedException::~ACEXML_SAXNotSupportedException (void) +{ + delete this->message_; +} + +const ACEXML_Char * +ACEXML_SAXNotSupportedException::id (void) +{ + return ACEXML_SAXNotSupportedException::exception_name_; +} + +ACEXML_Exception * +ACEXML_SAXNotSupportedException::duplicate (void) +{ + ACEXML_Exception *tmp; + ACE_NEW_RETURN (tmp, + ACEXML_SAXNotSupportedException (*this), + // Replace ACEXML_Exception with appropriate type. + 0); + return tmp; +} + +int +ACEXML_SAXNotSupportedException::is_a (const ACEXML_Char *name) +{ + if (name == ACEXML_SAXNotSupportedException::exception_name_ + || ACE_OS::strcmp (ACEXML_Exception::exception_name_, + name) == 0) + return 1; + else + return this->ACEXML_SAXException::is_a (name); + + ACE_NOTREACHED (return 0;) +} + +void +ACEXML_SAXNotSupportedException::print (void) +{ + ACE_DEBUG ((LM_DEBUG, + "Exception: ACEXML_SAXNotSupportedException -- %s\n", + this->message_)); +} + +ACEXML_SAXNotRecognizedException::ACEXML_SAXNotRecognizedException (void) +{ +} + +ACEXML_SAXNotRecognizedException::ACEXML_SAXNotRecognizedException (const ACEXML_Char *msg) + : ACEXML_SAXException (msg) +{ +} + +ACEXML_SAXNotRecognizedException::ACEXML_SAXNotRecognizedException (const ACEXML_SAXNotRecognizedException &ex) + : ACEXML_SAXException (ex) +{ +} + + +ACEXML_SAXNotRecognizedException::~ACEXML_SAXNotRecognizedException (void) +{ + delete this->message_; +} + +const ACEXML_Char * +ACEXML_SAXNotRecognizedException::id (void) +{ + return ACEXML_SAXNotRecognizedException::exception_name_; +} + +ACEXML_Exception * +ACEXML_SAXNotRecognizedException::duplicate (void) +{ + ACEXML_Exception *tmp; + ACE_NEW_RETURN (tmp, + ACEXML_SAXNotRecognizedException (*this), + // Replace ACEXML_Exception with appropriate type. + 0); + return tmp; +} + +int +ACEXML_SAXNotRecognizedException::is_a (const ACEXML_Char *name) +{ + if (name == ACEXML_SAXNotRecognizedException::exception_name_ + || ACE_OS::strcmp (ACEXML_Exception::exception_name_, + name) == 0) + return 1; + else + return this->ACEXML_SAXException::is_a (name); + + ACE_NOTREACHED (return 0;) +} + +void +ACEXML_SAXNotRecognizedException::print (void) +{ + ACE_DEBUG ((LM_DEBUG, + "Exception: ACEXML_SAXNotRecognizedException -- %s\n", + this->message_)); +} + +ACEXML_SAXParseException::ACEXML_SAXParseException (void) +{ +} + +ACEXML_SAXParseException::ACEXML_SAXParseException (const ACEXML_Char *msg) + : ACEXML_SAXException (msg) +{ +} + +ACEXML_SAXParseException::ACEXML_SAXParseException (const ACEXML_SAXParseException &ex) + : ACEXML_SAXException (ex) +{ +} + + +ACEXML_SAXParseException::~ACEXML_SAXParseException (void) +{ +} + +const ACEXML_Char * +ACEXML_SAXParseException::id (void) +{ + return ACEXML_SAXParseException::exception_name_; +} + +ACEXML_Exception * +ACEXML_SAXParseException::duplicate (void) +{ + ACEXML_Exception *tmp; + ACE_NEW_RETURN (tmp, + ACEXML_SAXParseException (*this), + // Replace ACEXML_Exception with appropriate type. + 0); + return tmp; +} + +int +ACEXML_SAXParseException::is_a (const ACEXML_Char *name) +{ + if (name == ACEXML_SAXParseException::exception_name_ + || ACE_OS::strcmp (ACEXML_Exception::exception_name_, + name) == 0) + return 1; + else + return this->ACEXML_SAXException::is_a (name); + + ACE_NOTREACHED (return 0;) +} + +void +ACEXML_SAXParseException::print (void) +{ + ACE_DEBUG ((LM_DEBUG, + "Exception: ACEXML_SAXParseException -- %s\n", + this->message_)); +} diff --git a/ACEXML/common/SAXExceptions.h b/ACEXML/common/SAXExceptions.h new file mode 100644 index 00000000000..8cf909befda --- /dev/null +++ b/ACEXML/common/SAXExceptions.h @@ -0,0 +1,168 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file SAXExceptions.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= + +#ifndef _ACEXML_SAXEXCEPTIONS_H_ +#define _ACEXML_SAXEXCEPTIONS_H_ + +#include "common/Exception.h" + +/** + * @class ACEXML_SAXException SAXExceptions.h "common/SAXExceptions.h" + * + * @brief ACEXML_SAXException + * + * ACEXML_SAXException is the mother of all SAX related exceptions. + */ +class ACEXML_Export ACEXML_SAXException : public ACEXML_Exception +{ +public: + /// Default constructor. + ACEXML_SAXException (void); + + /// Constructor initializing the exception message. + ACEXML_SAXException (const ACEXML_Char *msg); + + /// Copy constructor. + ACEXML_SAXException (const ACEXML_SAXException &ex); + + /// Destructor. + virtual ~ACEXML_SAXException (void); + + static const ACEXML_Char *name (void); + + virtual const ACEXML_Char *id (void); + + /// Return the extra message accompanying the exception. + const ACEXML_Char *message (void); + + virtual ACEXML_Exception *duplicate (void); + + virtual int is_a (const ACEXML_Char *name); + + virtual void print (void); + +protected: + static const ACEXML_Char *exception_name_; + + /// A message providing more information about the exception being thrown. + ACEXML_Char *message_; +}; + +/** + * @class ACEXML_SAXNotSupportedException SAXExceptions.h "common/SAXExceptions.h" + * + * @brief ACEXML_SAXNotSupportedException + */ +class ACEXML_Export ACEXML_SAXNotSupportedException + : public ACEXML_SAXException +{ +public: + /// Default constructor. + ACEXML_SAXNotSupportedException (void); + + /// Copy constructor. + ACEXML_SAXNotSupportedException (const ACEXML_SAXNotSupportedException &ex); + + /// Destructor. + virtual ~ACEXML_SAXNotSupportedException (void); + + static const ACEXML_Char *name (void); + + virtual const ACEXML_Char *id (void); + + virtual ACEXML_Exception *duplicate (void); + + virtual int is_a (const ACEXML_Char *name); + + virtual void print (void); + +protected: + static const ACEXML_Char *exception_name_; +}; + +/** + * @class ACEXML_SAXNotRecognizedException SAXExceptions.h "common/SAXExceptions.h" + * + * @brief ACEXML_SAXNotRecognizedException + */ +class ACEXML_Export ACEXML_SAXNotRecognizedException + : public ACEXML_SAXException +{ +public: + /// Default constructor. + ACEXML_SAXNotRecognizedException (void); + + /// Constructor with an initializing exception message. + ACEXML_SAXNotRecognizedException (const ACEXML_Char *msg); + + /// Copy constructor. + ACEXML_SAXNotRecognizedException (const ACEXML_SAXNotRecognizedException &ex); + + /// Destructor. + virtual ~ACEXML_SAXNotRecognizedException (void); + + static const ACEXML_Char *name (void); + + virtual const ACEXML_Char *id (void); + + virtual ACEXML_Exception *duplicate (void); + + virtual int is_a (const ACEXML_Char *name); + + virtual void print (void); + +protected: + static const ACEXML_Char *exception_name_; +}; + +/** + * @class ACEXML_SAXParseException SAXExceptions.h "common/SAXExceptions.h" + * + * @brief ACEXML_SAXParseException + * + * @todo This exception needs to provide error location information to behave like + * the real SAXParseException defined in SAX2 spec. + */ +class ACEXML_Export ACEXML_SAXParseException + : public ACEXML_SAXException +{ +public: + /// Default constructor. + ACEXML_SAXParseException (void); + + /// Constructor with an initializing exception message. + ACEXML_SAXParseException (const ACEXML_Char *msg); + + /// Copy constructor. + ACEXML_SAXParseException (const ACEXML_SAXParseException &ex); + + /// Destructor. + virtual ~ACEXML_SAXParseException (void); + + static const ACEXML_Char *name (void); + + virtual const ACEXML_Char *id (void); + + virtual ACEXML_Exception *duplicate (void); + + virtual int is_a (const ACEXML_Char *name); + + virtual void print (void); + +protected: + static const ACEXML_Char *exception_name_; +}; + +#if defined (__ACEXML_INLINE__) +# include "common/SAXExceptions.i" +#endif /* __ACEXML_INLINE__ */ +#endif /* _ACEXML_SAXEXCEPTIONS_H_ */ diff --git a/ACEXML/common/SAXExceptions.i b/ACEXML/common/SAXExceptions.i new file mode 100644 index 00000000000..fc1514c2f12 --- /dev/null +++ b/ACEXML/common/SAXExceptions.i @@ -0,0 +1,33 @@ +// -*- C++ -*- $Id$ + +ACEXML_INLINE const ACEXML_Char * +ACEXML_SAXException::message (void) +{ + return (this->message_ == 0 ? + ACEXML_Exception::null_ : + this->message_); +} + +ACEXML_INLINE const ACEXML_Char * +ACEXML_SAXException::name (void) +{ + return ACEXML_SAXException::exception_name_; +} + +ACEXML_INLINE const ACEXML_Char * +ACEXML_SAXNotSupportedException::name (void) +{ + return ACEXML_SAXNotSupportedException::exception_name_; +} + +ACEXML_INLINE const ACEXML_Char * +ACEXML_SAXNotRecognizedException::name (void) +{ + return ACEXML_SAXNotRecognizedException::exception_name_; +} + +ACEXML_INLINE const ACEXML_Char * +ACEXML_SAXParseException::name (void) +{ + return ACEXML_SAXParseException::exception_name_; +} diff --git a/ACEXML/common/Transcode.cpp b/ACEXML/common/Transcode.cpp new file mode 100644 index 00000000000..8d767eb9e3d --- /dev/null +++ b/ACEXML/common/Transcode.cpp @@ -0,0 +1,83 @@ +// -*- C++ -*- $Id$ + +#include "common/Transcode.h" + +#if !defined (__ACEXML_INLINE__) +# include "common/Transcode.i" +#endif /* __ACEXML_INLINE__ */ + +int +ACEXML_Transcoder::utf8s2utf16s (const ACEXML_UTF8 *src, + ACEXML_UTF16 *dst, + size_t len) +{ + if (src == 0 || dst == 0) + return INVALID_ARGS; + + size_t src_len = ACE_OS::strlen (src) + 1; + + size_t total_len = 0; + int forward; + ACEXML_UCS4 temp; + + while (src_len > 0) + { + if ((forward = ACEXML_Transcoder::utf82ucs4 (src, + src_len, + temp)) <= 0) + return forward; + + src += forward; + src_len -= forward; + + if ((forward = ACEXML_Transcoder::ucs42utf16 (temp, + dst, + len)) <= 0) + return forward; + + total_len += forward; + dst += forward; + len -= forward; + } + + return total_len; +} + +int +ACEXML_Transcoder::utf16s2utf8s (const ACEXML_UTF16 *src, + ACEXML_UTF8 *dst, + size_t len) +{ + if (src == 0 || dst == 0) + return INVALID_ARGS; + + size_t src_len = 1; + for (const ACEXML_UTF16 *p = src; *p++ != 0; ++src_len) + ; + + size_t total_len = 0; + int forward; + ACEXML_UCS4 temp; + + while (src_len > 0) + { + if ((forward = ACEXML_Transcoder::utf162ucs4 (src, + src_len, + temp)) <= 0) + return forward; + + src += forward; + src_len -= forward; + + if ((forward = ACEXML_Transcoder::ucs42utf8 (temp, + dst, + len)) <= 0) + return forward; + + total_len += forward; + dst += forward; + len -= forward; + } + + return total_len; +} diff --git a/ACEXML/common/Transcode.h b/ACEXML/common/Transcode.h new file mode 100644 index 00000000000..cbbd34abb23 --- /dev/null +++ b/ACEXML/common/Transcode.h @@ -0,0 +1,165 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file Transcode.h + * + * This file declares functions to convert char string among different + * unicode encoding (utf8, utf16, utf32) + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= + +#ifndef _ACEXML_TRANSCODE_H_ +#define _ACEXML_TRANSCODE_H_ +#include "common/XML_Types.h" + +/** + * @class ACEXML_Transcoder Transcode.h "common/Transcode.h" + * + * @brief ACEXML_Transcoder + * + * Wrapper class for performing transcoding among different UNICODE + * encoding. + */ +class ACEXML_Export ACEXML_Transcoder +{ +public: + /* + * Status of the conversion function. + */ + enum + { + SUCCESS = 0, + DESTINATION_TOO_SHORT = -1, + END_OF_SOURCE = -2, + INVALID_ARGS = -3, + IS_SURROGATE = -4, + NON_UNICODE = -5 + } STATUS; + + + // The following functions translate a unicode characters + // into different encoding. Return number of characters put into + // destination or consumed from src if success without + // error, otherwise, return corresponding error code. + /* + * Convert a UTF-16 character into a string in UTF-8 encoding. + * + * @retval number of characters the function uses to store the + * converted string if succeeds or one of the error STATUS + * otherwise. + */ + static int utf162utf8 (ACEXML_UTF16 src, + ACEXML_UTF8 *dst, + size_t len); + + /* + * Convert a UCS-4 character into a string in UTF-8 encoding. + * + * @retval number of characters the function uses to store the + * converted string if succeeds or one of the error STATUS + * otherwise. + */ + static int ucs42utf8 (ACEXML_UCS4 src, + ACEXML_UTF8 *dst, + size_t len); + + /* + * Convert a UCS-4 character into a string in UTF-16 encoding. + * + * @retval number of characters the function uses to store the + * converted string if succeeds or one of the error STATUS + * otherwise. + */ + static int ucs42utf16 (ACEXML_UCS4 src, + ACEXML_UTF16 *dst, + size_t len); + + /* + * Convert a UTF-16 surrogate character pair into a string in UTF-8 encoding. + * + * @retval number of characters the function uses to store the + * converted string if succeeds or one of the error STATUS + * otherwise. + */ + static int surrogate2utf8 (ACEXML_UTF16 high, + ACEXML_UTF16 low, + ACEXML_UTF8 *dst, + size_t len); + + /* + * Convert a UTF-16 surrogate character pair into a UCS-4 character. + * + * @retval SUCCESS if succeeds or one of the error STATUS + * otherwise. + */ + static int surrogate2ucs4 (ACEXML_UTF16 high, + ACEXML_UTF16 low, + ACEXML_UCS4 &dst); + + /* + * Convert the first UNICODE character in a UTF-8 character string + * into a UCS-4 character. + * + * @retval number of characters the function consumed from the + * UTF-8 string if succeeds or one of the error STATUS + * otherwise. + */ + static int utf82ucs4 (const ACEXML_UTF8 *src, + size_t len, + ACEXML_UCS4 &dst); + + /* + * Convert the first UNICODE character in a UTF-16 character string + * into a UCS-4 character. + * + * @retval number of characters the function consumed from the + * UTF-16 string if succeeds or one of the error STATUS + * otherwise. + */ + static int utf162ucs4 (const ACEXML_UTF16 *src, + size_t len, + ACEXML_UCS4 &dst); + +// static int utf82utf16 (const ACEXML_UTF8 *src, +// size_t len, +// ACEXML_UTF16 &dst); + // This function does not handle surrogates. + + // = The following functions are non-inlined: + + /* + * Convert a UTF-8 string into a UTF-16 string. + * + * @param len The length of @a dst string. + * + * @retval number of characters the function consumed from the + * UTF-8 string if succeeds or one of the error STATUS + * otherwise. + */ + static int utf8s2utf16s (const ACEXML_UTF8 *src, + ACEXML_UTF16 *dst, + size_t len); + + /* + * Convert a UTF-16 string into a UTF-8 string. + * + * @param len The length of @a dst string. + * + * @retval number of characters the function uses in + * UTF-8 string if succeeds or one of the error STATUS + * otherwise. + */ + static int utf16s2utf8s (const ACEXML_UTF16 *src, + ACEXML_UTF8 *dst, + size_t len); +}; + +#if defined (__ACEXML_INLINE__) +# include "common/Transcode.i" +#endif /* __ACEXML_INLINE__ */ +#endif /* _ACEXML_TRANSCODE_H_ */ diff --git a/ACEXML/common/Transcode.i b/ACEXML/common/Transcode.i new file mode 100644 index 00000000000..e9ec3936e80 --- /dev/null +++ b/ACEXML/common/Transcode.i @@ -0,0 +1,234 @@ +// -*- C++ -*- $Id$ + +ACEXML_INLINE int +ACEXML_Transcoder::utf162utf8 (ACEXML_UTF16 src, + ACEXML_UTF8 *dst, + size_t len) +{ + // Check for valid argument first... + + if (dst == 0) + return INVALID_ARGS; + + if (src < 0x80) + { + if (len < 1) + return DESTINATION_TOO_SHORT; + + *dst = ACE_static_cast (ACEXML_UTF8, src); + return 1; + } + else if (src < 0x800) + { + if (len < 2) + return DESTINATION_TOO_SHORT; + + *dst = 0xc0 | (src / 0x40); + *(dst+1) = 0x80 | (src % 0x40); + return 2; + } + else + { + if (len < 3) + return DESTINATION_TOO_SHORT; + + // Surrogates (0xD800 - 0xDFFF) are not valid unicode values + if (src >= 0xD800 && src < 0xE000) + return IS_SURROGATE; + + *dst = 0xe0 | (src / 0x1000); + *(dst+1) = 0x80 | ((src % 0x1000) / 0x40); + *(dst+2) = 0x80 | (src % 0x40); + return 3; + } + ACE_NOTREACHED (return NON_UNICODE;) +} + +ACEXML_INLINE int +ACEXML_Transcoder::ucs42utf8 (ACEXML_UCS4 src, + ACEXML_UTF8 *dst, + size_t len) +{ + if (src < 0x10000) + { + int retv = ACEXML_Transcoder::utf162utf8 + (ACE_static_cast (ACEXML_UTF16, src), + dst, len); + return (retv == IS_SURROGATE ? NON_UNICODE : retv); + } + else if (src >= 0x100000 && src < 0x110000) + { + if (len < 4) + return DESTINATION_TOO_SHORT; + + if (dst == 0) + return INVALID_ARGS; + + *dst = 0xf0 | (src / 0x40000); + *(dst+1) = 0x80 | ((src % 0x40000) / 0x1000); + *(dst+2) = 0x80 | ((src % 0x1000) / 0x40); + *(dst+3) = 0x80 | (src % 0x40); + return 4; + } + return NON_UNICODE; +} + + +ACEXML_INLINE int +ACEXML_Transcoder::ucs42utf16 (ACEXML_UCS4 src, + ACEXML_UTF16 *dst, + size_t len) +{ + if (dst == 0) + return INVALID_ARGS; + + if (src < 0x10000) + { + if (len < 1) + return DESTINATION_TOO_SHORT; + + if (src >= 0xD800 && src < 0xE000) + return NON_UNICODE; // Surrogates are not valid unicode value + + *dst = ACE_static_cast (ACEXML_UTF16, src); + return 1; + } + else if (src >= 0x100000 && src < 0x110000) + // Scalar values are encoded into surrogates + { + if (len < 2) + return DESTINATION_TOO_SHORT; + + *dst = 0xD800 | (src / 0x400); + *(dst+1) = 0xDC00 | (src % 0x400); + return 2; + } + + return NON_UNICODE; +} + +ACEXML_INLINE int +ACEXML_Transcoder::surrogate2utf8 (ACEXML_UTF16 high, + ACEXML_UTF16 low, + ACEXML_UTF8 *dst, + size_t len) +{ + if (len < 3) + return DESTINATION_TOO_SHORT; + + if (dst == 0 || + (high >= 0xD800 && high < 0xDC00) || + (low >= 0xDC00 && low < 0xE000)) + return INVALID_ARGS; + + ACEXML_UCS4 src = (high - 0xD800) * 0x400 + (low - 0xDC00) + 0x10000; + *dst = 0xD800 | (src / 0x400); + *(dst+1) = 0xDC00 | (src % 0x400); + return 2; +} + +ACEXML_INLINE int +ACEXML_Transcoder::surrogate2ucs4 (ACEXML_UTF16 high, + ACEXML_UTF16 low, + ACEXML_UCS4 &dst) +{ + if ((high >= 0xD800 && high < 0xDC00) || + (low >= 0xDC00 && low < 0xE000)) + return INVALID_ARGS; + + dst = (high - 0xD800) * 0x400 + (low - 0xDC00) + 0x10000; + return SUCCESS; +} + +ACEXML_INLINE int +ACEXML_Transcoder::utf82ucs4 (const ACEXML_UTF8 *the_src, + size_t len, + ACEXML_UCS4 &dst) +{ + if (the_src == 0) + return INVALID_ARGS; + + const unsigned char *src = ACE_reinterpret_cast (const unsigned char *, + the_src); + + size_t forward = 1; + + if (forward > len) + return END_OF_SOURCE; + + if (ACE_static_cast (unsigned char, *src) < 0x80) + dst = *src; + else if ((*src & 0xE0) == 0xC0) + { + dst = (*(src++) & 0x1f) * 0x40; + if (++forward > len) + return END_OF_SOURCE; + if ((*src & 0xC0) != 0x80) + return NON_UNICODE; // Error transcoding unicode scalar + dst += *src & 0x3f; + } + else if ((*src & 0xF0) == 0xE0) + { + dst = (*src++ & 0x0f) * 0x40; + if (++forward > len) + return END_OF_SOURCE; + if ((*src & 0xC0) != 0x80) + return NON_UNICODE; + dst = (dst + (*src++ & 0x3f)) * 0x40; + if (++forward > len) + return END_OF_SOURCE; + if ((*src & 0xC0) != 0x80) + return NON_UNICODE; + dst += *src & 0x3f; + } + else if ((*src & 0xF8) == 0xF0) + { + dst = (*src++ & 0x0f) * 0x40; + if (++forward > len) + return END_OF_SOURCE; + if ((*src & 0xC0) != 0x80) + return NON_UNICODE; + dst = (dst + (*src++ & 0x3f)) * 0x40; + if (++forward > len) + return END_OF_SOURCE; + if ((*src & 0xC0) != 0x80) + return NON_UNICODE; + dst = (dst + (*src++ & 0x3f)) * 0x40; + if (++forward > len) + return END_OF_SOURCE; + if ((*src & 0xC0) != 0x80) + return NON_UNICODE; + dst += *src & 0x3f; + } + else + return NON_UNICODE; + + return forward; +} + +ACEXML_INLINE int +ACEXML_Transcoder::utf162ucs4 (const ACEXML_UTF16 *src, + size_t len, + ACEXML_UCS4 &dst) +{ + if (src == 0) + return INVALID_ARGS; + + size_t forward = 1; + if (*src >= 0xDC00 && *src < 0xE000) + { + if (len < 2) + return END_OF_SOURCE; + return ACEXML_Transcoder::surrogate2ucs4 (*src, + *(src+1), + dst); + } + else + { + if (len < 1) + return END_OF_SOURCE; + dst = *src; + } + + return forward; +} diff --git a/ACEXML/common/Validator.cpp b/ACEXML/common/Validator.cpp new file mode 100644 index 00000000000..7e6d4c1e847 --- /dev/null +++ b/ACEXML/common/Validator.cpp @@ -0,0 +1,8 @@ +// $Id$ + +#include "common/Validator.h" + +ACEXML_Validator::~ACEXML_Validator () +{ + +} diff --git a/ACEXML/common/Validator.h b/ACEXML/common/Validator.h new file mode 100644 index 00000000000..6e65043f8a4 --- /dev/null +++ b/ACEXML/common/Validator.h @@ -0,0 +1,57 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file Validator.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= +#ifndef _ACEXML_VALIDATOR_H_ +#define _ACEXML_VALIDATOR_H_ + +#include "common/Attributes.h" +#include "common/Env.h" + +/** + * @ class ACEXML_Validator Validator.h "common/Validator.h" + * + * @ brief An abstract virtual class defining validator interface. + * + * An validator provides validation service for one XML element. + * ACEXML_Validators are stateful object. Implementations should + * remember the current element encountered and determine if + * it's a valid sequence of child elements. A parser fishes + * out a validator of certain + */ +class ACEXML_Export ACEXML_Validator +{ +public: + virtual ~ACEXML_Validator () = 0; + + /** + * Validate attributes of an element. + * + * @retval 0 if valid, -1 otherwise. + */ + virtual int startElement (ACEXML_Attributes *atts, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; + + /** + * Validate the next child element. + * + * @retval 0 if valid, -1 otherwise. + */ + virtual int nextElement (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; +}; + +#endif /* _ACEXML_VALIDATOR_H_ */ diff --git a/ACEXML/common/XMLFilter.h b/ACEXML/common/XMLFilter.h new file mode 100644 index 00000000000..da09fa723ac --- /dev/null +++ b/ACEXML/common/XMLFilter.h @@ -0,0 +1,46 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file XMLFilter.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= +#ifndef _ACEXML_XMLFILTER_H_ +#define _ACEXML_XMLFILTER_H_ + +#include "common/XMLReader.h" + +/** + * @class ACEXML_XMLFilter XMLFilter.h "common/XMLFilter.h" + * + * @brief ACEXML_XMLFilter + * + * An XML filter is like an XML reader, except + * that it obtains its events from another XML reader rather than a + * primary source like an XML document or database. Filters can modify + * a stream of events as they pass on to the final application. + * + * The XMLFilterImpl helper class provides a convenient base for + * creating SAX2 filters, by passing on all ACEXML_EntityResolver, + * ACEXML_DTDHandler, ACEXML_ContentHandler and ACEXML_ErrorHandler + * events automatically. + */ +class ACEXML_Export ACEXML_XMLFilter : public ACEXML_XMLReader +{ +public: + /** + * Get the parent reader. + */ + virtual ACEXML_XMLReader *getParent (void) const = 0; + + /** + * Set the parent reader. + */ + virtual void setParent (ACEXML_XMLReader *parent) = 0; +}; + +#endif /* _ACEXML_XMLFILTER_H_ */ diff --git a/ACEXML/common/XMLFilterImpl.cpp b/ACEXML/common/XMLFilterImpl.cpp new file mode 100644 index 00000000000..e577ee748ce --- /dev/null +++ b/ACEXML/common/XMLFilterImpl.cpp @@ -0,0 +1,380 @@ +// -*- C++ -*- $Id$ + +#include "common/XMLFilterImpl.h" + +#if !defined (__ACEXML_INLINE__) +# include "common/XMLFilterImpl.i" +#endif /* __ACEXML_INLINE__ */ + +ACEXML_XMLFilterImpl::ACEXML_XMLFilterImpl (void) + : parent_ (0), + locator_ (0), + entityResolver_ (0), + dtdHandler_ (0), + contentHandler_ (0), + errorHandler_ (0) +{ +} + +ACEXML_XMLFilterImpl::ACEXML_XMLFilterImpl (ACEXML_XMLReader *parent) + : parent_ (parent), + locator_ (0), + entityResolver_ (0), + dtdHandler_ (0), + contentHandler_ (0), + errorHandler_ (0) +{ +} + +ACEXML_XMLFilterImpl::~ACEXML_XMLFilterImpl (void) +{ + // @@ How are all the object lifecycles managed? +} + +void +ACEXML_XMLFilterImpl::parse (ACEXML_InputSource *input, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + if (this->setupParser () < 0) + { + xmlenv.exception (new ACEXML_SAXException (ACE_LIB_TEXT ("No Parent available"))); + return; + } + this->parent_->parse (input, xmlenv); + return; +} + +void +ACEXML_XMLFilterImpl::parse (const ACEXML_Char *systemId, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + if (this->setupParser () < 0) + { + xmlenv.exception (new ACEXML_SAXException (ACE_LIB_TEXT ("No Parent available"))); + return; + } + + this->parent_->parse (new ACEXML_InputSource (systemId), + xmlenv); + return; +} + +int +ACEXML_XMLFilterImpl::getFeature (const ACEXML_Char *name, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException, + // ACEXML_SAXNotSupportedException)) +{ + if (this->parent_ != 0) + return this->parent_->getFeature (name, + xmlenv); + + xmlenv.exception (new ACEXML_SAXNotRecognizedException (name)); + return 0; +} + +void * +ACEXML_XMLFilterImpl::getProperty (const ACEXML_Char *name, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException, + // ACEXML_SAXNotSupportedException)) +{ + if (this->parent_ != 0) + return this->parent_->getProperty (name, + xmlenv); + + xmlenv.exception (new ACEXML_SAXNotRecognizedException (name)); + return 0; +} + +void +ACEXML_XMLFilterImpl::setFeature (const ACEXML_Char *name, + int boolean_value, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException, + // ACEXML_SAXNotSupportedException)) +{ + if (this->parent_ != 0) + { + this->parent_->setFeature (name, + boolean_value, + xmlenv); + return; + } + + xmlenv.exception (new ACEXML_SAXNotRecognizedException (name)); +} + +void +ACEXML_XMLFilterImpl::setProperty (const ACEXML_Char *name, + void *value, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException, + // ACEXML_SAXNotSupportedException)) +{ + if (this->parent_ != 0) + { + this->parent_->setProperty (name, + value, + xmlenv); + return; + } + + xmlenv.exception (new ACEXML_SAXNotRecognizedException (name)); +} + +ACEXML_XMLReader * +ACEXML_XMLFilterImpl::getParent (void) const +{ + return this->parent_; +} + +void +ACEXML_XMLFilterImpl::setParent (ACEXML_XMLReader *parent) +{ + this->parent_ = parent; +} + +void +ACEXML_XMLFilterImpl::characters (const ACEXML_Char *ch, + int start, + int length, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + if (this->contentHandler_ != 0) + this->contentHandler_->characters (ch, start, length, xmlenv); +} + +void +ACEXML_XMLFilterImpl::endDocument (ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + if (this->contentHandler_ != 0) + this->contentHandler_->endDocument (xmlenv); +} + +void +ACEXML_XMLFilterImpl::endElement (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + if (this->contentHandler_ != 0) + this->contentHandler_->endElement (namespaceURI, + localName, + qName, + xmlenv); +} + +void +ACEXML_XMLFilterImpl::endPrefixMapping (const ACEXML_Char *prefix, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + if (this->contentHandler_ != 0) + this->contentHandler_->endPrefixMapping (prefix, xmlenv); +} + +void +ACEXML_XMLFilterImpl::ignorableWhitespace (const ACEXML_Char *ch, + int start, + int length, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + if (this->contentHandler_ != 0) + this->contentHandler_->ignorableWhitespace (ch, + start, + length, + xmlenv); +} + +void +ACEXML_XMLFilterImpl::processingInstruction (const ACEXML_Char *target, + const ACEXML_Char *data, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + if (this->contentHandler_ != 0) + this->contentHandler_->processingInstruction (target, + data, + xmlenv); +} + +void +ACEXML_XMLFilterImpl::setDocumentLocator (ACEXML_Locator *locator, + ACEXML_Env &xmlenv) +{ + if (this->contentHandler_ != 0) + this->contentHandler_->setDocumentLocator (locator, xmlenv); +} + +void +ACEXML_XMLFilterImpl::skippedEntity (const ACEXML_Char *name, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + if (this->contentHandler_ != 0) + this->contentHandler_->skippedEntity (name, xmlenv); +} + +void +ACEXML_XMLFilterImpl::startDocument (ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + if (this->contentHandler_ != 0) + this->contentHandler_->startDocument (xmlenv); +} + +void +ACEXML_XMLFilterImpl::startElement (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Attributes *atts, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + if (this->contentHandler_ != 0) + this->contentHandler_->startElement (namespaceURI, + localName, + qName, + atts, + xmlenv); +} + +void +ACEXML_XMLFilterImpl::startPrefixMapping (const ACEXML_Char *prefix, + const ACEXML_Char *uri, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + if (this->contentHandler_ != 0) + this->contentHandler_->startPrefixMapping (prefix, + uri, + xmlenv); +} + +void +ACEXML_XMLFilterImpl::notationDecl (const ACEXML_Char *name, + const ACEXML_Char *publicId, + const ACEXML_Char *systemId, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + if (this->dtdHandler_ != 0) + this->dtdHandler_->notationDecl (name, + publicId, + systemId, + xmlenv); +} + +void +ACEXML_XMLFilterImpl::unparsedEntityDecl (const ACEXML_Char *name, + const ACEXML_Char *publicId, + const ACEXML_Char *systemId, + const ACEXML_Char *notationName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + if (this->dtdHandler_ != 0) + this->dtdHandler_->unparsedEntityDecl (name, + publicId, + systemId, + notationName, + xmlenv); +} + +ACEXML_InputSource * +ACEXML_XMLFilterImpl::resolveEntity (const ACEXML_Char *publicId, + const ACEXML_Char *systemId, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + if (this->entityResolver_ != 0) + return this->entityResolver_->resolveEntity (publicId, + systemId, + xmlenv); + return 0; +} + +void +ACEXML_XMLFilterImpl::error (ACEXML_SAXParseException &exception, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + if (this->errorHandler_ != 0) + this->errorHandler_->error (exception, + xmlenv); +} + +void +ACEXML_XMLFilterImpl::fatalError (ACEXML_SAXParseException &exception, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + if (this->errorHandler_ != 0) + this->errorHandler_->fatalError (exception, + xmlenv); +} + +void +ACEXML_XMLFilterImpl::warning (ACEXML_SAXParseException &exception, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + if (this->errorHandler_ != 0) + this->errorHandler_->warning (exception, + xmlenv); +} + +ACEXML_DTDHandler * +ACEXML_XMLFilterImpl::getDTDHandler (void) const +{ + return this->dtdHandler_; +} + +ACEXML_ContentHandler * +ACEXML_XMLFilterImpl::getContentHandler (void) const +{ + return this->contentHandler_; +} + +ACEXML_EntityResolver * +ACEXML_XMLFilterImpl::getEntityResolver (void) const +{ + return this->entityResolver_; +} + +ACEXML_ErrorHandler * +ACEXML_XMLFilterImpl::getErrorHandler (void) const +{ + return this->errorHandler_; +} + +void +ACEXML_XMLFilterImpl::setDTDHandler (ACEXML_DTDHandler *handler) +{ + this->dtdHandler_ = handler; +} + +void +ACEXML_XMLFilterImpl::setContentHandler (ACEXML_ContentHandler *handler) +{ + this->contentHandler_ = handler; +} + +void +ACEXML_XMLFilterImpl::setEntityResolver (ACEXML_EntityResolver *handler) +{ + this->entityResolver_ = handler; +} + +void +ACEXML_XMLFilterImpl::setErrorHandler (ACEXML_ErrorHandler *handler) +{ + this->errorHandler_ = handler; +} diff --git a/ACEXML/common/XMLFilterImpl.h b/ACEXML/common/XMLFilterImpl.h new file mode 100644 index 00000000000..16429e51146 --- /dev/null +++ b/ACEXML/common/XMLFilterImpl.h @@ -0,0 +1,333 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file XMLFilterImpl.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= +#ifndef ACEXML_XMLFILTERIMPL_H +#define ACEXML_XMLFILTERIMPL_H + +#include "common/XMLFilter.h" +#include "common/XMLReader.h" +#include "common/Locator.h" +#include "common/ContentHandler.h" +#include "common/DTDHandler.h" +#include "common/EntityResolver.h" +#include "common/ErrorHandler.h" + +/** + * @class ACEXML_XMLFilterImpl XMLFilterImpl.h "common/XMLFilterImpl.h" + * + * @brief ACEXML_XMLFilterImpl + * + * This class is designed to sit between an XMLReader and the client + * application's event handlers. By default, it does nothing but pass + * requests up to the reader and events on to the handlers unmodified, + * but subclasses can override specific methods to modify the event + * stream or the configuration requests as they pass through. + */ +class ACEXML_Export ACEXML_XMLFilterImpl + : public ACEXML_XMLFilter, + public ACEXML_ContentHandler, + public ACEXML_DTDHandler, + public ACEXML_EntityResolver, + public ACEXML_ErrorHandler +{ +public: + /** + * Default constructor. Create with no parent. + */ + ACEXML_XMLFilterImpl (void); + + /** + * Construct an XML filter with the specified parent. + */ + ACEXML_XMLFilterImpl (ACEXML_XMLReader *parent); + + /** + * Destructor. + */ + virtual ~ACEXML_XMLFilterImpl (void); + + /* + * Look up the value of a feature. + */ + virtual int getFeature (const ACEXML_Char *name, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException, + // ACEXML_SAXNotSupportedException)) + ; + + /* + * Look up the value of a property. + */ + virtual void * getProperty (const ACEXML_Char *name, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException, + // ACEXML_SAXNotSupportedException)) + ; + + /* + * Parse an XML document. + */ + virtual void parse (ACEXML_InputSource *input, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Parse an XML document from a system identifier (URI). + */ + virtual void parse (const ACEXML_Char *systemId, + ACEXML_Env &xmlenv) + // @@ throw IOException??? + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Set the state of a feature. + */ + virtual void setFeature (const ACEXML_Char *name, + int boolean_value, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException, + // ACEXML_SAXNotSupportedException)) + ; + + /* + * Set the value of a property. + */ + virtual void setProperty (const ACEXML_Char *name, + void *value, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException, + // ACEXML_SAXNotSupportedException)) + ; + + /* + * Get the parent reader. + */ + virtual ACEXML_XMLReader *getParent (void) const; + + /* + * Set the parent reader. + */ + virtual void setParent (ACEXML_XMLReader *parent); + + /* + * Get the current DTD event handler. + */ + virtual ACEXML_DTDHandler *getDTDHandler (void) const; + + /* + * Get the current content event handler. + */ + virtual ACEXML_ContentHandler *getContentHandler (void) const; + + /* + * Get the current entity resolver. + */ + virtual ACEXML_EntityResolver *getEntityResolver (void) const; + + /* + * Get the current error event handler. + */ + virtual ACEXML_ErrorHandler *getErrorHandler (void) const; + + /* + * Set the DTD event handler. + */ + virtual void setDTDHandler (ACEXML_DTDHandler *handler); + + /* + * Set the content event handler. + */ + virtual void setContentHandler (ACEXML_ContentHandler *handler); + + /* + * Set the entity resolver. + */ + virtual void setEntityResolver (ACEXML_EntityResolver *handler); + + /* + * Set the error event handler. + */ + virtual void setErrorHandler (ACEXML_ErrorHandler *handler); + + /* + * Receive notification of character data. + */ + virtual void characters (const ACEXML_Char *ch, + int start, + int length, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of the end of a document. + */ + virtual void endDocument (ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of the end of an element. + */ + virtual void endElement (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * End the scope of a prefix-URI mapping. + */ + virtual void endPrefixMapping (const ACEXML_Char *prefix, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of ignorable whitespace in element content. + */ + virtual void ignorableWhitespace (const ACEXML_Char *ch, + int start, + int length, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of a processing instruction. + */ + virtual void processingInstruction (const ACEXML_Char *target, + const ACEXML_Char *data, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive an object for locating the origin of SAX document events. + */ + virtual void setDocumentLocator (ACEXML_Locator *locator, + ACEXML_Env &xmlenv) ; + + /* + * Receive notification of a skipped entity. + */ + virtual void skippedEntity (const ACEXML_Char *name, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of the beginning of a document. + */ + virtual void startDocument (ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of the beginning of an element. + */ + virtual void startElement (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Attributes *atts, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Begin the scope of a prefix-URI Namespace mapping. + */ + virtual void startPrefixMapping (const ACEXML_Char *prefix, + const ACEXML_Char *uri, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + // *** Methods inherit from ACEXML_DTDHandler. + + /* + * Receive notification of a notation declaration event. + */ + virtual void notationDecl (const ACEXML_Char *name, + const ACEXML_Char *publicId, + const ACEXML_Char *systemId, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of an unparsed entity declaration event. + */ + virtual void unparsedEntityDecl (const ACEXML_Char *name, + const ACEXML_Char *publicId, + const ACEXML_Char *systemId, + const ACEXML_Char *notationName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + // Methods inherit from ACEXML_EnitityResolver. + + /* + * Allow the application to resolve external entities. + */ + virtual ACEXML_InputSource *resolveEntity (const ACEXML_Char *publicId, + const ACEXML_Char *systemId, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + // Methods inherit from ACEXML_ErrorHandler. + + /* + * Receive notification of a recoverable error. + */ + virtual void error (ACEXML_SAXParseException &exception, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of a non-recoverable error. + */ + virtual void fatalError (ACEXML_SAXParseException &exception, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of a warning. + */ + virtual void warning (ACEXML_SAXParseException &exception, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; +protected: + int setupParser (void); + // Set up the event handlers of parent parser to this. + // Returns -1 if no valid parent is set. + +private: + ACEXML_XMLReader *parent_; + ACEXML_Locator *locator_; + ACEXML_EntityResolver *entityResolver_; + ACEXML_DTDHandler *dtdHandler_; + ACEXML_ContentHandler *contentHandler_; + ACEXML_ErrorHandler *errorHandler_; +}; + +#if defined (__ACEXML_INLINE__) +# include "common/XMLFilterImpl.i" +#endif /* __ACEXML_INLINE__ */ +#endif /* ACEXML_XMLFILTERIMPL_H */ diff --git a/ACEXML/common/XMLFilterImpl.i b/ACEXML/common/XMLFilterImpl.i new file mode 100644 index 00000000000..4be2ceeceea --- /dev/null +++ b/ACEXML/common/XMLFilterImpl.i @@ -0,0 +1,14 @@ +// -*- C++ -*- $Id$ + +ACEXML_INLINE int +ACEXML_XMLFilterImpl::setupParser (void) +{ + if (this->parent_ == 0) + return -1; + + this->parent_->setEntityResolver (this); + this->parent_->setDTDHandler (this); + this->parent_->setContentHandler (this); + this->parent_->setErrorHandler (this); + return 0; +} diff --git a/ACEXML/common/XMLReader.h b/ACEXML/common/XMLReader.h new file mode 100644 index 00000000000..9586c9a3484 --- /dev/null +++ b/ACEXML/common/XMLReader.h @@ -0,0 +1,136 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file XMLReader.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= +#ifndef _ACEXML_XMLREADER_H_ +#define _ACEXML_XMLREADER_H_ + +#include "common/ContentHandler.h" +#include "common/DTDHandler.h" +#include "common/EntityResolver.h" +#include "common/ErrorHandler.h" + +/** + * @class ACEXML_XMLReader XMLReader.h "common/XMLReader.h" + * + * @brief ACEXML_XMLReader + * + * XMLReader is the interface that an XML parser's SAX2 driver must + * implement. This interface allows an application to set and query + * features and properties in the parser, to register event handlers + * for document processing, and to initiate a document parse. + * + * All SAX interfaces are assumed to be synchronous: the parse methods + * must not return until parsing is complete, and readers must wait + * for an event-handler callback to return before reporting the next + * event. + */ +class ACEXML_Export ACEXML_XMLReader +{ +public: + /** + * Return the current content handler. + */ + virtual ACEXML_ContentHandler *getContentHandler (void) const = 0; + + /** + * Return the current DTD handler. + */ + virtual ACEXML_DTDHandler *getDTDHandler (void) const = 0; + + /** + * Return the current entity resolver. + */ + virtual ACEXML_EntityResolver *getEntityResolver (void) const = 0; + + /** + * Return the current error handler. + */ + virtual ACEXML_ErrorHandler *getErrorHandler (void) const = 0; + + /** + * Look up the value of a feature. This method allows + * programmers to check whether a specific feature has been + * activated in the parser. + */ + virtual int getFeature (const ACEXML_Char *name, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException, + // ACEXML_SAXNotSupportedException)) + = 0; + + /** + * Look up the value of a property. + */ + virtual void * getProperty (const ACEXML_Char *name, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException, + // ACEXML_SAXNotSupportedException)) + = 0; + + /** + * Parse an XML document. + */ + virtual void parse (ACEXML_InputSource *input, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; + + /** + * Parse an XML document from a system identifier (URI). + */ + virtual void parse (const ACEXML_Char *systemId, + ACEXML_Env &xmlenv) + // @@ throw IOException??? + // ACE_THROW_SPEC ((ACEXML_SAXException)) + = 0; + + /** + * Allow an application to register a content event handler. + */ + virtual void setContentHandler (ACEXML_ContentHandler *handler) = 0; + + /** + * Allow an application to register a DTD event handler. + */ + virtual void setDTDHandler (ACEXML_DTDHandler *handler) = 0; + + /** + * Allow an application to register an entity resolver. + */ + virtual void setEntityResolver (ACEXML_EntityResolver *resolver) = 0; + + /** + * Allow an application to register an error event handler. + */ + virtual void setErrorHandler (ACEXML_ErrorHandler *handler) = 0; + + /** + * Activating or deactivating a feature. + */ + virtual void setFeature (const ACEXML_Char *name, + int boolean_value, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException, + // ACEXML_SAXNotSupportedException)) + = 0; + + /** + * Set the value of a property. + */ + virtual void setProperty (const ACEXML_Char *name, + void *value, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException, + // ACEXML_SAXNotSupportedException)) + = 0; +}; + +#endif /* _ACEXML_XMLREADER_H_ */ diff --git a/ACEXML/common/XML_Common.dsp b/ACEXML/common/XML_Common.dsp new file mode 100644 index 00000000000..29c6a947fbb --- /dev/null +++ b/ACEXML/common/XML_Common.dsp @@ -0,0 +1,283 @@ +# Microsoft Developer Studio Project File - Name="XML_Common" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=XML_Common - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "XML_Common.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "XML_Common.mak" CFG="XML_Common - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "XML_Common - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "XML_Common - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "XML_Common - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XML_COMMON_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../.." /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "ACEXML_BUILD_DLL" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 ace.lib /nologo /dll /machine:I386 /out:"../../bin/ACEXML.dll" /libpath:"w:\ace_wrappers\ace"
+
+!ELSEIF "$(CFG)" == "XML_Common - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "XML_Common___Win32_Debug"
+# PROP BASE Intermediate_Dir "XML_Common___Win32_Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XML_COMMON_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../.." /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D ACEXML_HAS_DLL=1 /D "ACEXML_BUILD_DLL" /YX /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib /nologo /dll /debug /machine:I386 /out:"../../bin/ACEXMLD.dll" /pdbtype:sept /libpath:"w:\ace_wrappers\ace"
+
+!ENDIF
+
+# Begin Target
+
+# Name "XML_Common - Win32 Release"
+# Name "XML_Common - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\Attributes_Def_Builder.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\AttributesImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CharStream.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\DefaultHandler.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\DTD_Manager.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Element_Def_Builder.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Env.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Exception.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\FileCharStream.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\InputSource.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\LocatorImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\NamespaceSupport.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\SAXExceptions.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Transcode.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Validator.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\XMLFilterImpl.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\ACEXML_Export.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Attributes.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Attributes_Def_Builder.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\AttributesImpl.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\CharStream.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ContentHandler.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\DefaultHandler.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\DTD_Manager.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\DTDHandler.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Element_Def_Builder.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\EntityResolver.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Env.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ErrorHandler.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Exception.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\FileCharStream.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\InputSource.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Locator.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\LocatorImpl.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\NamespaceSupport.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\SAXExceptions.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Transcode.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Validator.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\XML_Types.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\XMLFilter.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\XMLFilterImpl.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\XMLReader.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i"
+# Begin Source File
+
+SOURCE=.\Env.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\Exception.i
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/ACEXML/common/XML_Types.h b/ACEXML/common/XML_Types.h new file mode 100644 index 00000000000..bcb5edc6e21 --- /dev/null +++ b/ACEXML/common/XML_Types.h @@ -0,0 +1,71 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file XML_Types.h + * + * This file collects the type definitions for data types + * used in ACE XML parser. + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= + +#ifndef _ACEXML_XML_TYPES_H_ +# define _ACEXML_XML_TYPES_H_ +# include "ace/OS.h" +# include "ace/SString.h" +# include "common/ACEXML_Export.h" + +# if defined (ACE_HAS_WCHAR) && (ACE_SIZEOF_WCHAR == 2) +typedef wchar_t ACEXML_UTF16; +# else +typedef ACE_USHORT16 ACEXML_UTF16; +# endif /* ACE_HAS_WCHAR && ACE_SIZEOF_WCHAR == 2 */ + +# if defined (ACE_HAS_WCHAR) && (ACE_SIZEOF_WCHAR == 4) +typedef wchar_t ACEXML_UCS4; +# else +typedef ACE_UINT32 ACEXML_UCS4; +# endif /* ACE_HAS_WCHAR && ACE_SIZEOF_WCHAR == 4 */ + +typedef char ACEXML_UTF8; + +/** + * @typedef ACEXML_Char + * ACEXML_Char only maps to ACEXML_UTF16 when ACE_USES_WCHAR is defined. + * Here we assume sizeof (wchar_t) is always 2 bytes. + * + * Defulat XML strings will use UTF-8 encoding. We would like to use + * the string classes in standard C++ Library here. But they are not + * very portable yet (as far as I know,) and I'll just use ACE_CString + * for now, unless UNICODE support is turned on. Notice that you + * should never convert strings between ACE_CString and ACE_WString + * using the built-in conversion functions as they only perform simple + * copy without any encoding conversion. + */ +# if defined (ACE_USES_WCHAR) +typedef ACEXML_UTF16 ACEXML_Char; +typedef ACE_WString ACEXML_String; +# else +typedef ACEXML_UTF8 ACEXML_Char; +typedef ACE_CString ACEXML_String; +# endif /* ACE_USES_WCHAR */ + +# if (!defined (ACEXML_HAS_INLINE) && defined (__ACE_INLINE__)) || (ACEXML_HAS_INLINE == 1) +# define __ACEXML_INLINE__ inline +# else +# if defined (__ACEXML_INLINE__) +# undefine __ACEXML_INLINE__ +# endif /* __ACEXML_INLINE__ */ +# endif /* (!ACEXML_HAS_INLINE) && (__ACE_INLINE__) || (ACEXML_HAS_INLINE == 1) */ + +# if defined (__ACEXML_INLINE__) +# define ACEXML_INLINE inline +# else +# define ACEXML_INLINE +# endif /* __ACEXML_INLINE */ + +#endif /* _ACEXML_XML_TYPE_H_ */ diff --git a/ACEXML/docs/TODO.txt b/ACEXML/docs/TODO.txt new file mode 100644 index 00000000000..022c75c4fc7 --- /dev/null +++ b/ACEXML/docs/TODO.txt @@ -0,0 +1,40 @@ +/** +@page acexml_todo ACEXML TO-DO List + +<ul> + + <li>Make the parser dynamically loadable + + <li>Decouple ACE_Svc_Configurator from ACE Library. Allow users to + load in different configurator/parsers. + + <li>Add Namespace support. The basic supporting mechanisms are + already in place. The parser itself, however, does not take + advantage of them to differentiate the different namespace. + + <li>Add Schema paring ability. It is not clear to me, however, how + to specify which schema a document is associated with. + + <li>Add support for resolving external entities, such as a + schema/namespace definition located on the web. There should be + a factory object to create various kinds of @ref CharStream + based on the URN or <i>PEReference</i> being parsed. + + <li>Add parameterized entity management class. See above. + + <li>A char stream should be able to differentiate the file encoding + and perform the correct transcoding automatically. + + <li>Add a new FileCharStream class that understand UTF-16 encoded files. + + <li>Add a class to determine the encoding of an XML file automatically. + + <li>Need to support ACEXML_Locator in the parser. There's currently + no way to tell the location where the parser is parsing or where + an error occurred. + + <li>Define validator building/calling interfaces. + +</ul> + +*/
\ No newline at end of file diff --git a/ACEXML/docs/bugs.txt b/ACEXML/docs/bugs.txt new file mode 100644 index 00000000000..11baef88416 --- /dev/null +++ b/ACEXML/docs/bugs.txt @@ -0,0 +1,25 @@ +/** +@page acexml_bugs ACEXML Known Bugs + +<ul> + <li>ACEXML currently do not validate an XML files. + + <li>Exception handling is not implemented. Maybe we should not try + to use the environment variables/exceptions scheme again. + Considering changing to a simpler error reporting method. + + <li>Need to verify predefined entities are working correctly. Check + out the SAXPrint example. + + <li>Currently, replacement of parameterized reference (PEReference) is + not working. + + <li>Although most namespace supporting features/interfaces are + there, the parser currently does not interpret namespace. + + <li>I'm sure this list will grow. :) + +</ul> + + +*/
\ No newline at end of file diff --git a/ACEXML/docs/guidelines.txt b/ACEXML/docs/guidelines.txt new file mode 100644 index 00000000000..eb14f5af560 --- /dev/null +++ b/ACEXML/docs/guidelines.txt @@ -0,0 +1,33 @@ +// -*- HTML-Helper -*- $Id$ + +/** +@page acexml_guides ACEXML Programming Guidelines + +<ul> + <li>Character encoding: The default character encoding for ACEXML + can be set at compile time. ACEXML uses UTF-8 encoding in most + platforms where <code>ACEXML_Char</code> maps to + <code>char</code> in this case. When ACE is configured to use + <CODE>wchar</CODE> and <CODE>UNICODE</CODE>, ACEXML uses UTF-16 + encoding and <code>ACEXML_Char</code> maps to + <code>wchar_t</code>. Notice that ACEXML assume + <code>sizeof (wchar_t)</code> is of 2-byte long. For platforms + using 4-byte <code>wchar_t</code>, ACEXML will not work + correctly but it should be trivial to fix.<p> + + <li>Currently, there's only an example showing how to use the parser + under @c $(ACE_ROOT)/XML/examples/SAXPrint/. + + <li>To develop a new validator, one must create a DLL implementing + @c ACEXML_Attributes_Def_Builder, @c + ACEXML_Attribute_Def_Builder, @c ACEXML_Element_Def_Builder, + @c ACEXML_Validator, and @c ACEXML_DTD_Manager. The DLL should + also export a traditional C function called @c + create_dtd_manager. The XML parser itself should also be + modified to support and dynamically link with the new validator. + See @c $(ACE_ROOT)/XML/parser/debug_validator/ for an example. + +</ul> + + +*/
\ No newline at end of file diff --git a/ACEXML/docs/parser_features.txt b/ACEXML/docs/parser_features.txt new file mode 100644 index 00000000000..164ecbe55bd --- /dev/null +++ b/ACEXML/docs/parser_features.txt @@ -0,0 +1,21 @@ +/** -*- HTML-Helper -*- $Id$ +@defgroup acexml_parser_features Configurable Special Features of ACEXML Parser +@{ + +There are special features in ACEXML Parser that can be +activated/deactivated thru @c setFeature. Likewise, whether a feature +has been activated or not can be queried using @c getFeature. + +@sa ACEXML_XMLReader::setFeature +@sa ACEXML_XMLReader::getFeature + +Here is a list of supported features: + +<OL> + <li> None so far. We are integrating a dummy debug validator into + the parser which will use the string "Dummy Debug Validator" to turn + the feature on/off. +</OL> + +@} +*/
\ No newline at end of file diff --git a/ACEXML/docs/readme.txt b/ACEXML/docs/readme.txt new file mode 100644 index 00000000000..f0de833b526 --- /dev/null +++ b/ACEXML/docs/readme.txt @@ -0,0 +1,36 @@ +/** -*- HTML-Helper -*- $Id$ +@mainpage ACEXML - A Small and Portable XML Parser + +@section acexml_synopsis Synopsis +ACEXML is a small footprint and portable framework for integrating XML +parsing ability into user applications. The framework is based on the + <a href="http://www.saxproject.org/"> Simple API for XML +(SAX 2.0) </A> by David Megginson. A simple non-conformant XML parser +is also included in the framework. Since our original motivation was +to use the parser for specifying software composition and +configuration descriptors, at the current stage, the parser does not +fully support all the features specified in the XML specification. + +We do, however, plan to add more features to the parser and will +either release a more versatile parser or allow the current parser to +dynamically load in the extra features in the future. + +@section acexml_features Features of ACEXML +<ul> + <li> ACEXML only recognize UNICODE documents, although they can be + in various different encoding, such as UTF-8, UTF-16, or UCS-4. + Therefore, it might be a problem to handle document containing + multi-byte charatersets. They can, however, be translated into + UNICODE before being parsed by ACEXML parser. +</ul> + + +@section acexml_others Other Topics +<ol> + <li>@ref acexml_parser_features + <li>@ref acexml_guides + <li>@ref acexml_bugs + <li>@ref acexml_todo +</ol> + +*/ diff --git a/ACEXML/examples/Makefile b/ACEXML/examples/Makefile new file mode 100644 index 00000000000..a508ee1d096 --- /dev/null +++ b/ACEXML/examples/Makefile @@ -0,0 +1,17 @@ +#---------------------------------------------------------------------------- +# $Id$ +# +# Makefile for the client programs that test the ACE network services +#---------------------------------------------------------------------------- + +DIRS = SAXPrint + +#---------------------------------------------------------------------------- +# Include macros and targets +#---------------------------------------------------------------------------- + +include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU +include $(ACE_ROOT)/include/makeinclude/macros.GNU +include $(ACE_ROOT)/include/makeinclude/rules.common.GNU +include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU +include $(ACE_ROOT)/include/makeinclude/rules.nolocal.GNU diff --git a/ACEXML/examples/SAXPrint/Makefile b/ACEXML/examples/SAXPrint/Makefile new file mode 100644 index 00000000000..0d7fbe4ebb3 --- /dev/null +++ b/ACEXML/examples/SAXPrint/Makefile @@ -0,0 +1,49 @@ +#---------------------------------------------------------------------------- +# $Id$ +# +# Makefile for repeating token client application +#---------------------------------------------------------------------------- + +#---------------------------------------------------------------------------- +# Local macros +#---------------------------------------------------------------------------- + +LDLIBS = -lACEXML_Parser -lACEXML +FILES = Print_Handler \ + SAXPrint_Handler + +SRC = $(addsuffix .cpp,$(FILES)) +OBJ = $(LSRC:%.cpp=$(VDIR)%.o) +CCFLAGS += -I../.. + +BIN = main + +BUILD = $(VBIN) + +#---------------------------------------------------------------------------- +# Include macros and targets +#---------------------------------------------------------------------------- + +include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU +include $(ACE_ROOT)/include/makeinclude/macros.GNU +include $(ACE_ROOT)/include/makeinclude/rules.common.GNU +include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU +include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU +include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU +include $(ACE_ROOT)/include/makeinclude/rules.local.GNU + +#---------------------------------------------------------------------------- +# Local targets +#---------------------------------------------------------------------------- + +#---------------------------------------------------------------------------- +# Dependencies +#---------------------------------------------------------------------------- + +# IF YOU PUT ANYTHING HERE IT WILL GO AWAY +# DO NOT DELETE THIS LINE -- g++dep uses it. +# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. + + + +# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/ACEXML/examples/SAXPrint/Print_Handler.cpp b/ACEXML/examples/SAXPrint/Print_Handler.cpp new file mode 100644 index 00000000000..bfb95a39c05 --- /dev/null +++ b/ACEXML/examples/SAXPrint/Print_Handler.cpp @@ -0,0 +1,253 @@ +// -*- C++ -*- $Id$ + +#include "Print_Handler.h" +#include "ace/ACE.h" +#include "ace/Log_Msg.h" + +#if !defined (__ACEXML_INLINE__) +# include "Print_Handler.i" +#endif /* __ACEXML_INLINE__ */ + +ACEXML_Print_Handler::ACEXML_Print_Handler (void) +{ + // no-op +} + +ACEXML_Print_Handler::~ACEXML_Print_Handler (void) +{ + // no-op +} + +void +ACEXML_Print_Handler::characters (const ACEXML_Char *cdata, + int start, + int end, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + ACE_UNUSED_ARG (xmlenv); + + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event characters () ** start: %d end: %d ***************\n%s\n- End event characters () ---------------\n"), + start, end, cdata)); +} + +void +ACEXML_Print_Handler::endDocument (ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + ACE_UNUSED_ARG (xmlenv); + + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event endDocument () ***************\n"))); +} + +void +ACEXML_Print_Handler::endElement (const ACEXML_Char *uri, + const ACEXML_Char *name, + const ACEXML_Char *qName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + ACE_UNUSED_ARG (xmlenv); + + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event endElement (%s, %s, ) ***************\n"), + uri, name, qName)); +} + +void +ACEXML_Print_Handler::endPrefixMapping (const ACEXML_Char *prefix, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + ACE_UNUSED_ARG (xmlenv); + + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event endPrefixMapping (%s) ***************\n"), + prefix)); +} + +void +ACEXML_Print_Handler::ignorableWhitespace (const ACEXML_Char *, + int, + int, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + ACE_UNUSED_ARG (xmlenv); + + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event ignorableWhitespace () ***************\n"))); +} + +void +ACEXML_Print_Handler::processingInstruction (const ACEXML_Char *target, + const ACEXML_Char *data, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + ACE_UNUSED_ARG (xmlenv); + + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event processingInstruction (%s, %s) ***************\n"), + target, data)); +} + +void +ACEXML_Print_Handler::setDocumentLocator (ACEXML_Locator *, + ACEXML_Env &xmlenv) +{ + ACE_UNUSED_ARG (xmlenv); + + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event setDocumentLocator () ***************\n"))); +} + +void +ACEXML_Print_Handler::skippedEntity (const ACEXML_Char *name, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + ACE_UNUSED_ARG (xmlenv); + + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event skippedEntity (%s) ***************\n"), + name)); +} + +void +ACEXML_Print_Handler::startDocument (ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + ACE_UNUSED_ARG (xmlenv); + + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event startDocument () ***************\n"))); +} + +void +ACEXML_Print_Handler::startElement (const ACEXML_Char *uri, + const ACEXML_Char *name, + const ACEXML_Char *qName, + ACEXML_Attributes *alist, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + ACE_UNUSED_ARG (xmlenv); + + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event startElement (%s, %s, %s) ***************\n"), + uri, name, qName)); + + if (alist != 0) + for (size_t i = 0; i < alist->getLength (); ++i) + { + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT (" %s = \"%s\"\n"), + alist->getQName (i), alist->getValue (i))); + } +} + +void +ACEXML_Print_Handler::startPrefixMapping (const ACEXML_Char *, + const ACEXML_Char *, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} + +// *** Methods inherit from ACEXML_DTDHandler. + +void +ACEXML_Print_Handler::notationDecl (const ACEXML_Char *name, + const ACEXML_Char *publicID, + const ACEXML_Char *systemID, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event notationDecl: (%s) "), + name)); + + if (publicID == 0) + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("SYSTEM %s\n"), + systemID)); + else if (systemID == 0) + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("PUBLIC %s\n"), + publicID)); + else + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("PUBLIC %s %s\n"), + publicID, systemID)); +} + +void +ACEXML_Print_Handler::unparsedEntityDecl (const ACEXML_Char *name, + const ACEXML_Char *publicID, + const ACEXML_Char *systemID, + const ACEXML_Char *notationName, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Unparsed Entity: %s"), + name)); + + if (publicID == 0) + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT (" SYSTEM %s"), + systemID)); + else + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT (" PUBLIC %s %s"), + publicID, systemID)); + + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT (" NDATA %s\n"), + notationName)); +} + +// Methods inherit from ACEXML_EnitityResolver. + +ACEXML_InputSource * +ACEXML_Print_Handler::resolveEntity (const ACEXML_Char *, + const ACEXML_Char *, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. + return 0; +} + +// Methods inherit from ACEXML_ErrorHandler. + + /* + * Receive notification of a recoverable error. + */ +void +ACEXML_Print_Handler::error (ACEXML_SAXParseException &, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} + +void +ACEXML_Print_Handler::fatalError (ACEXML_SAXParseException &, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} + +void +ACEXML_Print_Handler::warning (ACEXML_SAXParseException &, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} diff --git a/ACEXML/examples/SAXPrint/Print_Handler.h b/ACEXML/examples/SAXPrint/Print_Handler.h new file mode 100644 index 00000000000..a9608c6b322 --- /dev/null +++ b/ACEXML/examples/SAXPrint/Print_Handler.h @@ -0,0 +1,197 @@ +// $Id$ + +//============================================================================= +/** + * @file Print_Handler.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= + +#ifndef ACEXML_PRINT_HANDLER_H +#define ACEXML_PRINT_HANDLER_H + +#include "common/DefaultHandler.h" + +/** + * @class ACEXML_Print_Handler + * + * @brief ACEXML_Print_Handler is an example SAX event handler. + * + * This SAX event handler prints out a detailed event report + * on every event it received. + */ +class ACEXML_Print_Handler : public ACEXML_DefaultHandler +{ +public: + /* + * Default constructor. + */ + ACEXML_Print_Handler (void); + + /* + * Default destructor. + */ + virtual ~ACEXML_Print_Handler (void); + + // Methods inherit from ACEXML_ContentHandler. + + /* + * Receive notification of character data. + */ + virtual void characters (const ACEXML_Char *ch, + int start, + int length, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of the end of a document. + */ + virtual void endDocument (ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of the end of an element. + */ + virtual void endElement (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * End the scope of a prefix-URI mapping. + */ + virtual void endPrefixMapping (const ACEXML_Char *prefix, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of ignorable whitespace in element content. + */ + virtual void ignorableWhitespace (const ACEXML_Char *ch, + int start, + int length, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of a processing instruction. + */ + virtual void processingInstruction (const ACEXML_Char *target, + const ACEXML_Char *data, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive an object for locating the origin of SAX document events. + */ + virtual void setDocumentLocator (ACEXML_Locator *locator, + ACEXML_Env &xmlenv) ; + + /* + * Receive notification of a skipped entity. + */ + virtual void skippedEntity (const ACEXML_Char *name, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of the beginning of a document. + */ + virtual void startDocument (ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of the beginning of an element. + */ + virtual void startElement (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Attributes *atts, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Begin the scope of a prefix-URI Namespace mapping. + */ + virtual void startPrefixMapping (const ACEXML_Char *prefix, + const ACEXML_Char *uri, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + // *** Methods inherit from ACEXML_DTDHandler. + + /* + * Receive notification of a notation declaration event. + */ + virtual void notationDecl (const ACEXML_Char *name, + const ACEXML_Char *publicId, + const ACEXML_Char *systemId, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of an unparsed entity declaration event. + */ + virtual void unparsedEntityDecl (const ACEXML_Char *name, + const ACEXML_Char *publicId, + const ACEXML_Char *systemId, + const ACEXML_Char *notationName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + // Methods inherit from ACEXML_EnitityResolver. + + /* + * Allow the application to resolve external entities. + */ + virtual ACEXML_InputSource *resolveEntity (const ACEXML_Char *publicId, + const ACEXML_Char *systemId, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + // Methods inherit from ACEXML_ErrorHandler. + + /* + * Receive notification of a recoverable error. + */ + virtual void error (ACEXML_SAXParseException &exception, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of a non-recoverable error. + */ + virtual void fatalError (ACEXML_SAXParseException &exception, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of a warning. + */ + virtual void warning (ACEXML_SAXParseException &exception, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; +}; + +#endif /* ACEXML_PRINT_HANDLER_H */ diff --git a/ACEXML/examples/SAXPrint/Print_Handler.i b/ACEXML/examples/SAXPrint/Print_Handler.i new file mode 100644 index 00000000000..77b4466a3cb --- /dev/null +++ b/ACEXML/examples/SAXPrint/Print_Handler.i @@ -0,0 +1 @@ +// -*- C++ -*- $Id$ diff --git a/ACEXML/examples/SAXPrint/SAXPrint.dsp b/ACEXML/examples/SAXPrint/SAXPrint.dsp new file mode 100644 index 00000000000..06c3cc09b48 --- /dev/null +++ b/ACEXML/examples/SAXPrint/SAXPrint.dsp @@ -0,0 +1,130 @@ +# Microsoft Developer Studio Project File - Name="SAXPrint" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=SAXPrint - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "SAXPrint.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "SAXPrint.mak" CFG="SAXPrint - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "SAXPrint - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "SAXPrint - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "SAXPrint - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../.." /I "..\.." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib ACEXML.lib ACEXML_Parser.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\ace" /libpath:"..\..\Common" /libpath:"..\..\parser\parser"
+
+!ELSEIF "$(CFG)" == "SAXPrint - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../.." /I "..\.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib ACEXMLd.lib ACEXML_Parserd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\ace" /libpath:"..\..\Common" /libpath:"..\..\parser\parser"
+
+!ENDIF
+
+# Begin Target
+
+# Name "SAXPrint - Win32 Release"
+# Name "SAXPrint - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\main.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Print_Handler.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\SAXPrint_Handler.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\Print_Handler.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\SAXPrint_Handler.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "i"
+# Begin Source File
+
+SOURCE=.\Print_Handler.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\SAXPrint_Handler.i
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/ACEXML/examples/SAXPrint/SAXPrint.dsw b/ACEXML/examples/SAXPrint/SAXPrint.dsw new file mode 100644 index 00000000000..3ec5cb65624 --- /dev/null +++ b/ACEXML/examples/SAXPrint/SAXPrint.dsw @@ -0,0 +1,29 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "SAXPrint"=.\SAXPrint.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp b/ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp new file mode 100644 index 00000000000..9d6395b620d --- /dev/null +++ b/ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp @@ -0,0 +1,238 @@ +// -*- C++ -*- $Id$ + +#include "SAXPrint_Handler.h" +#include "ace/ACE.h" +#include "ace/Log_Msg.h" + +#if !defined (__ACEXML_INLINE__) +# include "SAXPrint_Handler.i" +#endif /* __ACEXML_INLINE__ */ + +ACEXML_SAXPrint_Handler::ACEXML_SAXPrint_Handler (void) + : indent_ (0) +{ + // no-op +} + +ACEXML_SAXPrint_Handler::~ACEXML_SAXPrint_Handler (void) +{ + // no-op +} + +void +ACEXML_SAXPrint_Handler::characters (const ACEXML_Char *cdata, + int start, + int end, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + ACE_UNUSED_ARG (xmlenv); + ACE_UNUSED_ARG (start); + ACE_UNUSED_ARG (end); + + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("%s"), + cdata)); +} + +void +ACEXML_SAXPrint_Handler::endDocument (ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + ACE_UNUSED_ARG (xmlenv); + + ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("\n"))); +} + +void +ACEXML_SAXPrint_Handler::endElement (const ACEXML_Char *, + const ACEXML_Char *, + const ACEXML_Char *qName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + ACE_UNUSED_ARG (xmlenv); + + this->dec_indent (); + this->print_indent (); + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("</%s>"), + qName)); +} + +void +ACEXML_SAXPrint_Handler::endPrefixMapping (const ACEXML_Char *prefix, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + ACE_UNUSED_ARG (xmlenv); + + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event endPrefixMapping (%s) ***************\n"), + prefix)); +} + +void +ACEXML_SAXPrint_Handler::ignorableWhitespace (const ACEXML_Char *, + int, + int, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + ACE_UNUSED_ARG (xmlenv); + + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event ignorableWhitespace () ***************\n"))); +} + +void +ACEXML_SAXPrint_Handler::processingInstruction (const ACEXML_Char *target, + const ACEXML_Char *data, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + ACE_UNUSED_ARG (xmlenv); + + this->print_indent (); + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("<?%s %s>\n"), + target, data)); +} + +void +ACEXML_SAXPrint_Handler::setDocumentLocator (ACEXML_Locator *, + ACEXML_Env &xmlenv) +{ + ACE_UNUSED_ARG (xmlenv); + + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event setDocumentLocator () ***************\n"))); +} + +void +ACEXML_SAXPrint_Handler::skippedEntity (const ACEXML_Char *name, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + ACE_UNUSED_ARG (xmlenv); + + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event skippedEntity (%s) ***************\n"), + name)); +} + +void +ACEXML_SAXPrint_Handler::startDocument (ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + ACE_UNUSED_ARG (xmlenv); + +// ACE_DEBUG ((LM_DEBUG, +// ACE_LIB_TEXT ("* Event startDocument () ***************\n"))); +} + +void +ACEXML_SAXPrint_Handler::startElement (const ACEXML_Char *, + const ACEXML_Char *, + const ACEXML_Char *qName, + ACEXML_Attributes *alist, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + ACE_UNUSED_ARG (xmlenv); + + this->print_indent (); + + ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("<%s"), + qName)); + if (alist != 0) + for (size_t i = 0; i < alist->getLength (); ++i) + { + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT (" %s = \"%s\""), + alist->getQName (i), alist->getValue (i))); + } + ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT (">"))); + this->inc_indent (); +} + +void +ACEXML_SAXPrint_Handler::startPrefixMapping (const ACEXML_Char *, + const ACEXML_Char *, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} + +// *** Methods inherit from ACEXML_DTDHandler. + +void +ACEXML_SAXPrint_Handler::notationDecl (const ACEXML_Char *, + const ACEXML_Char *, + const ACEXML_Char *, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} + +void +ACEXML_SAXPrint_Handler::unparsedEntityDecl (const ACEXML_Char *, + const ACEXML_Char *, + const ACEXML_Char *, + const ACEXML_Char *, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} + +// Methods inherit from ACEXML_EnitityResolver. + +ACEXML_InputSource * +ACEXML_SAXPrint_Handler::resolveEntity (const ACEXML_Char *, + const ACEXML_Char *, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. + return 0; +} + +// Methods inherit from ACEXML_ErrorHandler. + + /* + * Receive notification of a recoverable error. + */ +void +ACEXML_SAXPrint_Handler::error (ACEXML_SAXParseException &, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} + +void +ACEXML_SAXPrint_Handler::fatalError (ACEXML_SAXParseException &, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} + +void +ACEXML_SAXPrint_Handler::warning (ACEXML_SAXParseException &, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // No-op. +} + +void +ACEXML_SAXPrint_Handler::print_indent (void) +{ + ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("\n"))); + for (size_t i = 0; i < this->indent_; ++i) + ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT (" "))); +} diff --git a/ACEXML/examples/SAXPrint/SAXPrint_Handler.h b/ACEXML/examples/SAXPrint/SAXPrint_Handler.h new file mode 100644 index 00000000000..90fd8e9f113 --- /dev/null +++ b/ACEXML/examples/SAXPrint/SAXPrint_Handler.h @@ -0,0 +1,208 @@ +// $Id$ + +//============================================================================= +/** + * @file SAXPrint_Handler.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= + +#ifndef ACEXML_SAXPRINT_HANDLER_H +#define ACEXML_SAXPRINT_HANDLER_H + +#include "common/DefaultHandler.h" + +/** + * @class ACEXML_SAXPrint_Handler + * + * @brief ACEXML_SAXPrint_Handler is an example SAX event handler. + * + * This SAX event handler try to regenerate the XML document it + * reads with correct indentation. + */ +class ACEXML_SAXPrint_Handler : public ACEXML_DefaultHandler +{ +public: + /* + * Default constructor. + */ + ACEXML_SAXPrint_Handler (void); + + /* + * Default destructor. + */ + virtual ~ACEXML_SAXPrint_Handler (void); + + // Methods inherit from ACEXML_ContentHandler. + + /* + * Receive notification of character data. + */ + virtual void characters (const ACEXML_Char *ch, + int start, + int length, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of the end of a document. + */ + virtual void endDocument (ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of the end of an element. + */ + virtual void endElement (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * End the scope of a prefix-URI mapping. + */ + virtual void endPrefixMapping (const ACEXML_Char *prefix, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of ignorable whitespace in element content. + */ + virtual void ignorableWhitespace (const ACEXML_Char *ch, + int start, + int length, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of a processing instruction. + */ + virtual void processingInstruction (const ACEXML_Char *target, + const ACEXML_Char *data, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive an object for locating the origin of SAX document events. + */ + virtual void setDocumentLocator (ACEXML_Locator *locator, + ACEXML_Env &xmlenv) ; + + /* + * Receive notification of a skipped entity. + */ + virtual void skippedEntity (const ACEXML_Char *name, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of the beginning of a document. + */ + virtual void startDocument (ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of the beginning of an element. + */ + virtual void startElement (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Attributes *atts, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Begin the scope of a prefix-URI Namespace mapping. + */ + virtual void startPrefixMapping (const ACEXML_Char *prefix, + const ACEXML_Char *uri, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + // *** Methods inherit from ACEXML_DTDHandler. + + /* + * Receive notification of a notation declaration event. + */ + virtual void notationDecl (const ACEXML_Char *name, + const ACEXML_Char *publicId, + const ACEXML_Char *systemId, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of an unparsed entity declaration event. + */ + virtual void unparsedEntityDecl (const ACEXML_Char *name, + const ACEXML_Char *publicId, + const ACEXML_Char *systemId, + const ACEXML_Char *notationName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + // Methods inherit from ACEXML_EnitityResolver. + + /* + * Allow the application to resolve external entities. + */ + virtual ACEXML_InputSource *resolveEntity (const ACEXML_Char *publicId, + const ACEXML_Char *systemId, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + // Methods inherit from ACEXML_ErrorHandler. + + /* + * Receive notification of a recoverable error. + */ + virtual void error (ACEXML_SAXParseException &exception, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of a non-recoverable error. + */ + virtual void fatalError (ACEXML_SAXParseException &exception, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Receive notification of a warning. + */ + virtual void warning (ACEXML_SAXParseException &exception, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + void inc_indent (); + void dec_indent (); + void print_indent (); + +private: + size_t indent_; + +}; + +#if defined (__ACEXML_INLINE__) +# include "SAXPrint_Handler.i" +#endif /* __ACEXML_INLINE__ */ +#endif /* ACEXML_SAXPRINT_HANDLER_H */ diff --git a/ACEXML/examples/SAXPrint/SAXPrint_Handler.i b/ACEXML/examples/SAXPrint/SAXPrint_Handler.i new file mode 100644 index 00000000000..2102291ea68 --- /dev/null +++ b/ACEXML/examples/SAXPrint/SAXPrint_Handler.i @@ -0,0 +1,13 @@ +// -*- C++ -*- $Id$ + +ACEXML_INLINE void +ACEXML_SAXPrint_Handler::inc_indent (void) +{ + this->indent_ += 1; +} + +ACEXML_INLINE void +ACEXML_SAXPrint_Handler::dec_indent (void) +{ + this->indent_ -= 1; +} diff --git a/ACEXML/examples/SAXPrint/main.cpp b/ACEXML/examples/SAXPrint/main.cpp new file mode 100644 index 00000000000..5eeafef2c43 --- /dev/null +++ b/ACEXML/examples/SAXPrint/main.cpp @@ -0,0 +1,56 @@ +// $Id$ + +#include "common/FileCharStream.h" +#include "parser/parser/Parser.h" +#include "Print_Handler.h" +#include "SAXPrint_Handler.h" + + +int +main (int argc, ACE_TCHAR *argv[]) +{ + ACEXML_DefaultHandler *handler = 0; + { + if (argc < 2) + ACE_ERROR_RETURN ((LM_ERROR, + ACE_LIB_TEXT ("Usage: %s <XML filename> [-n]\n"), + argv [0]), + -1); + + ACEXML_FileCharStream *fstm = 0; + ACE_NEW_RETURN (fstm, + ACEXML_FileCharStream (), + 1); + + if (fstm->open (argv [1]) != 0) + ACE_ERROR_RETURN ((LM_ERROR, + ACE_LIB_TEXT ("Fail to open XML file: %s\n"), + argv [1]), + -1); + + if (argc == 2) // + ACE_NEW_RETURN (handler, + ACEXML_Print_Handler (), + -1); + else + ACE_NEW_RETURN (handler, + ACEXML_SAXPrint_Handler (), + -1); + + ACEXML_Parser parser; + ACEXML_InputSource input(fstm); + + parser.setContentHandler (handler); + parser.setDTDHandler (handler); + parser.setErrorHandler (handler); + parser.setEntityResolver (handler); + + ACEXML_Env xmlenv; + + parser.parse (&input, xmlenv); + if (xmlenv.exception ()) + xmlenv.exception ()->print (); + } + delete handler; + return 0; +} diff --git a/ACEXML/examples/SAXPrint/ns.svc.conf.xml b/ACEXML/examples/SAXPrint/ns.svc.conf.xml new file mode 100644 index 00000000000..a7487dc360f --- /dev/null +++ b/ACEXML/examples/SAXPrint/ns.svc.conf.xml @@ -0,0 +1,46 @@ +<?xml version="1.0"?> +<ace:ACE_Svc_Conf xmlns:ace="http://ace.doc.wustl.edu/svcconf"> +<static id="ACE_Service_Manager"> + <params>-d</params> + <params>-p 4911</params> +</static> + +<dynamic id="Test_Task" type="service_object"> A & + <initializer path="CCM_App" init="_make_Test_Task"> + <params>-p 3000</params> + </initializer> +</dynamic> + +<ace:streamdef> + <dynamic id="CCM_App" type="stream" status="active"> + <initializer path="CCM_App" init="make_stream"/> + </dynamic> + <module> + <dynamic id="Device_Adapter" type="module"> + <initializer path="CCM_App" init="make_da"/> + </dynamic> + <dynamic id="Event_Analyzer" type="module"> + <initializer path="CCM_App" init="make_ea"/> + </dynamic> + <dynamic id="Multicast_Router" type="module"> + <initializer path="CCM_App" init="make_mr"> + <params>-p</params> + <params>3001</params> + </initializer> + </dynamic> + </module> +</ace:streamdef> + +<stream id="CCM_App"> + <module> + <remove id="Device_Adapter"/> + <!-- <remove id="Event_Analyzer"/> --> + <!-- <remove id="Multicast_Router"/> --> + <![CDATA[Only a text string. +Do you &expect something more?]]> + </module> +</stream> + +<!-- remove CCM_App --> +<remove id="Test_&Taskebc"/> +</ace:ACE_Svc_Conf>
\ No newline at end of file diff --git a/ACEXML/examples/SAXPrint/svc.conf.xml b/ACEXML/examples/SAXPrint/svc.conf.xml new file mode 100644 index 00000000000..ff0eebe831f --- /dev/null +++ b/ACEXML/examples/SAXPrint/svc.conf.xml @@ -0,0 +1,66 @@ +<?xml version="1.0"?> +<!-- This is a test XML file. Most of the stuff here don't make any sense at all --> +<!DOCTYPE ACE_Svc_Conf PUBLIC 'GOODSAM' 'http://ace.cs.wustl.edu/dtd/ACE_SVCCONF.DTD' + [ + <!NOTATION goody PUBLIC 'NBC' 'http://hardcoreace.com/'> + <!NOTATION frodo PUBLIC 'ABC'> + <!NOTATION bilbo SYSTEM "C:/ACE-GUIDELINE"> + <!ENTITY ccm 'CCM_App'> + <!ENTITY pippin PUBLIC 'GOTO' 'http://taozen.com/' NDATA NBC> + <!ENTITY sam PUBLIC 'SHIRE' 'http://taozen.com/'> + <!ENTITY gandolf SYSTEM 'D:/RINGS.DOT'> + <!ELEMENT GOOBEGONE EMPTY> + <!ELEMENT POOPOO ANY> + <!ELEMENT HOHOHO ((BOOBOO, GOOBEGONE)?, (GOOBEGONE|POOPOO)*)+> + <!ELEMENT BOOBOO (#PCDATA | BOOBOO)*> + <!ATTLIST GOOBEGONE + ohmy CDATA #REQUIRED + testing IDREF #IMPLIED> + ]> + +<ACE_Svc_Conf> +<static id="ACE_Service_Manager"> + <params>-d</params> + <params>-p 4911</params> +</static> + +<dynamic id="Test_Task" type="service_object"> A & + <initializer path="CCM_App" init="_make_Test_Task"> + <params>-p 3000</params> + </initializer> +</dynamic> + +<streamdef> + <dynamic id="CCM_App" type="stream" status="active"> + <initializer path="CCM_App" init="make_stream"/> + </dynamic> + <module> + <dynamic id="Device_Adapter" type="module"> + <initializer path="CCM_App" init="make_da"/> + </dynamic> + <dynamic id="Event_Analyzer" type="module"> + <initializer path="CCM_App" init="make_ea"/> + </dynamic> + <dynamic id="Multicast_Router" type="module"> + <initializer path="CCM_App" init="make_mr"> + <params>-p</params> + <params>3001</params> + </initializer> + </dynamic> + </module> +</streamdef> + +<stream id="&ccm;"> + <module> + <remove id="Device_Adapter"/> + <!-- <remove id="Event_Analyzer"/> --> + <!-- <remove id="Multicast_Router"/> --> + <![CDATA[Only a text string. +Do you &expect something more? A]]> +<!-- Noticed that the "&" in the above CDATA section can not be escaped. --> + </module> +</stream> + +<!-- remove CCM_App --> +<remove id="Test_&Taskabc"/> +</ACE_Svc_Conf> diff --git a/ACEXML/examples/test_docs/svcconf.dtd b/ACEXML/examples/test_docs/svcconf.dtd new file mode 100644 index 00000000000..dded178c1f7 --- /dev/null +++ b/ACEXML/examples/test_docs/svcconf.dtd @@ -0,0 +1,65 @@ +<!-- $Id$ --> +<!-- Document Type Definition for XML ACE Service Config files --> + +<!-- An ACE_Svc_Conf document contains zero or more entries --> +<!-- The entries are processed in the order they appear --> +<!-- in the ACE_Svc_Conf file. --> +<!ELEMENT ACE_Svc_Conf (dynamic|static|suspend|resume|remove|stream|streamdef)*> + +<!-- Streams are separate into two elements. One defines how --> +<!-- the stream should be constructed and the other defines --> +<!-- what to do with it. The identity of a stream is defined --> +<!-- in the first dynamic/static element. --> +<!ELEMENT streamdef ((dynamic|static),module)> +<!-- @@ Do we ever need to suspend/resume/remove modules when --> +<!-- constructing a stream? Should we leave only dynamic --> +<!-- and static here? --> +<!ELEMENT module (dynamic|static|suspend|resume|remove)+> + +<!-- A 'stream' element controls the stream object --> +<!-- @@ Likewise, we are reusing the 'module' element here. --> +<!-- Do we ever need to insert new modules into a stream? --> +<!-- Nanbor: I guess we can do that. --> +<!ELEMENT stream (module)> +<!ATTLIST stream id IDREF #REQUIRED> + +<!-- A 'dynamic' entry. --> +<!-- @@ The kind of attributes the corresponding initializer --> +<!-- should take seems to be determined by the 'type' --> +<!-- attribute. Should we further partition the dynamic --> +<!-- element definition into several elements? E.g. into --> +<!-- dyn_service_object/dyn_module/dyn_stream? --> +<!-- Nanbor: Will that be too confusing? --> +<!ELEMENT dynamic (initializer)> +<!ATTLIST dynamic id ID #REQUIRED + status (active|inactive) "active" + type (module|service_object|stream) #REQUIRED> + +<!-- Initializing function for dynamic entry. --> +<!ELEMENT initializer (params)*> +<!ATTLIST initializer init CDATA #REQUIRED + path CDATA #IMPLIED> + +<!-- A 'static' entry takes an ID attribute and an optional --> +<!-- parameter lists. --> +<!ELEMENT static (params)*> +<!ATTLIST static id ID #REQUIRED> + +<!-- A 'suspend' entry takes an ID attribute. --> +<!ELEMENT suspend EMPTY> +<!ATTLIST suspend id IDREF #REQUIRED> + +<!-- A 'resume' entry takes an ID attribute. --> +<!ELEMENT resume EMPTY> +<!ATTLIST resume id IDREF #REQUIRED> + +<!-- A 'remove' entry takes an ID attribute. --> +<!ELEMENT remove EMPTY> +<!ATTLIST remove id IDREF #REQUIRED> + +<!-- A params entry can appear within dynamic and static. --> +<!-- Parameters can appear multiple time and the SAX handler --> +<!-- for Service_Configurator is supposed to concatinate --> +<!-- them together with appropriate white space to separate --> +<!-- parameters appeared in separate elements. --> +<!ELEMENT params (#PCDATA)>
\ No newline at end of file diff --git a/ACEXML/parser/Makefile b/ACEXML/parser/Makefile new file mode 100644 index 00000000000..9a519bc492b --- /dev/null +++ b/ACEXML/parser/Makefile @@ -0,0 +1,17 @@ +#---------------------------------------------------------------------------- +# $Id$ +# +# Makefile for the client programs that test the ACE network services +#---------------------------------------------------------------------------- + +DIRS = parser + +#---------------------------------------------------------------------------- +# Include macros and targets +#---------------------------------------------------------------------------- + +include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU +include $(ACE_ROOT)/include/makeinclude/macros.GNU +include $(ACE_ROOT)/include/makeinclude/rules.common.GNU +include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU +include $(ACE_ROOT)/include/makeinclude/rules.nolocal.GNU diff --git a/ACEXML/parser/Makefile.bor b/ACEXML/parser/Makefile.bor new file mode 100644 index 00000000000..cb61c1c99dd --- /dev/null +++ b/ACEXML/parser/Makefile.bor @@ -0,0 +1,9 @@ +# +# Makefile for building the ACE XML parser Library +# + +DIRS = \ + debug_validator \ + parser + +!include <$(ACE_ROOT)\include\makeinclude\recurse.bor> diff --git a/ACEXML/parser/debug_validator/Debug_Attributes_Builder.cpp b/ACEXML/parser/debug_validator/Debug_Attributes_Builder.cpp new file mode 100644 index 00000000000..b0bdf3fa73c --- /dev/null +++ b/ACEXML/parser/debug_validator/Debug_Attributes_Builder.cpp @@ -0,0 +1,218 @@ +// $Id$ + +#include "common/SAXExceptions.h" +#include "parser/debug_validator/Debug_Attributes_Builder.h" + +ACEXML_Debug_Attribute_Builder::ACEXML_Debug_Attribute_Builder () + : type_ (ERROR_TYPE), + default_decl_ (INVALID) +{ +} + +ACEXML_Debug_Attribute_Builder::ACEXML_Debug_Attribute_Builder (const ACEXML_Debug_Attribute_Builder &rhs) + : name_ (rhs.name_), + type_ (rhs.type_), + default_decl_ (rhs.default_decl_), + default_value_ (rhs.default_value_), + att_value_queue_ (rhs.att_value_queue_) +{ +} + +ACEXML_Debug_Attribute_Builder::~ACEXML_Debug_Attribute_Builder () +{ +} + +int +ACEXML_Debug_Attribute_Builder::setName (const ACEXML_Char *n) +{ + this->name_.set (n, 0); + return 0; +} + +const ACEXML_Char * +ACEXML_Debug_Attribute_Builder::getName (void) +{ + return this->name_.fast_rep (); +} + +int +ACEXML_Debug_Attribute_Builder::setAttType (const ATT_TYPE type, + ACEXML_Env &xmlenv) + // ACE_THORW_SPEC ((ACEXML_SAXException)) +{ + if (this->type_ == ERROR_TYPE) + { + this->type_ = type; + return 0; + } + xmlenv.exception (new ACEXML_SAXParseException (ACE_LIB_TEXT("Attribute type redefinition in Debug Validator"))); + return -1; +} + +int +ACEXML_Debug_Attribute_Builder::insertList (const ACEXML_Char *n, + ACEXML_Env &) + // ACE_THORW_SPEC ((ACEXML_SAXException)) +{ + ACEXML_String str (n, 0, 0); + + this->att_value_queue_.enqueue_tail (str); + return 0; +} + +int +ACEXML_Debug_Attribute_Builder::setDefault (const DEFAULT_DECL def, + const ACEXML_Char *value, + ACEXML_Env &) + // ACE_THORW_SPEC ((ACEXML_SAXException)) +{ + this->default_decl_ = def; + this->default_value_.set (value, 0); + return 0; +} + +int +ACEXML_Debug_Attribute_Builder::validAttr (void) +{ + // @@ Not implemented. Always return 1 (true) for now. + return 1; +} + +void +ACEXML_Debug_Attribute_Builder::dump (void) +{ + cout << this->name_ << " "; + + switch (this->type_) + { + case CDATA: + cout << "CDATA "; + break; + case ID: + cout << "ID "; + break; + case IDREF: + cout << "IDREF "; + break; + case IDREFS: + cout << "IDREFS "; + break; + case ENTITY: + cout << "ENTITY "; + break; + case ENTITIES: + cout << "ENTITIES "; + break; + case NMTOKEN: + cout << "NMTOKEN "; + break; + case NMTOKENS: + cout << "NMTOKENS "; + break; + case NOTATION: + cout << "NOTATION "; + // Fall thru + case ENUMERATION: + { + cout << "("; + ACEXML_STRING_QUEUE_ITERATOR iter (this->att_value_queue_); + ACEXML_String *n = 0; + + while (iter.advance () != 0) + { + if (n == 0) + cout << " | "; + iter.next (n); + cout << *n; + } + cout << ") "; + } + break; + default: + cout << "*** UNKNOW TYPE ***"; + break; + } + + switch (this->default_decl_) + { + case REQUIRED: + cout << "#REQUIRED"; + break; + case IMPLIED: + cout << "#IMPLIED"; + break; + case FIXED: + cout << "#FIXED " << this->default_value_; + break; + default: + cout << "**** UNDEFINED DEFAULT DECL ****"; + break; + } +} +// ======================================== + +ACEXML_Debug_Attributes_Builder::ACEXML_Debug_Attributes_Builder () +{ +} + +ACEXML_Debug_Attributes_Builder::~ACEXML_Debug_Attributes_Builder () +{ +} + +int +ACEXML_Debug_Attributes_Builder::setElement (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + this->element_name_.set (qName, 0); + return 0; +} + +ACEXML_Attribute_Def_Builder * +ACEXML_Debug_Attributes_Builder::getAttribute_Def_Builder () +{ + ACEXML_Attribute_Def_Builder *tmp; + + ACE_NEW_RETURN (tmp, + ACEXML_Debug_Attribute_Builder (), + 0); + return tmp; +} + +int +ACEXML_Debug_Attributes_Builder::insertAttribute (ACEXML_Attribute_Def_Builder *def, + ACEXML_Env &xmlenv) +{ + ACEXML_Attribute_Def_Builder::VAR ptr (def); + + if (def != 0) + { + ACEXML_String attname (def->getName (), 0, 0); + ACEXML_Debug_Attribute_Builder *ptr = + ACE_dynamic_cast (ACEXML_Debug_Attribute_Builder *, def); + this->attributes_.bind (attname, *ptr); + return 0; + } + xmlenv.exception (new ACEXML_SAXParseException (ACE_LIB_TEXT("ACEXML_Debug_Attributes_Builder internal error"))); + return -1; +} + +void +ACEXML_Debug_Attributes_Builder::dump (void) +{ + // @@ Print print. + cout << "<!ATTLIST " << this->element_name_ << endl; + + ACEXML_ATT_MAP_ITER iter (this->attributes_); + ACEXML_ATT_MAP_ENTRY *item; + + while (iter.advance () != 0) + { + iter.next (item); + cout << "\n\t"; + item->int_id_.dump (); + } + cout << ">" << endl; +} diff --git a/ACEXML/parser/debug_validator/Debug_Attributes_Builder.h b/ACEXML/parser/debug_validator/Debug_Attributes_Builder.h new file mode 100644 index 00000000000..b727e29e72f --- /dev/null +++ b/ACEXML/parser/debug_validator/Debug_Attributes_Builder.h @@ -0,0 +1,170 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file Debug_Attributes_Builder.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= +#ifndef _ACEXML_DEBUG_ATTRIBUTES_BUILDER_H_ +#define _ACEXML_DEBUG_ATTRIBUTES_BUILDER_H_ + +#include "common/Attributes_Def_Builder.h" +#include "parser/debug_validator/Debug_DTD_Manager_Export.h" +#include "ace/Hash_Map_Manager.h" +#include "ace/Unbounded_Queue.h" + +typedef ACE_Unbounded_Queue<ACEXML_String> ACEXML_STRING_QUEUE; +typedef ACE_Unbounded_Queue_Iterator<ACEXML_String> ACEXML_STRING_QUEUE_ITERATOR; + +/** + * @ class ACEXML_Debug_Attribute_Builder Debug_Attributes_Builder.h "parser/debug_validator/Debug_Attributes_Builder.h" + * + * This class prints out the Attribute definition for debugging purpose. + */ +class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Debug_Attribute_Builder + : public ACEXML_Attribute_Def_Builder +{ +public: + ACEXML_Debug_Attribute_Builder (); + + ACEXML_Debug_Attribute_Builder (const ACEXML_Debug_Attribute_Builder &rhs); + + virtual ~ACEXML_Debug_Attribute_Builder (); + + /** + * Specify the name of the attribute. + */ + virtual int setName (const ACEXML_Char *n); + virtual const ACEXML_Char *getName (void); + + /** + * Set the attribute type. + */ + virtual int setAttType (const ATT_TYPE type, + ACEXML_Env &xmlenv) + // ACE_THORW_SPEC ((ACEXML_SAXException)) + ; + + /** + * Insert an element for NOTATION or ENUMERATION type attribute. + */ + virtual int insertList (const ACEXML_Char *Name, + ACEXML_Env &xmlenv) + // ACE_THORW_SPEC ((ACEXML_SAXException)) + ; + + /** + * Set default attribute declaration. + */ + virtual int setDefault (const DEFAULT_DECL def, + const ACEXML_Char *value, + ACEXML_Env &xmlenv) + // ACE_THORW_SPEC ((ACEXML_SAXException)) + ; + + /** + * Check validity of the current attribute definition being built. + * + * @retval 0 if the attribute is not a valid combo. + */ + virtual int validAttr (void); + + + /** + * Dump the content of the attribute definition. + */ + virtual void dump (void); +private: + /// Attribute name. + ACEXML_String name_; + + /// Type of attribute. + ATT_TYPE type_; + + /// Default value type. + DEFAULT_DECL default_decl_; + + /// Default attribute value. + ACEXML_String default_value_; + + /// Holds a queue of enumerated attribute values. + ACEXML_STRING_QUEUE att_value_queue_; +}; + +typedef ACE_Hash_Map_Entry<ACEXML_String, + ACEXML_Debug_Attribute_Builder> ACEXML_ATT_MAP_ENTRY; + +typedef ACE_Hash_Map_Manager_Ex <ACEXML_String, + ACEXML_Debug_Attribute_Builder, + ACE_Hash<ACEXML_String>, + ACE_Equal_To<ACEXML_String>, + ACE_Null_Mutex> ACEXML_ATT_MAP; + +typedef ACE_Hash_Map_Iterator_Ex<ACEXML_String, + ACEXML_Debug_Attribute_Builder, + ACE_Hash<ACEXML_String>, + ACE_Equal_To<ACEXML_String>, + ACE_Null_Mutex> ACEXML_ATT_MAP_ITER; + +typedef ACE_Hash_Map_Reverse_Iterator_Ex<ACEXML_String, + ACEXML_Debug_Attribute_Builder, + ACE_Hash<ACEXML_String>, + ACE_Equal_To<ACEXML_String>, + ACE_Null_Mutex> ACEXML_ATT_MAP_REVERSE_ITER; + +/** + * @ class ACEXML_Debug_Attributes_Builder Debug_Attributes_Builder.h "parser/debug_validator/Debug_Attributes_Builder.h" + * + * This class prints out Attribute definitions for debugging purpose. + */ +class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Debug_Attributes_Builder + : public ACEXML_Attributes_Def_Builder +{ +public: + ACEXML_Debug_Attributes_Builder (); + + virtual ~ACEXML_Debug_Attributes_Builder (); + + /** + * Set the element name that the attribute builder applies. + * + * @retval 0 if valid, -1 otherwise. + */ + virtual int setElement (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /** + * Acquire an Attribute_Builder. + */ + virtual ACEXML_Attribute_Def_Builder *getAttribute_Def_Builder (); + + /** + * Add a definition for one attribute. + */ + virtual int insertAttribute (ACEXML_Attribute_Def_Builder *def, + ACEXML_Env &xmlenv); + + + /** + * Dump the content of the attribute definition. + */ + virtual void dump (void); +protected: + /// The name of the element type these attributes applied. + ACEXML_String element_name_; + + /// Collection of attributes. + ACEXML_ATT_MAP attributes_; +}; + + + +#endif /* _ACEXML_DEBUG_ATTRIBUTES_BUILDER_H_ */ diff --git a/ACEXML/parser/debug_validator/Debug_DTD_Manager.cpp b/ACEXML/parser/debug_validator/Debug_DTD_Manager.cpp new file mode 100644 index 00000000000..e38aecbffc4 --- /dev/null +++ b/ACEXML/parser/debug_validator/Debug_DTD_Manager.cpp @@ -0,0 +1,77 @@ +// -*- C++ -*- $Id$ + +#include "common/SAXExceptions.h" +#include "parser/debug_validator/Debug_DTD_Manager.h" +#include "parser/debug_validator/Debug_Element_Builder.h" +#include "parser/debug_validator/Debug_Attributes_Builder.h" + +ACEXML_Debug_DTD_Manager::ACEXML_Debug_DTD_Manager () +{ + +} + +ACEXML_Debug_DTD_Manager::~ACEXML_Debug_DTD_Manager () +{ + +} + +ACEXML_Element_Def_Builder * +ACEXML_Debug_DTD_Manager::getElement_Def_Builder () +{ + return new ACEXML_Debug_Element_Builder (); +} + +int +ACEXML_Debug_DTD_Manager::insertElement_Definition (ACEXML_Element_Def_Builder *def, + ACEXML_Env &xmlenv) +{ + ACEXML_Element_Def_Builder::VAR ptr (def); + + if (def != 0) + { + ptr->dump (); + return 0; + } + + xmlenv.exception (new ACEXML_SAXParseException (ACE_LIB_TEXT("ACEXML_Debug_Attributes_Builder internal error"))); + return -1; +} + +ACEXML_Attributes_Def_Builder * +ACEXML_Debug_DTD_Manager::getAttribute_Def_Builder () +{ + ACEXML_Attributes_Def_Builder *tmp; + ACE_NEW_RETURN (tmp, + ACEXML_Debug_Attributes_Builder (), + 0); + return tmp; +} + +int +ACEXML_Debug_DTD_Manager::insertAttributes_Definition (ACEXML_Attributes_Def_Builder *def, + ACEXML_Env &xmlenv) +{ + ACEXML_Attributes_Def_Builder::VAR ptr (def); + if (def != 0) + { + ptr->dump (); + return 0; + } + + xmlenv.exception (new ACEXML_SAXParseException (ACE_LIB_TEXT("ACEXML_Debug_Attributes_Builder internal error"))); + return -1; +} + +ACEXML_Validator * +ACEXML_Debug_DTD_Manager::getValidator (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Env &xmlenv) +{ + ACE_UNUSED_ARG (namespaceURI); + ACE_UNUSED_ARG (localName); + ACE_UNUSED_ARG (qName); + + xmlenv.exception (new ACEXML_SAXNotSupportedException ()); + return 0; +} diff --git a/ACEXML/parser/debug_validator/Debug_DTD_Manager.h b/ACEXML/parser/debug_validator/Debug_DTD_Manager.h new file mode 100644 index 00000000000..0e03740cc99 --- /dev/null +++ b/ACEXML/parser/debug_validator/Debug_DTD_Manager.h @@ -0,0 +1,71 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file Debug_DTD_Manager.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= +#ifndef _ACEXML_DEBUG_DTD_Manager_H_ +#define _ACEXML_DEBUG_DTD_Manager_H_ + +#include "common/DTD_Manager.h" +#include "parser/debug_validator/Debug_DTD_Manager_Export.h" + +class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Debug_DTD_Manager : public ACEXML_DTD_Manager +{ +public: + ACEXML_Debug_DTD_Manager (); + + virtual ~ACEXML_Debug_DTD_Manager (); + + /** + * Acquire a pointer to an element definition builder. + * The XML parser use this interface to acquire the + * definition builder and use the builder to create + * the DTD element definition. The resulting builder + * is then registered with the DTD Manager or destroyed + * if error occured when the builder encountered errors. + * + * @retval 0 if error occurs creating the builder. + */ + virtual ACEXML_Element_Def_Builder *getElement_Def_Builder (); + + /** + * Insert a new element definition into the DTD Manager. + * + * @retval 0 if success, -1 if error. + */ + virtual int insertElement_Definition (ACEXML_Element_Def_Builder *def, + ACEXML_Env &xmlenv); + + /** + * Acquire a pointer to an attributes definition builder. + * + */ + virtual ACEXML_Attributes_Def_Builder *getAttribute_Def_Builder (); + + /** + * Insert a new attributes definition into the DTD Manager. + * + * @retval 0 if success, -1 otherwise. + */ + virtual int insertAttributes_Definition (ACEXML_Attributes_Def_Builder *def, + ACEXML_Env &xmlenv); + + /** + * Acquire an element validator to validate an XML element. + * + * @todo I haven't figured out what memory management scheme + * we should use for the acquired validator. + */ + virtual ACEXML_Validator *getValidator (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Env &xmlenv); +}; + +#endif /* _ACEXML_DTD_Manager_H_ */ diff --git a/ACEXML/parser/debug_validator/Debug_DTD_Manager_Export.h b/ACEXML/parser/debug_validator/Debug_DTD_Manager_Export.h new file mode 100644 index 00000000000..b4cf1c8a536 --- /dev/null +++ b/ACEXML/parser/debug_validator/Debug_DTD_Manager_Export.h @@ -0,0 +1,38 @@ + +// -*- C++ -*- +// $Id$ +// Definition for Win32 Export directives. +// This file is generated automatically by generate_export_file.pl -s ACEXML_DEBUG_DTD_MANAGER +// ------------------------------ +#ifndef ACEXML_DEBUG_DTD_MANAGER_EXPORT_H +#define ACEXML_DEBUG_DTD_MANAGER_EXPORT_H + +#include "ace/config-all.h" + +#if defined (ACE_AS_STATIC_LIBS) && !defined (ACEXML_DEBUG_DTD_MANAGER_HAS_DLL) +# define ACEXML_DEBUG_DTD_MANAGER_HAS_DLL 0 +#endif /* ACE_AS_STATIC_LIBS && ACEXML_DEBUG_DTD_MANAGER_HAS_DLL */ + +#if !defined (ACEXML_DEBUG_DTD_MANAGER_HAS_DLL) +# define ACEXML_DEBUG_DTD_MANAGER_HAS_DLL 1 +#endif /* ! ACEXML_DEBUG_DTD_MANAGER_HAS_DLL */ + +#if defined (ACEXML_DEBUG_DTD_MANAGER_HAS_DLL) && (ACEXML_DEBUG_DTD_MANAGER_HAS_DLL == 1) +# if defined (ACEXML_DEBUG_DTD_MANAGER_BUILD_DLL) +# define ACEXML_DEBUG_DTD_MANAGER_Export ACE_Proper_Export_Flag +# define ACEXML_DEBUG_DTD_MANAGER_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) +# define ACEXML_DEBUG_DTD_MANAGER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +# else /* ACEXML_DEBUG_DTD_MANAGER_BUILD_DLL */ +# define ACEXML_DEBUG_DTD_MANAGER_Export ACE_Proper_Import_Flag +# define ACEXML_DEBUG_DTD_MANAGER_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) +# define ACEXML_DEBUG_DTD_MANAGER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +# endif /* ACEXML_DEBUG_DTD_MANAGER_BUILD_DLL */ +#else /* ACEXML_DEBUG_DTD_MANAGER_HAS_DLL == 1 */ +# define ACEXML_DEBUG_DTD_MANAGER_Export +# define ACEXML_DEBUG_DTD_MANAGER_SINGLETON_DECLARATION(T) +# define ACEXML_DEBUG_DTD_MANAGER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +#endif /* ACEXML_DEBUG_DTD_MANAGER_HAS_DLL == 1 */ + +#endif /* ACEXML_DEBUG_DTD_MANAGER_EXPORT_H */ + +// End of auto generated file. diff --git a/ACEXML/parser/debug_validator/Debug_Element_Builder.cpp b/ACEXML/parser/debug_validator/Debug_Element_Builder.cpp new file mode 100644 index 00000000000..d0ead4e05a4 --- /dev/null +++ b/ACEXML/parser/debug_validator/Debug_Element_Builder.cpp @@ -0,0 +1,154 @@ +// $Id$ + +#include "common/SAXExceptions.h" +#include "parser/debug_validator/Debug_Element_Builder.h" + +ACEXML_Debug_Element_Builder::ACEXML_Debug_Element_Builder () + : type_ (UNDEFINED), + root_ (0) +{ +} + +ACEXML_Debug_Element_Builder::~ACEXML_Debug_Element_Builder () +{ + delete this->root_; +} + +int +ACEXML_Debug_Element_Builder::setElementName (const ACEXML_Char *, + const ACEXML_Char *, + const ACEXML_Char *qName, + ACEXML_Env &) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + this->element_.set (qName, 0); + return 0; +} + +int +ACEXML_Debug_Element_Builder::setContentType (CONTENT_TYPE type, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + if (this->type_ == UNDEFINED) + { + this->type_ = type; + return 0; + } + + xmlenv.exception (new ACEXML_SAXParseException (ACE_LIB_TEXT("Element type redefinition in Debug_Validator."))); + return -1; +} + +int +ACEXML_Debug_Element_Builder::insertMixedElement (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + ACEXML_Element_Tree_Name_Node *node; + + // @@ We should "throw" an exception here instead of returning -1. + ACE_NEW_RETURN (node, + ACEXML_Element_Tree_Name_Node (qName), + -1); + + if (this->root_ == 0) + // @@ Memory leak if fail? + ACE_NEW_RETURN (this->root_, + ACEXML_Element_Tree_List_Node (), + -1); + + + return this->root_->insert (node); +} + +int +ACEXML_Debug_Element_Builder::startChildGroup () +{ + ACEXML_Element_Tree_List_Node *lnode; + + ACE_NEW_RETURN (lnode, + ACEXML_Element_Tree_List_Node (), + -1); + + if (this->root_ == 0) + { + this->root_ = lnode; + } + else + { + // @@ check error? + this->root_->insert (lnode); + } + + this->active_list_.push (lnode); + return 0; +} + +int +ACEXML_Debug_Element_Builder::endChildGroup (CARDINALITY card, + ACEXML_Env &xmlenv) +{ + this->active_list_.pop (); + return 0; +} + +int +ACEXML_Debug_Element_Builder::setChoice () +{ + this->active_list_.top ()->set (ACEXML_Element_Tree_List_Node::CHOICE); + return 0; +} + +int +ACEXML_Debug_Element_Builder::setSequence () +{ + this->active_list_.top ()->set (ACEXML_Element_Tree_List_Node::SEQUENCE); + return 0; +} + +int +ACEXML_Debug_Element_Builder::insertElement (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + ACEXML_Element_Tree_Name_Node *node; + + // @@ We should "throw" an exception here instead of returning -1. + ACE_NEW_RETURN (node, + ACEXML_Element_Tree_Name_Node (qName), + -1); + + return this->active_list_.top ()->insert (node); +} + +void +ACEXML_Debug_Element_Builder::dump () +{ + cout << "<!ELEMENT " << this->element_; + + // @@ Also dump element contentspec here. + switch (this->type_) + { + case EMPTY: + cout << "EMPTY"; + break; + case ANY: + cout << "ANY"; + break; + case MIXED: + case CHILDREN: + // @@ Dump the content of this->root_ + cout << "*** not implemented ***"; + break; + default: + cout << "*** Unidentified element type ***"; + break; + } + + cout << ">" << endl; +} diff --git a/ACEXML/parser/debug_validator/Debug_Element_Builder.h b/ACEXML/parser/debug_validator/Debug_Element_Builder.h new file mode 100644 index 00000000000..28f3864a5b1 --- /dev/null +++ b/ACEXML/parser/debug_validator/Debug_Element_Builder.h @@ -0,0 +1,123 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file Debug_Element_Builder.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= +#ifndef _ACEXML_DEBUG_ELEMENT_BUILDER_H_ +#define _ACEXML_DEBUG_ELEMENT_BUILDER_H_ + +#include "common/Element_Def_Builder.h" +#include "parser/debug_validator/Debug_DTD_Manager_Export.h" +#include "parser/debug_validator/Element_Tree.h" + +/** + * @ class ACEXML_Debug_Element_Builder Debug_Element_Builder.h "parser/debug_validator/Debug_Element_Builder.h" + * + * This class prints out the element definition for debugging purpose. + * + * @todo This class is not namespace-aware. + */ +class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Debug_Element_Builder + : public ACEXML_Element_Def_Builder +{ +public: + ACEXML_Debug_Element_Builder (); + + virtual ~ACEXML_Debug_Element_Builder (); + + /** + * Define the name of the element. + * + * @retval 0 if valid, -1 otherwise. + */ + virtual int setElementName (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /** + * Define the content type of the element. + * + * @retval 0 if valid, -1 otherwise. + */ + virtual int setContentType (CONTENT_TYPE type, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /** + * Insert one more element into Mixed definition. + */ + virtual int insertMixedElement (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /** + * Start a new group of children. + */ + virtual int startChildGroup (); + + /** + * End a new group of children. + * + * @retval 0 on success. + */ + virtual int endChildGroup (CARDINALITY card, + ACEXML_Env &xmlenv); + + /** + * Set the type of current child group to Choice. + * + * @retval 0 on success, -1 if the type of the child group has + * already been set and this action conflicts with the previous + * setting. + */ + virtual int setChoice (); + + /** + * Set the type of current child group to Sequence. + * + * @retval 0 on success, -1 if the type of the child group has + * already been set and this action conflicts with the previous + * setting. + */ + virtual int setSequence (); + + /** + * Insert an new element into the current child group. + * + * @retval 0 on success, -1 otherwise. + */ + virtual int insertElement (const ACEXML_Char *namespaceURI, + const ACEXML_Char *localName, + const ACEXML_Char *qName, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /** + * Dump the content of the attribute definition. + */ + virtual void dump (void); +private: + CONTENT_TYPE type_; + + ACEXML_String element_; + + ACEXML_Element_Tree_List_Node *root_; + + ACEXML_Element_Tree_List_Stack active_list_; +}; + +#endif /* _ACEXML_DEBUG_ELEMENT_BUILDER_H_ */ diff --git a/ACEXML/parser/debug_validator/Debug_Validator.dsp b/ACEXML/parser/debug_validator/Debug_Validator.dsp new file mode 100644 index 00000000000..82c34b7c67b --- /dev/null +++ b/ACEXML/parser/debug_validator/Debug_Validator.dsp @@ -0,0 +1,143 @@ +# Microsoft Developer Studio Project File - Name="Debug_Validator" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=Debug_Validator - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Debug_Validator.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Debug_Validator.mak" CFG="Debug_Validator - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Debug_Validator - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "Debug_Validator - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Debug_Validator - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DEBUG_VALIDATOR_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\.." /I "..\.." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ACEXML_DEBUG_DTD_MANAGER_BUILD_DLL" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 ace.lib ACEXML.lib /nologo /dll /machine:I386 /out:"../../../bin/ACEXML_Debug_DTD_Manager.dll" /libpath:"../../../ace" /libpath:"../../Common"
+
+!ELSEIF "$(CFG)" == "Debug_Validator - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DEBUG_VALIDATOR_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "..\..\.." /I "..\.." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ACEXML_DEBUG_DTD_MANAGER_BUILD_DLL" /YX /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib ACEXMLd.lib /nologo /dll /debug /machine:I386 /out:"../../../bin/ACEXML_Debug_DTD_Managerd.dll" /pdbtype:sept /libpath:"../../../ace" /libpath:"../../Common"
+
+!ENDIF
+
+# Begin Target
+
+# Name "Debug_Validator - Win32 Release"
+# Name "Debug_Validator - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\Debug_Attributes_Builder.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Debug_DTD_Manager.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Debug_Element_Builder.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Element_Tree.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\Debug_Attributes_Builder.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Debug_DTD_Manager.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Debug_DTD_Manager_Export.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Debug_Element_Builder.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Element_Tree.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=.\Element_Tree.i
+# End Source File
+# End Target
+# End Project
diff --git a/ACEXML/parser/debug_validator/Element_Tree.cpp b/ACEXML/parser/debug_validator/Element_Tree.cpp new file mode 100644 index 00000000000..19111032586 --- /dev/null +++ b/ACEXML/parser/debug_validator/Element_Tree.cpp @@ -0,0 +1,72 @@ +// $Id$ + +#include "parser/debug_validator/Element_Tree.h" + +#if !defined (__ACEXML_INLINE__) +# include "parser/debug_validator/Element_Tree.i" +#endif /* __ACEXML_INLINE__ */ + +ACEXML_Element_Tree_Node::~ACEXML_Element_Tree_Node () +{ + delete this->next_; +} + +ACE_ALLOC_HOOK_DEFINE (ACEXML_Element_Tree_Node) + +void +ACEXML_Element_Tree_Name_Node::dump () +{ + cout << this->name_; +} + +ACE_ALLOC_HOOK_DEFINE (ACEXML_Element_Tree_Name_Node) + +ACEXML_Element_Tree_List_Node::~ACEXML_Element_Tree_List_Node (void) +{ + delete this->head_; +} + +int +ACEXML_Element_Tree_List_Node::insert (ACEXML_Element_Tree_Node *node) +{ + if (this->head_ == 0) + { + this->tail_ = this->head_ = node; + } + else + { + this->tail_->next (node); + this->tail_ = node; + } + return 0; +} + +void +ACEXML_Element_Tree_List_Node::dump (void) +{ + ACEXML_Element_Tree_Node *ptr = this->head_; + const ACEXML_Char *separator = (this->type_ == SEQUENCE) ? ACE_LIB_TEXT(" , ") : ACE_LIB_TEXT(" | "); + + cout << "("; + + if (ptr != 0) + { + ptr->dump (); + ptr = ptr->next (); + + while (ptr != 0) + { + cout << separator; + ptr->dump (); + ptr->next (); + } + } + + cout << ")"; +} + +ACE_ALLOC_HOOK_DEFINE (ACEXML_Element_Tree_List_Node) + + + +ACE_ALLOC_HOOK_DEFINE (ACEXML_Element_Tree_List_Stack) diff --git a/ACEXML/parser/debug_validator/Element_Tree.h b/ACEXML/parser/debug_validator/Element_Tree.h new file mode 100644 index 00000000000..8cfe49431fa --- /dev/null +++ b/ACEXML/parser/debug_validator/Element_Tree.h @@ -0,0 +1,151 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file Element_Tree.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= +#ifndef _ACEXML_ELEMENT_TREE_H_ +#define _ACEXML_ELEMENT_TREE_H_ + +#include "common/XML_Types.h" +#include "parser/debug_validator/Debug_DTD_Manager_Export.h" + +/** + * @ class ACEXML_Element_Tree_Node Element_Tree.h "parser/debug_validator/Element_Tree.h" + * + * @brief An abstract base class for describing DTD child element definition. + * + * @sa ACEXML_Element_Tree_Name_Node, ACEXML_Element_Tree_List_Node + */ +class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Element_Tree_Node +{ +public: + + /// Default constructor. + ACEXML_Element_Tree_Node (); + + /// Destructor + virtual ~ACEXML_Element_Tree_Node (); + + /// Accessor for next element in chain + ACEXML_Element_Tree_Node *next (); + void next (ACEXML_Element_Tree_Node *n); + + /// Displaying the content. + virtual void dump () = 0; + + ACE_ALLOC_HOOK_DECLARE; + +protected: + ACEXML_Element_Tree_Node *next_; +}; + +/** + * @ class ACEXML_Element_Tree_Name_Node Element_Tree.h "parser/debug_validator/Element_Tree.h" + * + * @brief An abstract base class for describing a name node in a DTD + * child element definition. + * + * @sa ACEXML_Element_Tree_Node, ACEXML_Element_Tree_List_Node + */ +class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Element_Tree_Name_Node + : public ACEXML_Element_Tree_Node +{ +public: + /// Constructor. + ACEXML_Element_Tree_Name_Node (const ACEXML_Char *name, + int release = 1); + + /// Change the name of this node. + void set (const ACEXML_Char *name, + int release = 1); + + virtual void dump (); + + ACE_ALLOC_HOOK_DECLARE; +protected: + ACEXML_String name_; +}; + +class ACEXML_Element_Tree_List_Stack; + +/** + * @ class ACEXML_Element_Tree_List_Node Element_Tree.h "parser/debug_validator/Element_Tree.h" + * + * @brief An abstract base class for describing a node list in + * a DTD child element definition. + * + * @sa ACEXML_Element_Tree_Node, ACEXML_Element_Tree_Name_Node + */ +class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Element_Tree_List_Node + : public ACEXML_Element_Tree_Node +{ +public: + friend class ACEXML_Element_Tree_List_Stack; + + typedef enum { + SEQUENCE, + CHOICE + } LIST_TYPE; + + /// Default constructor. + ACEXML_Element_Tree_List_Node (void); + + /// Destructor. + virtual ~ACEXML_Element_Tree_List_Node (void); + + /// Insert a new ACEXML_Element_Tree_Node into the list. + int insert (ACEXML_Element_Tree_Node *node); + + /// Get/set the type of list. + LIST_TYPE get (void); + int set (LIST_TYPE type); + + virtual void dump (); + + ACE_ALLOC_HOOK_DECLARE; +protected: + LIST_TYPE type_; + + ACEXML_Element_Tree_Node *head_; + + ACEXML_Element_Tree_Node *tail_; + + ACEXML_Element_Tree_List_Node *pop_next_; +}; + +/** + * @ class ACEXML_Element_Tree_List_Stack Element_Tree.h "parser/debug_validator/Element_Tree.h" + * + * @brief A class for managing a stack of ACEXML_Element_Tree_List_Node's. + * + * @sa ACEXML_Element_Tree_List_Node + */ +class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Element_Tree_List_Stack +{ +public: + ACEXML_Element_Tree_List_Stack (); + + void push (ACEXML_Element_Tree_List_Node *n); + + ACEXML_Element_Tree_List_Node *pop (void); + + ACEXML_Element_Tree_List_Node *top (void); + + int empty (void); + + ACE_ALLOC_HOOK_DECLARE; + +protected: + ACEXML_Element_Tree_List_Node *top_; +}; + +#if defined (__ACEXML_INLINE__) +# include "parser/debug_validator/Element_Tree.i" +#endif /* __ACEXML_INLINE__ */ +#endif /* _ACEXML_ELEMENT_TREE_H_ */ diff --git a/ACEXML/parser/debug_validator/Element_Tree.i b/ACEXML/parser/debug_validator/Element_Tree.i new file mode 100644 index 00000000000..4b408835403 --- /dev/null +++ b/ACEXML/parser/debug_validator/Element_Tree.i @@ -0,0 +1,92 @@ +// $Id$ + +ACEXML_INLINE +ACEXML_Element_Tree_Node::ACEXML_Element_Tree_Node () + : next_ (0) +{ +} + +ACEXML_INLINE ACEXML_Element_Tree_Node * +ACEXML_Element_Tree_Node::next () +{ + return this->next_; +} + +ACEXML_INLINE void +ACEXML_Element_Tree_Node::next (ACEXML_Element_Tree_Node * n) +{ + this->next_ = n; +} + +ACEXML_INLINE +ACEXML_Element_Tree_Name_Node::ACEXML_Element_Tree_Name_Node (const ACEXML_Char *name, + int release) + : name_ (name, 0, release) +{ +} + +ACEXML_INLINE void +ACEXML_Element_Tree_Name_Node::set (const ACEXML_Char *name, + int release) +{ + this->name_.set (name, release); +} + +ACEXML_INLINE +ACEXML_Element_Tree_List_Node::ACEXML_Element_Tree_List_Node (void) + : type_ (SEQUENCE), + head_ (0), + tail_ (0), + pop_next_ (0) +{ +} + +ACEXML_INLINE ACEXML_Element_Tree_List_Node::LIST_TYPE +ACEXML_Element_Tree_List_Node::get (void) +{ + return this->type_; +} + +ACEXML_INLINE int +ACEXML_Element_Tree_List_Node::set (ACEXML_Element_Tree_List_Node::LIST_TYPE type) +{ + this->type_ = type; + return 0; +} + +ACEXML_INLINE +ACEXML_Element_Tree_List_Stack::ACEXML_Element_Tree_List_Stack (void) + : top_ (0) +{ +} + +ACEXML_INLINE ACEXML_Element_Tree_List_Node * +ACEXML_Element_Tree_List_Stack::top () +{ + return this->top_; +} + +ACEXML_INLINE void +ACEXML_Element_Tree_List_Stack::push (ACEXML_Element_Tree_List_Node *n) +{ + n->pop_next_ = this->top_; + this->top_ = n; +} + +ACEXML_INLINE ACEXML_Element_Tree_List_Node * +ACEXML_Element_Tree_List_Stack::pop () +{ + if (this->top_ != 0) + { + ACEXML_Element_Tree_List_Node *ptr = this->top_; + this->top_ = this->top_->pop_next_; + return ptr; + } + return 0; +} + +ACEXML_INLINE int +ACEXML_Element_Tree_List_Stack::empty () +{ + return this->top_ == 0; +} diff --git a/ACEXML/parser/debug_validator/Makefile.bor b/ACEXML/parser/debug_validator/Makefile.bor new file mode 100644 index 00000000000..08ee7c36e43 --- /dev/null +++ b/ACEXML/parser/debug_validator/Makefile.bor @@ -0,0 +1,22 @@ +# Makefile for building the debug_validator + +NAME = ACEXML_Debug_DTD_Manager + +OBJFILES = \ + $(OBJDIR)\Debug_Attributes_Builder.obj \ + $(OBJDIR)\Debug_DTD_Manager.obj \ + $(OBJDIR)\Debug_Element_Builder.obj \ + $(OBJDIR)\Element_Tree.obj + +CFLAGS = \ + $(ACE_CFLAGS) \ + $(ACE_XML_CFLAGS) \ + -DACEXML_DEBUG_DTD_MANAGER_BUILD_DLL + +CPPDIR = .;.. + +LIBFILES = \ + $(ACE_LIB) \ + $(ACE_XML_LIB) + +!include <$(ACE_ROOT)\include\makeinclude\build_core_library.bor> diff --git a/ACEXML/parser/parser/Entity_Manager.cpp b/ACEXML/parser/parser/Entity_Manager.cpp new file mode 100644 index 00000000000..59054a7411e --- /dev/null +++ b/ACEXML/parser/parser/Entity_Manager.cpp @@ -0,0 +1,48 @@ +// $Id$ + +#include "parser/parser/Entity_Manager.h" + +#if !defined (__ACEXML_INLINE__) +# include "parser/parser/Entity_Manager.i" +#endif /* __ACEXML_INLINE__ */ + +static const ACEXML_Char amp_name[] = {'a', 'm', 'p', 0 }; +static const ACEXML_Char amp_value[] = {'&', 0}; +static const ACEXML_Char lt_name[] = {'l', 't', 0}; +static const ACEXML_Char lt_value[] = {'<', 0}; +static const ACEXML_Char gt_name[] = {'g', 't', 0}; +static const ACEXML_Char gt_value[] = {'>', 0}; +static const ACEXML_Char apos_name[] = {'a', 'p', 'o', 's', 0}; +static const ACEXML_Char apos_value[] = {'\'', 0}; +static const ACEXML_Char quot_name[] = {'q', 'u', 'o', 't', 0}; +static const ACEXML_Char quot_value[] = {'"', 0}; + +ACEXML_Entity_Manager::ACEXML_Entity_Manager (void) + : entities_ () +{ + // @@ No way to know if these bindings success or not. + + ACEXML_String ampname (amp_name, 0, 0); + ACEXML_String ampvalue (amp_value, 0, 0); + this->entities_.bind (ampname, ampvalue); + + ACEXML_String ltname (lt_name, 0, 0); + ACEXML_String ltvalue (lt_value, 0, 0); + this->entities_.bind (ltname, ltvalue); + + ACEXML_String gtname (gt_name, 0, 0); + ACEXML_String gtvalue (gt_value, 0, 0); + this->entities_.bind (gtname, gtvalue); + + ACEXML_String aposname (apos_name, 0, 0); + ACEXML_String aposvalue (apos_value, 0, 0); + this->entities_.bind (aposname, aposvalue); + + ACEXML_String quotname (quot_name, 0, 0); + ACEXML_String quotvalue (quot_value, 0, 0); + this->entities_.bind (quotname, quotvalue); +} + +ACEXML_Entity_Manager::~ACEXML_Entity_Manager (void) +{ +} diff --git a/ACEXML/parser/parser/Entity_Manager.h b/ACEXML/parser/parser/Entity_Manager.h new file mode 100644 index 00000000000..205715e7a4e --- /dev/null +++ b/ACEXML/parser/parser/Entity_Manager.h @@ -0,0 +1,71 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file Entity_Manager.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= + +#ifndef ACEXML_ENTITY_MANAGER_H +#define ACEXML_ENTITY_MANAGER_H + +#include "common/XML_Types.h" +#include "parser/parser/Parser_export.h" +#include "ace/Hash_Map_Manager.h" + +typedef ACE_Hash_Map_Entry<ACEXML_String, + ACEXML_String> ACEXML_ENTITY_ENTRY; + +typedef ACE_Hash_Map_Manager_Ex<ACEXML_String, + ACEXML_String, + ACE_Hash<ACEXML_String>, + ACE_Equal_To<ACEXML_String>, + ACE_Null_Mutex> ACEXML_ENTITIES_MANAGER; + +typedef ACE_Hash_Map_Iterator_Ex<ACEXML_String, + ACEXML_String, + ACE_Hash<ACEXML_String>, + ACE_Equal_To<ACEXML_String>, + ACE_Null_Mutex> ACEXML_ENTITIES_MANAGER_ITER; + +typedef ACE_Hash_Map_Reverse_Iterator_Ex<ACEXML_String, + ACEXML_String, + ACE_Hash<ACEXML_String>, + ACE_Equal_To<ACEXML_String>, + ACE_Null_Mutex> ACEXML_ENTITIES_MANAGER_REVERSE_ITER; + +/** + * @class ACEXML_Entity_Manager Entity_Manager.h "parser/parser/Entity_Manager.h" + * + * @brief Class to manage and resolve entity references. + * + * @todo Fill in details for this class. + */ +class ACEXML_PARSER_Export ACEXML_Entity_Manager +{ +public: + /// Default constructor. + ACEXML_Entity_Manager (void); + + /// Destructor. + ~ACEXML_Entity_Manager (void); + + /// Add a new entity declaration. + int add_entity (const ACEXML_Char *ref, + const ACEXML_Char *value); + + /// Resolve an entity reference. + const ACEXML_String *resolve_entity (const ACEXML_Char *ref); + +private: + ACEXML_ENTITIES_MANAGER entities_; +}; + +#if defined (__ACEXML_INLINE__) +# include "parser/parser/Entity_Manager.i" +#endif /* __ACEXML_INLINE__ */ +#endif /* ACEXML_ENTITY_MANAGER_H */ diff --git a/ACEXML/parser/parser/Entity_Manager.i b/ACEXML/parser/parser/Entity_Manager.i new file mode 100644 index 00000000000..696b82b64e4 --- /dev/null +++ b/ACEXML/parser/parser/Entity_Manager.i @@ -0,0 +1,21 @@ +// $Id$ + +ACEXML_INLINE int +ACEXML_Entity_Manager::add_entity (const ACEXML_Char *ref, + const ACEXML_Char *v) +{ + ACEXML_String name (ref, 0, 0); + ACEXML_String value (v, 0, 0); + return this->entities_.bind (name, value); +} + +ACEXML_INLINE const ACEXML_String * +ACEXML_Entity_Manager::resolve_entity (const ACEXML_Char *ref) +{ + ACEXML_ENTITY_ENTRY *entry; + + if (this->entities_.find (ACEXML_String (ref, 0, 0), + entry) == 0) + return &entry->int_id_; + return 0; +} diff --git a/ACEXML/parser/parser/Makefile b/ACEXML/parser/parser/Makefile new file mode 100644 index 00000000000..7eaddca72de --- /dev/null +++ b/ACEXML/parser/parser/Makefile @@ -0,0 +1,40 @@ +#---------------------------------------------------------------------------- +# $Id$ +# +# Makefile for the server-side ACE network services +#---------------------------------------------------------------------------- + +LIB = libACEXML_Parser.a +SHLIB = libACEXML_Parser.$(SOEXT) + +FILES = Entity_Manager \ + Parser + +DEFS = $(addsuffix .h,$(FILES)) +LSRC = $(addsuffix .cpp,$(FILES)) + +LIBS += $(ACELIB) +CCFLAGS += -I../.. + +BUILD = $(VLIB) $(VSHLIB) + +#---------------------------------------------------------------------------- +# Include macros and targets +#---------------------------------------------------------------------------- + +include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU +include $(ACE_ROOT)/include/makeinclude/macros.GNU +include $(ACE_ROOT)/include/makeinclude/rules.common.GNU +include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU +include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU +include $(ACE_ROOT)/include/makeinclude/rules.local.GNU + +#---------------------------------------------------------------------------- +# Local targets +#---------------------------------------------------------------------------- + +#---------------------------------------------------------------------------- +# Dependencies +#---------------------------------------------------------------------------- +# DO NOT DELETE THIS LINE -- g++dep uses it. +# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. diff --git a/ACEXML/parser/parser/Makefile.bor b/ACEXML/parser/parser/Makefile.bor new file mode 100644 index 00000000000..d9361e0108f --- /dev/null +++ b/ACEXML/parser/parser/Makefile.bor @@ -0,0 +1,20 @@ +# Makefile for building the parser + +NAME = Parser + +OBJFILES = \ + $(OBJDIR)\Parser.obj \ + $(OBJDIR)\Entity_Manager.obj + +CFLAGS = \ + $(ACE_CFLAGS) \ + $(ACE_XML_CFLAGS) \ + -DACEXML_PARSER_BUILD_DLL + +CPPDIR = .;.. + +LIBFILES = \ + $(ACE_LIB) \ + $(ACE_XML_LIB) + +!include <$(ACE_ROOT)\include\makeinclude\build_core_library.bor> diff --git a/ACEXML/parser/parser/Parser.cpp b/ACEXML/parser/parser/Parser.cpp new file mode 100644 index 00000000000..d48ddaa2869 --- /dev/null +++ b/ACEXML/parser/parser/Parser.cpp @@ -0,0 +1,2094 @@ +// $Id$ + +#include "parser/parser/Parser.h" +#include "common/Transcode.h" +#include "common/AttributesImpl.h" + +static const ACEXML_Char default_attribute_type[] = {'C', 'D', 'A', 'T', 'A', 0}; +static const ACEXML_Char empty_string[] = { 0 }; + +const ACEXML_Char +ACEXML_Parser::simple_parsing_name_[] = { 'S', 'i', 'm', 'p', 'l', 'e', 0 }; + +#if !defined (__ACEXML_INLINE__) +# include "parser/parser/Parser.i" +#endif /* __ACEXML_INLINE__ */ + +/*** +TO-DO: + +END-OF-LINE handling: x read quoted string + ignore whitespace + processing instruction + x element contents + +Figure out how to handle namespace here: +and when to invoke start/endPrefixMapping? + +Make sure we are freezing the obstack in all cases. + +***/ + +ACEXML_Parser::ACEXML_Parser (void) + : dtd_handler_ (0), + entity_resolver_ (0), + content_handler_ (0), + error_handler_ (0), + instream_ (0), + doctype_ (0), + dtd_system_ (0), + dtd_public_ (0), + simple_parsing_ (0) +{ +} + +ACEXML_Parser::~ACEXML_Parser (void) +{ +} + +int +ACEXML_Parser::getFeature (const ACEXML_Char *name, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException, + // ACEXML_SAXNotSupportedException)) +{ + if (ACE_OS_String::strcmp (name, ACEXML_Parser::simple_parsing_name_) == 0) + return this->simple_parsing_; + + xmlenv.exception (new ACEXML_SAXNotRecognizedException ()); + return -1; +} + +void * +ACEXML_Parser::getProperty (const ACEXML_Char *name, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException, + // ACEXML_SAXNotSupportedException)) +{ + // @@ Not implemented. + ACE_UNUSED_ARG (name); + + xmlenv.exception (new ACEXML_SAXNotSupportedException ()); + return 0; +} + +void +ACEXML_Parser::setFeature (const ACEXML_Char *name, + int boolean_value, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException, + // ACEXML_SAXNotSupportedException)) +{ + if (ACE_OS_String::strcmp (name, ACEXML_Parser::simple_parsing_name_) == 0) + this->simple_parsing_ = (boolean_value == 0 ? 0 : 1); + + xmlenv.exception (new ACEXML_SAXNotRecognizedException ()); +} + +void +ACEXML_Parser::setProperty (const ACEXML_Char *name, + void *value, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException, + // ACEXML_SAXNotSupportedException)) +{ + // @@ Not implemented. + ACE_UNUSED_ARG (name); + ACE_UNUSED_ARG (value); + + xmlenv.exception (new ACEXML_SAXNotSupportedException ()); +} + + +void +ACEXML_Parser::parse (ACEXML_InputSource *input, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + if (input == 0) + { + xmlenv.exception (new ACEXML_SAXException + (ACE_LIB_TEXT ("No valid input source available"))); + return; + } + + // @@ Set up Locator. + + if ((this->instream_ = input->getCharStream ()) == 0) + { + xmlenv.exception (new ACEXML_SAXException + (ACE_LIB_TEXT ("No valid input source available"))); + return; + } + + if (this->simple_parsing_ == 0) + { + this->parse_xml_prolog (xmlenv); + ACEXML_CHECK; + } + // @@ Should startDocument come before or after parsing the DTD definition? + this->content_handler_->startDocument (xmlenv); + ACEXML_CHECK; + + int doctype_defined = 0; + + for (int prolog_done = 0; prolog_done == 0; ) + { + if (this->skip_whitespace (0) != '<') + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting '<'"))); + return; + + } + ACEXML_Char fwd = this->peek (); + switch (fwd) + { + case '!': + this->get (); // consume the '!' + fwd = this->peek (); + if (fwd == 'D' && !doctype_defined) // DOCTYPE + { + // This will also take care of the trailing MISC block if any. + this->parse_doctypedecl (xmlenv); + ACEXML_CHECK; + doctype_defined = 1; + break; + } + else if (fwd == '-') // COMMENT + { + if (this->grok_comment () < 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Invalid comment"))); + return; + } + } + else + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Duplicate DOCTYPE definitions"))); + return; + } + break; + case '?': + this->parse_processing_instruction (xmlenv); + ACEXML_CHECK; + break; + case 0: + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Unexpected EOF"))); + break; + default: // Root element begins + prolog_done = 1; + break; + } + } + + // Now parse root element. + this->parse_element (1, xmlenv); + ACEXML_CHECK; + + this->content_handler_->endDocument (xmlenv); + // ACEXML_CHECK; +} + +void +ACEXML_Parser::parse (const ACEXML_Char *systemId, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // @@ Not implemented. + ACE_UNUSED_ARG (systemId); + + xmlenv.exception (new ACEXML_SAXNotSupportedException ()); + return ; +} + + +ACEXML_Char +ACEXML_Parser::skip_whitespace (ACEXML_Char **whitespace) +{ + ACEXML_Char ch = this->get (); + + if (this->is_whitespace (ch) == 0) + { + if (whitespace != 0) + *whitespace = 0; + return ch; + } + + do + { + if (whitespace != 0) + this->obstack_.grow (ch); + ch = this->get (); + } + while (this->is_whitespace (ch)); + + if (whitespace != 0) + *whitespace = this->obstack_.freeze (); + + return ch; +} + +int +ACEXML_Parser::skip_whitespace_count (ACEXML_Char *peeky) +{ + int wscount = 0; + ACEXML_Char dummy; + ACEXML_Char &forward = (peeky == 0 ? dummy : *peeky); + + for (;this->is_whitespace ((forward = this->peek ())); ++wscount) + this->get (); + + return wscount; +} + +void +ACEXML_Parser::parse_xml_prolog (ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + if (this->get () != '<' || + this->get () != '?' || + this->get () != 'x' || + this->get () != 'm' || + this->get () != 'l') + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Unrecognized XML Decl"))); + return; + } + + ACEXML_Char *astring; + + if (this->skip_whitespace (0) != 'v' || // Discard whitespace + this->get () != 'e' || + this->get () != 'r' || + this->get () != 's' || + this->get () != 'i' || + this->get () != 'o' || + this->get () != 'n' || + this->skip_equal () != 0 || + this->get_quoted_string (astring) != 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Unrecognized XML Decl"))); + return; + } + + // @@ Handle version number here. + + int xmldecl_state = 0; + int seen_encoding = 0; + + while (1) + { + ACEXML_Char fwd = this->peek (); + if (fwd != '?') + { + fwd = this->skip_whitespace (0); // Discard whitespace + if (fwd == '?') + { + // Do nothing. Fall down to consume the '?' + // and wrap up the XML Decl parsing. + } + else if (xmldecl_state == 0 && fwd == 'e') + { + if (this->get () == 'n' && + this->get () == 'c' && + this->get () == 'o' && + this->get () == 'd' && + this->get () == 'i' && + this->get () == 'n' && + this->get () == 'g' && + this->skip_equal () == 0 && + this->get_quoted_string (astring) == 0) + { + if (seen_encoding) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Duplicate encoding defined"))); + return; + } + else + seen_encoding = 1; + // @@ Handle encoding here. We don't handle + // various encodings for this parser. + + continue; + } + else + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Unrecognized XML Decl"))); + return; + } + } + else if (xmldecl_state < 2 && fwd == 's') + { + if (this->get () == 't' && + this->get () == 'a' && + this->get () == 'n' && + this->get () == 'd' && + this->get () == 'a' && + this->get () == 'l' && + this->get () == 'o' && + this->get () == 'n' && + this->get () == 'g' && + this->skip_equal () == 0 && + this->get_quoted_string (astring) == 0) + { + xmldecl_state = 2; + if (ACE_OS::strcmp (astring, ACE_LIB_TEXT ("yes")) == 0) + { + // @@ This is a standalone XML file. + continue; + } + else if (ACE_OS::strcmp (astring, ACE_LIB_TEXT ("no")) == 0) + { + // @@ This is not a stand alone XML file. + continue; + } + } + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Unrecognized XML Decl"))); + return; + } + else + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Unrecognized XML Decl"))); + return; + } + } + + + this->get (); // consume '?' + + if (this->get() != '>') + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Unrecognized XML Decl"))); + return; + } + return; + } + // End parsing XML Decl. +} + +int +ACEXML_Parser::grok_comment (void) +{ + /// Simply filter out all the comment + int state = 0; + + if (this->get () != '-' || // Skip the opening "<!--" + this->get () != '-' || // completely. + this->get () == '-') // and at least something not '-'. + return -1; + + while (state < 3) // Waiting for the trailing three + // character '-->'. Notice that + // according to the spec, '--->' + // is not a valid closing comment + // sequence. But we'll let it pass + // anyway. + { + ACEXML_Char fwd = this->get (); + if ((fwd == '-' && state < 2) || + (fwd == '>' && state == 2)) + state += 1; + else + state = 0; // Reset parse state. + } + return 0; +} + +ACEXML_Char * +ACEXML_Parser::read_name (ACEXML_Char ch) +{ + if (ch == 0) + { + ch = this->get (); + + if (this->is_whitespace (ch)) + // No white space is allowed here. + return 0; + } + else if (this->is_nonname (ch)) + return 0; + + while (1) + { + this->obstack_.grow (ch); + ch = this->peek (); + if (this->is_nonname (ch)) + break; + ch = this->get (); + }; + + return this->obstack_.freeze (); +} + +int +ACEXML_Parser::parse_processing_instruction (ACEXML_Env &xmlenv) +{ + if (this->get () != '?') + { // How did we get here? + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Internal error"))); + return -1; + } + const ACEXML_Char *pitarget = this->read_name (); + ACEXML_Char *instruction = 0; + + if (ACE_OS_String::strcasecmp (ACE_LIB_TEXT ("xml"), pitarget) != 0) + { // Invalid PITarget name. + xmlenv.exception + (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("PITarget name cannot start with 'xml'"))); + return -1; + } + + int state = 0; + ACEXML_Char ch = this->skip_whitespace (0); + + while (state < 2) + { + switch (ch) + { + case '?': + if (state == 0) + state = 1; + break; + case '>': + if (state == 1) + { + instruction = this->obstack_.freeze (); + this->content_handler_->processingInstruction (pitarget, + instruction, + xmlenv); + ACEXML_CHECK_RETURN (-1); + return 0; + } + break; + case 0x0D: // End-of-Line handling + ch = (this->peek () == 0x0A ? this->get () : 0x0A); + // Fall thru... + default: + if (state == 1) + this->obstack_.grow ('?'); + this->obstack_.grow (ch); + state = 0; + } + ch = this->get (); + } + return -1; +} + +int +ACEXML_Parser::parse_doctypedecl (ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + if (this->get () != 'D' || + this->get () != 'O' || + this->get () != 'C' || + this->get () != 'T' || + this->get () != 'Y' || + this->get () != 'P' || + this->get () != 'E') + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting keyword 'DOCTYPE'"))); + return -1; + } + + ACEXML_Char nextch = this->skip_whitespace (0); + if (nextch == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting a DOCTYPE name"))); + return -1; + } + + this->doctype_ = this->read_name (nextch); + + this->skip_whitespace_count (&nextch); + + if (nextch == 'S' || nextch == 'P') // ExternalID defined + { + this->parse_external_id_and_ref (this->dtd_public_, + this->dtd_system_, + xmlenv); + if (xmlenv.exception () != 0) + return -1; + else if (this->dtd_public_ == 0) + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("ACEXML Parser got external DTD id: SYSTEM %s\n"), + this->dtd_system_)); + else + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("==> ACEXML Parser got DTD external id: PUBLIC %s %s\n"), + this->dtd_public_, this->dtd_system_)); + } + + nextch = this->skip_whitespace (0); + switch (nextch) + { + case '[': // Internal DTD definitionl + if (this->parse_internal_dtd (xmlenv) < 0) + return -1; // Error in markupdecl + break; + case '>': // End of DTD definition + // this is an XML document without a dectypedecl. + return 0; + case '0': + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Unexpected EOF"))); + return -1; + default: + break; + } + + if (this->skip_whitespace (0) != '>') + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Internal error"))); + return -1; + } + return 0; +} + +void +ACEXML_Parser::parse_element (int is_root, ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) +{ + // Parse STag. + + const ACEXML_Char *startname = this->read_name (); + + if (startname == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Unexpected EOF"))); + return; + } + + if (is_root && + this->doctype_ != 0 && + ACE_OS_String::strcmp (startname, this->doctype_) != 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Root element missing."))); + return; + } + + const ACEXML_Char *endname = 0; + ACEXML_AttributesImpl attributes; + ACEXML_Char ch; + int new_namespace = 0; + const ACEXML_Char *ns_uri, *ns_lname; // namespace URI and localName + + for (int start_element_done = 0; start_element_done == 0;) + { + ch = this->skip_whitespace (0); + + switch (ch) + { + case 0: + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Internal error"))); + return; + + case '/': + if (this->get () != '>') + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expectint '>'"))); + return; + } + else + { + this->xml_namespace_.processName (startname, ns_uri, ns_lname, 0); + this->content_handler_->startElement (ns_uri, + ns_lname, + startname, + &attributes, + xmlenv); + ACEXML_CHECK; + this->content_handler_->endElement (ns_uri, ns_lname, startname, xmlenv); + ACEXML_CHECK; + } + if (new_namespace != 0) + this->xml_namespace_.popContext (); + return; + + case '>': + this->xml_namespace_.processName (startname, ns_uri, ns_lname, 0); + this->content_handler_->startElement (ns_uri, + ns_lname, + startname, + &attributes, + xmlenv); + ACEXML_CHECK; + start_element_done = 1; + break; + default: + { + ACEXML_Char *attvalue = 0; + ACEXML_Char *attname = this->read_name (ch); + + if (attname == 0 || + this->skip_equal () != 0 || + this->get_quoted_string (attvalue) != 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Error reading attribute"))); + return; + } + + // Handling new namespace if any. Notice that the order of namespace + // declaration does matter. + if (attname[0] == 'x' && + attname[1] == 'm' && + attname[2] == 'l' && + attname[3] == 'n' && + attname[4] == 's') + { + if (new_namespace == 0) + { + this->xml_namespace_.pushContext (); + new_namespace = 1; + } + + ACE_Tokenizer ns_att (attname); + ns_att.delimiter_replace (':', 0); + ACEXML_Char *xmlns_prefix, *ns_name; + + xmlns_prefix = ns_att.next (); + ns_name = ns_att.next (); + + // @@ xmlns_prefix is not used now. + ACE_UNUSED_ARG (xmlns_prefix); + if (ns_name == 0) + { + // @@ Check return value? + this->xml_namespace_.declarePrefix (empty_string, + attvalue); + } + else + { + // @@ Check return value? + this->xml_namespace_.declarePrefix (ns_name, + attvalue); + } + } + else + { + const ACEXML_Char *uri, *lName; + this->xml_namespace_.processName (attname, uri, lName, 1); + + attributes.addAttribute (uri, + lName, + attname, + default_attribute_type, + attvalue); + } + } + break; + } + } + + ACEXML_Char *cdata; + size_t cdata_length = 0; + + // Parse element contents. + while (1) + { + ch = this->get (); + + switch (ch) + { + case 0: + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Internal error"))); + return; + + case '<': + // Push out old 'characters' event. + if (cdata_length != 0) + { + cdata = this->obstack_.freeze (); + this->content_handler_->characters (cdata, + 0, + cdata_length, + xmlenv); + ACEXML_CHECK; + cdata_length = 0; + } + + switch (this->peek ()) + { + case '!': // a comment or a CDATA section. + this->get (); // consume '!' + ch = this->peek (); + if (ch == '-') // a comment + { + if (this->grok_comment () < 0) + { + xmlenv.exception + (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Error parsing comment"))); + return ; + } + } + else if (ch == '[') // a CDATA section. + { + this->parse_cdata (xmlenv); + ACEXML_CHECK; + } + else + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Unexpected character"))); + return; + } + break; + case '?': // a PI. + this->parse_processing_instruction (xmlenv); + ACEXML_CHECK; + break; + case '/': // an ETag. + this->get (); // consume '/' + endname = this->read_name (); + if (endname == 0 || + ACE_OS_String::strcmp (startname, endname) != 0) + { + xmlenv.exception + (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Mismatched End-tag encountered"))); + return ; + } + if (this->skip_whitespace (0) != '>') + { + xmlenv.exception + (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting '>' in an end-tag"))); + return; + } + this->content_handler_->endElement (ns_uri, + ns_lname, + endname, + xmlenv); + ACEXML_CHECK; + + if (new_namespace != 0) + this->xml_namespace_.popContext (); + return; + + default: // a new nested element? + this->parse_element (0, xmlenv); + ACEXML_CHECK; + break; + } + break; + case '&': + { + const ACEXML_String *replace = 0; + ACEXML_String charval; + ACEXML_Char buffer[6]; + + if (this->peek () == '#') + { + if (this->parse_char_reference (buffer, 6) != 0) + { + // not referring to any character exception? + return; + } + charval.set (buffer, 0); + replace = &charval; + } + else + replace = this->parse_reference (); + + if (replace == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Internal Error?"))); + return; + } + if (this->try_grow_cdata (replace->length (), cdata_length, xmlenv) == 0) + { + cdata_length = replace->length (); + for (size_t i = 0; i < replace->length (); ++i) + this->obstack_.grow ((*replace)[i]); + } + else + return; + } + break; + case 0x0D: // End-of-Line handling + ch = (this->peek () == 0x0A ? this->get () : 0x0A); + // Fall thru... + default: + ++cdata_length; + cdata = this->obstack_.grow (ch); + if (cdata == 0) + { + cdata = this->obstack_.freeze (); + this->content_handler_->characters (cdata, + 0, + cdata_length, + xmlenv); + ACEXML_CHECK; + this->obstack_.grow (ch); + cdata_length = 1; // the missing char. + } + } + } + +} + +int +ACEXML_Parser::parse_char_reference (ACEXML_Char *buf, size_t len) +{ + if (this->get () != '#') + { + // Internal error. + return -1; + } + + int hex = 0; + + if (this->peek () == 'x') + { + hex = 1; + this->get (); + } + + int more_digit = 0; + ACEXML_UCS4 sum = 0; + + while (1) + { + ACEXML_Char ch = this->get (); + switch (ch) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + sum = sum * (hex ? 16 : 10) + (ch - '0'); + break; + case 'a': + case 'A': + if (!hex) + return -1; + sum = sum * 16 + 10; + break; + case 'b': + case 'B': + if (!hex) + return -1; + sum = sum * 16 + 11; + break; + case 'c': + case 'C': + if (!hex) + return -1; + sum = sum * 16 + 12; + break; + case 'd': + case 'D': + if (!hex) + return -1; + sum = sum * 16 + 13; + break; + case 'e': + case 'E': + if (!hex) + return -1; + sum = sum * 16 + 14; + break; + case 'f': + case 'F': + if (!hex) + return -1; + sum = sum * 16 + 15; + break; + case ';': + if (more_digit == 0) // no digit exist??? + return -1; + int clen; +#if defined (ACE_USES_WCHAR) // UTF-16 + if ((clen = ACEXML_Transcoder::ucs42utf16 (sum, buf, len)) < 0) + return -1; + +#elif 1 // or UTF-8 + if ((clen = ACEXML_Transcoder::ucs42utf8 (sum, buf, len)) < 0) + return -1; +#elif 0 // UCS 4, not likely + buf [0] = sum; + buf [1] = 0; +#endif + buf [clen] = 0; + return 0; + default: + return -1; + } + more_digit = 1; + } + ACE_NOTREACHED (return -1;) +} + +const ACEXML_String * +ACEXML_Parser::parse_reference (void) +{ + // @@ We'll use a temporary buffer here as the Obstack are most likely + // be in use when we come here. This put a limit on the max length of + // a reference. + ACEXML_Char ref[MAXPATHLEN]; + + size_t loc = 0; + + while (loc < MAXPATHLEN -1) + { + ACEXML_Char ch = this->get (); + if (ch == ';') + { + ref[loc] = 0; + break; + } + else + ref[loc++] = ch; + } + + return this->entities_.resolve_entity (ref); +} + +int +ACEXML_Parser::parse_cdata (ACEXML_Env &xmlenv) +{ + if (this->get () != '[' || + this->get () != 'C' || + this->get () != 'D' || + this->get () != 'A' || + this->get () != 'T' || + this->get () != 'A' || + this->get () != '[') + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("'[CDATA[' expected"))); + return -1; + } + + int parse_state = 0; + size_t datalen = 0; + + while (1) + { + ACEXML_Char ch; + ACEXML_Char *cdata; + + ch = this->get (); + // Anything goes except the sequence "]]>". + switch (parse_state) + { + case 2: + if (ch == ']') + { + parse_state = 3; + continue; + } + break; + case 3: + if (ch == '>') // Yay! + { + cdata = this->obstack_.freeze (); + this->content_handler_->characters (cdata, + 0, + datalen, + xmlenv); + // ACEXML_CHECK_RETURN (-1); + return 0; + } + break; + default: + if (ch == ']') + { + parse_state = 2; + continue; + } + else + parse_state = 1; + } + while (parse_state > 0) + { + if (this->try_grow_cdata (1, datalen, xmlenv) < 0) + return -1; + + if (parse_state != 1) + this->obstack_.grow (']'); + else + { + if (ch == 0x0D) + ch = (this->peek () == 0x0A ? this->get () : 0x0A); + this->obstack_.grow (ch); + } + ++datalen; + --parse_state; + } + }; + ACE_NOTREACHED (return -1); +} + +int +ACEXML_Parser::try_grow_cdata (size_t size, size_t &len, ACEXML_Env &xmlenv) +{ + if (this->obstack_.request (size) != 0) + { + if (len != 0) + { + ACEXML_Char *cdata = this->obstack_.freeze (); + if (cdata == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Internal Error growing CDATA buffer"))); + return -1; + } + this->content_handler_->characters (cdata, + 0, + len, + xmlenv); + ACEXML_CHECK_RETURN (-1); + len = 0; // reset counter + if (this->obstack_.request (size) == 0) + return 0; + } + + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Internal error, buffer overflowed"))); + return -1; + } + return 0; +} + +int +ACEXML_Parser::skip_equal (void) +{ + if (this->skip_whitespace (0) != '=') + return -1; + + while (this->is_whitespace (this->peek ())) + this->get (); + return 0; +} + +int +ACEXML_Parser::get_quoted_string (ACEXML_Char *&str) +{ + ACEXML_Char quote = this->get (); + if (quote != '\'' && quote != '"') // Not a quoted string found. + return -1; + + while (1) + { + ACEXML_Char ch = this->get (); + + // @@ Deoes not handle buffer overflow yet. + if (ch == quote) + { + str = this->obstack_.freeze (); + return 0; + } + + const ACEXML_String *replace = 0; + ACEXML_String charval; + ACEXML_Char buffer[6]; + size_t i = 0; + + switch (ch) + { + case '&': + + if (this->peek () == '#') + { + if (this->parse_char_reference (buffer, 6) != 0) + { + // xmlenv.exception (new ACEXML_SAXParseException + //(ACE_LIB_TEXT ("CharRef does not resolves to a valid character"))); + return -1; + } + charval.set (buffer, 0); + replace = &charval; + } + else + replace = this->parse_reference (); + + if (replace == 0) + { + // xmlenv.exception (new ACEXML_SAXParseException + // (ACE_LIB_TEXT ("Undefined reference"))); + return -1; + } + for (i = 0; i < replace->length (); ++i) + this->obstack_.grow ((*replace)[i]); + // handle reference here. + break; + case 0x0D: // End-of-Line handling + ch = (this->peek () == 0x0A ? this->get () : 0x0A); + // Fall thru... + default: + this->obstack_.grow (ch); + break; + } + } +} + +int +ACEXML_Parser::parse_internal_dtd (ACEXML_Env &xmlenv) +{ + ACEXML_Char nextch = this->skip_whitespace (0); + + do { + switch (nextch) + { + case '<': // Start of markup Decl. + nextch = this->peek (); + switch (nextch) + { + case '!': + this->get (); // Discard '!' + nextch = this->peek (); + switch (nextch) + { + case 'E': // An ELEMENT or ENTITY decl + this->get (); + nextch = this->peek (); + switch (nextch) + { + case 'L': + if (this->parse_element_decl (xmlenv) < 0) + return -1; + break; + + case 'N': + if (this->parse_entity_decl (xmlenv) < 0) + return -1; + break; + + default: + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Invalid keyword in decl spec"))); + return -1; + } + break; + + case 'A': // An ATTLIST decl + if (this->parse_attlist_decl (xmlenv) < 0) + return -1; + break; + + case 'N': // A NOTATION decl + if (this->parse_notation_decl (xmlenv) < 0) + return -1; + break; + + case '-': // a comment. + if (this->grok_comment () < 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Error parsing comment"))); + return -1; + } + break; + case 0: + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Unexpected EOF"))); + return -1; + default: + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Invalid char. follows '<!' in markupdecl"))); + return -1; + } + break; + + case '?': // PI + this->parse_processing_instruction (xmlenv); + ACEXML_CHECK_RETURN (-1); + break; + + case 0: + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Unexpected EOF"))); + return -1; + + default: + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Invalid char. follow '<' in markupdecl"))); + return -1; + } + break; + + case '%': // DeclSep. Define new PEreference... + break; + + case ']': // End of internal definitions. + return 0; // Not applicable when parsing external DTD spec. + + case 0: // This may not be an error if we decide + // to generalize this function to handle both + // internal and external DTD definitions. + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Unexpected EOF"))); + return -1; + + default: + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting markupdecl or DecSep"))); + return -1; + }; + + // To fully conform with the spec., whitespaces are only allowed + // following a 'DeclSep' section. However, I found it + // hard/impossible to eliminate all the whitespaces between + // markupdecls. + + nextch = this->skip_whitespace (0); + + } while (1); + + ACE_NOTREACHED (return -1;) +} + +int +ACEXML_Parser::parse_element_decl (ACEXML_Env &xmlenv) +{ + if (this->get () != 'L' || + this->get () != 'E' || + this->get () != 'M' || + this->get () != 'E' || + this->get () != 'N' || + this->get () != 'T' || + this->skip_whitespace_count () == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting keyword `ELEMENT'"))); + return -1; + } + + ACEXML_Char *element_name = this->read_name (); + if (element_name == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Error reading element name while defining ELEMENT."))); + return -1; + } + + ACEXML_Char nextch ; + this->skip_whitespace_count (&nextch); + + switch (nextch) + { + case 'E': // EMPTY + if (this->get () != 'E' || + this->get () != 'M' || + this->get () != 'P' || + this->get () != 'T' || + this->get () != 'Y') + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting keyword `EMPTY' in ELEMENT definition."))); + return -1; + } + break; + case 'A': // ANY + if (this->get () != 'A' || + this->get () != 'N' || + this->get () != 'Y') + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting keyword `ANY' in ELEMENT definition."))); + return -1; + } + break; + case '(': // children + this->parse_children_definition (xmlenv); + if (xmlenv.exception () != 0) + return -1; + break; + default: // error + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Error reading ELEMENT definition."))); + return -1; + } + if (this->skip_whitespace (0) != '>') + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting '>' in ELEMENT definition."))); + return -1; + } + return 0; +} + +int +ACEXML_Parser::parse_entity_decl (ACEXML_Env &xmlenv) +{ + ACEXML_Char nextch; + + if (this->get () != 'N' || + this->get () != 'T' || + this->get () != 'I' || + this->get () != 'T' || + this->get () != 'Y' || + this->skip_whitespace_count (&nextch) == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting keyword `ENTITY'"))); + return -1; + } + + int is_GEDecl = 1; + if (nextch == '%') // This is a PEDecl. + { + is_GEDecl = 0; + this->get (); // consume the '%' + if (this->skip_whitespace_count (&nextch) == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Can't use a reference when defining entity name"))); + return -1; + } + } + + ACEXML_Char *entity_name = this->read_name (); + if (entity_name == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Error reading ENTITY name."))); + return -1; + } + + this->skip_whitespace_count (&nextch); + + if (nextch == '\'' || nextch == '"') + { + ACEXML_Char *entity_value = 0; + + if (this->get_quoted_string (entity_value) != 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Error reading ENTITY value."))); + return -1; + } + + if (is_GEDecl) + { + if (this->entities_.add_entity (entity_name, entity_value) != 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Error storing entity definition (duplicate definition?)"))); + return -1; + } + } + else + { + // @@ need to implement PEdecl lookup mechanism + xmlenv.exception (new ACEXML_SAXNotSupportedException ()); + return -1; + } + } + else + { + ACEXML_Char *systemid, *publicid; + + this->parse_external_id_and_ref (publicid, systemid, xmlenv); + if (xmlenv.exception () != 0) + return -1; + + if (systemid == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Invalid ExternalID definition (system ID missing.)"))); + return -1; + } + + this->skip_whitespace_count (&nextch); + if (nextch == 'N') // NDATA section followed + { + if (is_GEDecl == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Unexpecting keyword NDATA in PEDecl."))); + return -1; + } + + if (this->get () != 'N' || + this->get () != 'D' || + this->get () != 'A' || + this->get () != 'T' || + this->get () != 'A' || + this->skip_whitespace_count (&nextch) == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting keyword NDATA."))); + return -1; + } + + ACEXML_Char *ndata = this->read_name (); + this->dtd_handler_->unparsedEntityDecl (entity_name, + publicid, + systemid, + ndata, + xmlenv); + if (xmlenv.exception () != 0) + return -1; + } + else + { + // @@ Need to support external CharStream sources + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("ENTITY: (%s) "), + entity_name)); + + if (publicid == 0) + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("SYSTEM %s\n"), + systemid)); + else + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("PUBLIC %s %s\n"), + publicid, systemid)); + } + } + + // End of ENTITY definition + if (this->skip_whitespace (0) != '>') + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting end of ENTITY definition."))); + return -1; + } + return 0; +} + +int +ACEXML_Parser::parse_attlist_decl (ACEXML_Env &xmlenv) +{ + if (this->get () != 'A' || + this->get () != 'T' || + this->get () != 'T' || + this->get () != 'L' || + this->get () != 'I' || + this->get () != 'S' || + this->get () != 'T' || + this->skip_whitespace_count () == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting keyword `ATTLIST'"))); + return -1; + } + + ACEXML_Char *element_name = this->read_name (); + if (element_name == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Error reading element name while defining ATTLIST."))); + return -1; + } + + ACEXML_Char nextch = this->skip_whitespace (0); + + // Parse AttDef* + while (nextch != '>') + { + // Parse attribute name + ACEXML_Char *att_name = this->read_name (nextch); + if (att_name == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Error reading attribute name while defining ATTLIST."))); + return -1; + } + + /* + Parse AttType: + Possible keywords: + CDATA // StringType + ID // TokenizedType + IDREF + IDREFS + ENTITY + ENTITIES + NMTOKEN + NMTOKENS + NOTATION // EnumeratedType - NotationTYpe + ( // EnumeratedType - Enumeration + */ + nextch = this->skip_whitespace (0); + switch (nextch) + { + case 'C': // CDATA + if (this->get () != 'D' || + this->get () != 'A' || + this->get () != 'T' || + this->get () != 'A' || + this->skip_whitespace_count () == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting keyword `CDATA' while defining ATTLIST."))); + return -1; + } + // Else, we have successfully identified the type of the attribute as CDATA + // @@ Set up validator appropriately here. + break; + case 'I': // ID, IDREF, or, IDREFS + if (this->get () == 'D') + { + if (this->skip_whitespace_count (&nextch) > 0) + { + // We have successfully identified the type of the attribute as ID + // @@ Set up validator as such. + break; + } + if (this->get () == 'R' && + this->get () == 'E' && + this->get () == 'F') + { + if (this->skip_whitespace_count (&nextch) > 0) + { + // We have successfully identified the type of + // the attribute as IDREF + // @@ Set up validator as such. + break; + } + else if (nextch == 'S' && + this->get () && // consume the 'S' + this->skip_whitespace_count () != 0) + { + // We have successfully identified the type of + // the attribute as IDREFS + // @@ Set up validator as such. + break; + } + } + } + // Admittedly, this error message is not precise enough + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting keyword `ID', `IDREF', or `IDREFS' while defining ATTLIST."))); + return -1; + case 'E': // ENTITY or ENTITIES + if (this->get () == 'N' && + this->get () == 'T' && + this->get () == 'I' && + this->get () == 'T') + { + nextch = this->get (); + if (nextch == 'Y') + { + // We have successfully identified the type of + // the attribute as ENTITY + // @@ Set up validator as such. + } + else if (nextch == 'I'&& + this->get () == 'E' && + this->get () == 'S') + { + // We have successfully identified the type of + // the attribute as ENTITIES + // @@ Set up validator as such. + } + if (this->skip_whitespace_count () > 0) + { + // success + break; + } + } + // Admittedly, this error message is not precise enough + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting keyword `ENTITY', or `ENTITIES' while defining ATTLIST."))); + return -1; + case 'N': // NMTOKEN, NMTOKENS, or, NOTATION + nextch = this->get (); + if (nextch != 'M' || nextch != 'O') + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting keyword `NMTOKEN', `NMTOKENS', or `NOTATION' while defining ATTLIST."))); + return -1; + } + if (nextch == 'M') + { + if (this->get () == 'T' && + this->get () == 'O' && + this->get () == 'K' && + this->get () == 'E' && + this->get () == 'N') + { + if (this->skip_whitespace_count (&nextch) > 0) + { + // We have successfully identified the type of + // the attribute as NMTOKEN + // @@ Set up validator as such. + break; + } + else if (nextch == 'S' && this->skip_whitespace_count () > 0) + { + // We have successfully identified the type of + // the attribute as NMTOKENS + // @@ Set up validator as such. + break; + } + } + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting keyword `NMTOKEN' or `NMTOKENS' while defining ATTLIST."))); + return -1; + } + else // NOTATION + { + if (this->get () != 'T' || + this->get () != 'A' || + this->get () != 'T' || + this->get () != 'I' || + this->get () != 'O' || + this->get () != 'N' || + this->skip_whitespace_count () == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting keyword `NOTATION' while defining ATTLIST."))); + return -1; + } + + if (this->get () != '(') + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting `(' following NOTATION while defining ATTLIST."))); + return -1; + } + + this->skip_whitespace_count (); + + do { + ACEXML_Char *notation_name = this->read_name (); + if (notation_name == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Error reading NOTATION name while defining ATTLIST."))); + return -1; + } + // @@ get another notation name, set up validator as such + this->skip_whitespace_count (&nextch); + } while (nextch != ')'); + + this->get (); // consume the closing paren. + this->skip_whitespace_count (); + } + break; + case '(': // EnumeratedType - Enumeration + this->skip_whitespace_count (); + + do { + ACEXML_Char *token_name = this->read_name (); // @@ need a special read_nmtoken? + if (token_name == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Error reading enumerated nmtoken name while defining ATTLIST."))); + return -1; + } + // @@ get another nmtoken, set up validator as such + this->skip_whitespace_count (&nextch); + } while (nextch != ')'); + + this->get (); // consume the closing paren. + this->skip_whitespace_count (); + break; + default: + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Invalid Attribute Type while defining ATTLIST."))); + return -1; + } + ACE_NOTREACHED (break;) + } + + /* + Parse DefaultDecl: + #REQUIRED + #IMPLIED + #FIXED + quoted string // #FIXED + */ + nextch = this->peek (); + switch (nextch) + { + case '#': + this->get (); // consume the '#' + switch (this->get ()) + { + case 'R': + if (this->get () != 'E' || + this->get () != 'Q' || + this->get () != 'U' || + this->get () != 'I' || + this->get () != 'R' || + this->get () != 'E' || + this->get () != 'D') + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting keyword `#REQUIRED' while defining ATTLIST."))); + return -1; + } + // We now know this attribute is required + // @@ Set up the validator as such. + break; + case 'I': + if (this->get () != 'M' || + this->get () != 'P' || + this->get () != 'L' || + this->get () != 'I' || + this->get () != 'E' || + this->get () != 'D') + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting keyword `#IMPLIED' while defining ATTLIST."))); + return -1; + } + // We now know this attribute is impleid. + // @@ Set up the validator as such. + break; + case 'F': + if (this->get () != 'I' || + this->get () != 'X' || + this->get () != 'E' || + this->get () != 'D' || + this->skip_whitespace_count () == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting keyword `#FIXED' while defining ATTLIST."))); + return -1; + } + // We now know this attribute is fixed. + + ACEXML_Char *fixed_attr; + if (this->get_quoted_string (fixed_attr) != 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Error parsing `#FIXED' attribute value while defining ATTLIST."))); + return -1; + } + // @@ set up validator + break; + default: + break; + } + break; + case '\'': + case '"': + ACEXML_Char *fixed_attr; + if (this->get_quoted_string (fixed_attr) != 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Error parsing `#FIXED' attribute value while defining ATTLIST."))); + return -1; + } + // @@ set up validator + break; + default: + break; + } + this->skip_whitespace_count (&nextch); + }; + + this->get (); // consume closing '>' + + return 0; +} + +int +ACEXML_Parser::parse_notation_decl (ACEXML_Env &xmlenv) +{ + if (this->get () != 'N' || + this->get () != 'O' || + this->get () != 'T' || + this->get () != 'A' || + this->get () != 'T' || + this->get () != 'I' || + this->get () != 'O' || + this->get () != 'N' || + this->skip_whitespace_count () == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting keyword `NOTATION'"))); + return -1; + } + + ACEXML_Char *notation = this->read_name (); + if (notation == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Invalid notation name."))); + return -1; + } + + this->skip_whitespace_count (); + ACEXML_Char *systemid, *publicid; + + this->parse_external_id_and_ref (publicid, systemid, xmlenv); + if (xmlenv.exception () != 0) + return -1; + + if (this->get () != '>') + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting NOTATION closing '>'."))); + return -1; + } + + this->dtd_handler_->notationDecl (notation, + publicid, + systemid, + xmlenv); + if (xmlenv.exception () != 0) + return -1; + + return 0; +} + +int +ACEXML_Parser::parse_external_id_and_ref (ACEXML_Char *&publicId, + ACEXML_Char *&systemId, + ACEXML_Env &xmlenv) +{ + publicId = systemId = 0; + ACEXML_Char nextch = this->get (); + + switch (nextch) + { + case 'S': // External SYSTEM id. + if (this->get () != 'Y' || + this->get () != 'S' || + this->get () != 'T' || + this->get () != 'E' || + this->get () != 'M' || + this->skip_whitespace_count () == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting keyword 'SYSTEM'"))); + return -1; + } + if (this->get_quoted_string (systemId) != 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Error while parsing SYSTEM literal for SYSTEM id."))); + return -1; + } + break; + case 'P': // External PUBLIC id or previously defined PUBLIC id. + if (this->get () != 'U' || + this->get () != 'B' || + this->get () != 'L' || + this->get () != 'I' || + this->get () != 'C' || + this->skip_whitespace_count () == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting keyword 'PUBLIC'"))); + return -1; + } + if (this->get_quoted_string (publicId) != 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Error while parsing public literal for PUBLIC id."))); + return -1; + } + + this->skip_whitespace_count (&nextch); + if (nextch == '\'' || nextch == '"') // not end of NOTATION yet. + { + if (this->get_quoted_string (systemId) != 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Error while parsing system literal for PUBLIC id."))); + return -1; + } + } + break; + default: + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting either keyword `SYSTEM' or `PUBLIC'."))); + return -1; + } + return 0; +} + +int +ACEXML_Parser::parse_children_definition (ACEXML_Env &xmlenv) +{ + this->get (); // consume the '(' + + ACEXML_Char nextch; + int subelement_number = 0; + this->skip_whitespace_count (&nextch); + + switch (nextch) + { + case '#': // Mixed element, + if (this->get () != '#' || + this->get () != 'P' || + this->get () != 'C' || + this->get () != 'D' || + this->get () != 'A' || + this->get () != 'T' || + this->get () != 'A') + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting keyword `#PCDATA' while defining an element."))); + return -1; + } + + this->skip_whitespace_count (&nextch); + + while (nextch != ')') + { + if (this->get () != '|') + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting end of Mixed section while defining an element."))); + return -1; + } + this->skip_whitespace_count (); + + ACEXML_Char *name = this->read_name (); + // @@ name will be used in the Validator later. + ACE_UNUSED_ARG (name); + ++subelement_number; + // @@ Install Mixed element name into the validator. + this->skip_whitespace_count (&nextch); + } + + if (this->get () != ')' || + (subelement_number && this->get () != '*')) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting closing `)*' or ')' while defining an element."))); + return -1; + } + // @@ close the element definition in the validator. + break; + default: + if (this->parse_child (1, xmlenv) != 0 || + xmlenv.exception () != 0) + return -1; + } + + return 0; +} + +int +ACEXML_Parser::parse_child (int skip_open_paren, + ACEXML_Env &xmlenv) +{ + // Conditionally consume the open paren. + if (skip_open_paren == 0 && + this->get () != '(') + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting opening `(' while defining an element."))); + return -1; + } + + ACEXML_Char node_type = 0; + ACEXML_Char nextch; + + do { + this->skip_whitespace_count (&nextch); + switch (nextch) + { + case '(': + this->parse_child (0, xmlenv); + if (xmlenv.exception () != 0) + return -1; + break; + default: + // must be an element name here. + ACEXML_Char *subelement = this->read_name (); + if (subelement == 0) + { + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Error reading sub-element name while defining an element."))); + return -1; + } + // @@ Inform validator of the new element here. + break; + } + + this->skip_whitespace_count (&nextch); + switch (nextch) + { + case '|': + switch (node_type) + { + case 0: + node_type = '|'; + // @@ inform validator of this new type?? + break; + case '|': + break; + default: + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting `,', `|', or `)' while defining an element."))); + return -1; + } + break; + case ',': + switch (node_type) + { + case 0: + node_type = ','; + // @@ inform validator of this new type?? + break; + case ',': + break; + default: + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting `,', `|', or `)'while defining an element."))); + return -1; + } + case ')': + break; + default: + xmlenv.exception (new ACEXML_SAXParseException + (ACE_LIB_TEXT ("Expecting `,', `|', or `)' while defining an element."))); + return -1; + } + this->get (); // consume , | or ) + } while (nextch != ')'); + + // Check for trailing '?', '*', '+' + nextch = this->peek (); + switch (nextch) + { + case '?': + // @@ Consume the character and inform validator as such, + this->get (); + break; + case '*': + // @@ Consume the character and inform validator as such, + this->get (); + break; + case '+': + // @@ Consume the character and inform validator as such, + this->get (); + break; + default: + break; // not much to do. + } + + return 0; +} diff --git a/ACEXML/parser/parser/Parser.dsp b/ACEXML/parser/parser/Parser.dsp new file mode 100644 index 00000000000..dc6d6c6560a --- /dev/null +++ b/ACEXML/parser/parser/Parser.dsp @@ -0,0 +1,123 @@ +# Microsoft Developer Studio Project File - Name="ACEXML_Parser" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=ACEXML_Parser - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Parser.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Parser.mak" CFG="ACEXML_Parser - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "ACEXML_Parser - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "ACEXML_Parser - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "ACEXML_Parser - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ACEXML_PARSER_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\.." /I "..\.." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ACEXML_PARSER_BUILD_DLL" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 ace.lib ACEXML.lib /nologo /dll /machine:I386 /out:"../../../bin/ACEXML_Parser.dll" /libpath:"../../../ace" /libpath:"../../Common"
+
+!ELSEIF "$(CFG)" == "ACEXML_Parser - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ACEXML_PARSER_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\.." /I "..\.." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ACEXML_PARSER_BUILD_DLL" /YX /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib ACEXMLd.lib /nologo /dll /debug /machine:I386 /out:"../../../bin/ACEXML_Parserd.dll" /pdbtype:sept /libpath:"../../../ace" /libpath:"../../Common"
+
+!ENDIF
+
+# Begin Target
+
+# Name "ACEXML_Parser - Win32 Release"
+# Name "ACEXML_Parser - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\Entity_Manager.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Parser.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\Entity_Manager.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Parser.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Parser_export.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/ACEXML/parser/parser/Parser.dsw b/ACEXML/parser/parser/Parser.dsw new file mode 100644 index 00000000000..c2e1b8458e6 --- /dev/null +++ b/ACEXML/parser/parser/Parser.dsw @@ -0,0 +1,28 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "Parser"=.\Parser.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
diff --git a/ACEXML/parser/parser/Parser.h b/ACEXML/parser/parser/Parser.h new file mode 100644 index 00000000000..df19607e160 --- /dev/null +++ b/ACEXML/parser/parser/Parser.h @@ -0,0 +1,469 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file Parser.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= + +#ifndef _ACEXML_BASIC_PARSER_H_ +#define _ACEXML_BASIC_PARSER_H_ + +#include "common/XMLReader.h" +#include "common/LocatorImpl.h" +#include "common/NamespaceSupport.h" +#include "common/CharStream.h" +#include "parser/parser/Parser_export.h" +#include "ace/Obstack.h" +#include "ace/Functor.h" +#include "ace/SString.h" +#include "ace/Hash_Map_Manager.h" +#include "ace/Containers_T.h" +#include "parser/parser/Entity_Manager.h" + +/** + * @class ACEXML_Parser Parser.h "parser/parser/Parser.h" + * + * @brief A SAX based parser. + * + */ +class ACEXML_PARSER_Export ACEXML_Parser : public ACEXML_XMLReader +{ +public: + /// Default constructor. + ACEXML_Parser (void); + + /// Destructor. + virtual ~ACEXML_Parser (void); + + /* + * Return the current content handler. + */ + virtual ACEXML_ContentHandler *getContentHandler (void) const; + + /* + * Return the current DTD handler. + */ + virtual ACEXML_DTDHandler *getDTDHandler (void) const; + + /* + * Return the current entity resolver. + */ + virtual ACEXML_EntityResolver *getEntityResolver (void) const; + + /* + * Return the current error handler. + */ + virtual ACEXML_ErrorHandler *getErrorHandler (void) const; + + /** + * Look up the value of a feature. This method allows + * programmers to check whether a specific feature has been + * activated in the parser. + */ + virtual int getFeature (const ACEXML_Char *name, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException, + // ACEXML_SAXNotSupportedException)) + ; + + /* + * Look up the value of a property. + */ + virtual void * getProperty (const ACEXML_Char *name, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException, + // ACEXML_SAXNotSupportedException)) + ; + + /* + * Parse an XML document. + */ + virtual void parse (ACEXML_InputSource *input, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Parse an XML document from a system identifier (URI). + */ + virtual void parse (const ACEXML_Char *systemId, + ACEXML_Env &xmlenv) + // @@ throw IOException??? + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /* + * Allow an application to register a content event handler. + */ + virtual void setContentHandler (ACEXML_ContentHandler *handler); + + /* + * Allow an application to register a DTD event handler. + */ + virtual void setDTDHandler (ACEXML_DTDHandler *handler); + + /* + * Allow an application to register an entity resolver. + */ + virtual void setEntityResolver (ACEXML_EntityResolver *resolver); + + /* + * Allow an application to register an error event handler. + */ + virtual void setErrorHandler (ACEXML_ErrorHandler *handler); + + /** + * Activating or deactivating a feature. + */ + virtual void setFeature (const ACEXML_Char *name, + int boolean_value, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException, + // ACEXML_SAXNotSupportedException)) + ; + + /* + * Set the value of a property. + */ + virtual void setProperty (const ACEXML_Char *name, + void *value, + ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException, + // ACEXML_SAXNotSupportedException)) + ; + + // *** Helper functions for parsing XML + + /** + * Skip any whitespaces encounter until the first non-whitespace + * character is encountered and consumed from the current input + * CharStream. + * + * @param whitespace Return a pointer to the string of skipped + * whitespace after proper conversion. Null if there's no + * whitespace found. + * + * @retval The first none-white space characters (which will be + * consumed from the CharStream.) If no whitespace is found, it + * will return 0. + * + * @sa skip_whitespace_count + */ + ACEXML_Char skip_whitespace (ACEXML_Char **whitespace); + + /** + * Skip any whitespaces encounter until the first non-whitespace + * character. The first non-whitespace character is not consumed. + * This method does peek into the input CharStream and therefore + * is more expensive than @ref skip_whitespace. + * + * @param peek If non-null, @a peek points to a ACEXML_Char where + * skip_whitespace_count store the first non-whitespace + * character it sees (character is not removed from the stream.) + * + * @retval The number of whitespace characters consumed. + * + * @sa skip_whitespace + */ + int skip_whitespace_count (ACEXML_Char *peek = 0); + + /** + * Check if a character @a c is a whitespace. + * + * @retval 1 if @a c is a valid white space character. 0 otherwise. + */ + int is_whitespace (ACEXML_Char c); + + /** + * Check if a character @a c is a whitespace or '='. + * + * @retval 1 if true, 0 otherwise. + */ + int is_whitespace_or_equal (ACEXML_Char c); + + /** + * Check if a character @a c is a valid character for nonterminal NAME. + * + * @retval 1 if true, 0 otherwise. + */ + int is_nonname (ACEXML_Char c); + + /** + * Skip an equal sign. + * + * @retval 0 when succeeds, -1 if no equal sign is found. + */ + int skip_equal (void); + + /** + * Get a quoted string. Quoted strings are used to specify + * attribute values and this routine will replace character and + * entity references on-the-fly. Parameter entities are not allowed + * (or replaced) in this function. (But regular entities are.) + * + * @param str returns the un-quoted string. + * + * @retval 0 on success, -1 otherwise. + */ + int get_quoted_string (ACEXML_Char *&str); + + /** + * Parse a PI statement. The first character encountered + * should always be '?' in the PI prefix "@<?". + * + * @retval 0 on success, -1 otherwise. + */ + int parse_processing_instruction (ACEXML_Env &xmlenv); + + /** + * Skip over a comment. The first character encountered + * should always be the first '-' in the comment prefix + * "@<@!--". + */ + int grok_comment (); + + /** + * Read a name from the input CharStream (until white space). + * If @a ch @!= 0, then we have already consumed the first name + * character from the input CharStream, otherwise, read_name + * will use this->get() to acquire the initial character. + * + * @retval A pointer to the string in the obstack, 0 if it's not + * a valid name. + */ + ACEXML_Char *read_name (ACEXML_Char ch = 0); + + /** + * Parse the DOCTYPE declaration. The first character encountered + * should always be 'D' in doctype prefix: "@<@!DOCTYPE". + */ + int parse_doctypedecl (ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /** + * Parse an XML element. The first character encountered should + * be the first character of the element "Name". + * + * @param is_root If not 0, then we are expecting to see the "root" + * element now, and the next element's name need to match the name + * defined in DOCTYPE definition, i.e., @a this->doctype_. + * + * @todo Instead of simply checking for the root element based on the + * argument @a is_root, we should instead either pass in some sort + * of validator or allow the function to return the element name so it + * can be used in a validator. + */ + void parse_element (int is_root, ACEXML_Env &xmlenv) + // ACE_THROW_SPEC ((ACEXML_SAXException)) + ; + + /** + * Parse XML Prolog. + */ + void parse_xml_prolog (ACEXML_Env &xmlenv); + + /** + * Parse a character reference, i.e., " " or "". The first + * character encountered should be the '#' char. + * + * @param buf points to a character buffer for + * the result. + * @param len specifies the capacities of the buffer. + * + * @retval 0 on success and -1 otherwise. + */ + int parse_char_reference (ACEXML_Char *buf, size_t len); + + /** + * Parse an entity reference, i.e., "&". The first character + * encountered should be the character following '&'. + * + * @retval A pointer to the resolved const ACEXML_String if success + * (previously defined), 0 otherwise. + */ + const ACEXML_String *parse_reference (void); + + /** + * Parse a CDATA section. The first character should always be the first + * '[' in CDATA definition. + * + * @retval 0 on success, -1 otherwise. + */ + int parse_cdata (ACEXML_Env &xmlenv); + + /** + * Parse a "markupdecl" section, this includes both "markupdecl" and + * "DeclSep" sections in XML specification + */ + int parse_internal_dtd (ACEXML_Env &xmlenv); + + /** + * Parse an "ELEMENT" decl. The first character this method + * expects is always the 'L' (the second char) in the word + * "ELEMENT". + * + * @retval 0 on success, -1 otherwise. + */ + int parse_element_decl (ACEXML_Env &xmlenv); + + /** + * Parse an "ENTITY" decl. The first character this method expects + * is always the 'N' (the second char) in the word "ENTITY". + * + * @retval 0 on success, -1 otherwise. + */ + int parse_entity_decl (ACEXML_Env &xmlenv); + + /** + * Parse an "ATTLIST" decl. Thse first character this method + * expects is always the 'A' (the first char) in the word + * "ATTLIST". + * + * @retval 0 on success, -1 otherwise. + */ + int parse_attlist_decl (ACEXML_Env &xmlenv); + + /** + *Parse a "NOTATION" decl. The first character this method + * expects is always the 'N' (the first char) in the word + * "NOTATION". + * + * @retval 0 on success, -1 otherwise. + */ + int parse_notation_decl (ACEXML_Env &xmlenv); + + /** + * Parse an ExternalID or a reference to PUBLIC ExternalID. + * Possible cases are in the forms of: <code> + * + * SYSTEM 'quoted string representing system resource' + * PUBLIC 'quoted name of public ID' 'quoted resource' + * PUBLIC 'quoted name we are referring to' + * </code> + * + * The first character this function sees must be either 'S' or 'P'. + * When the function finishes parsing, the input stream points + * at the first non-whitespace character. + * + * @param publicID returns the unquoted publicID read. If none + * is available, it will be reset to 0. + * @param systemID returns the unquoted systemID read. If none + * is available, it will be reset to 0. + * + * @retval 0 on success, -1 otherwise. + */ + int parse_external_id_and_ref (ACEXML_Char *&publicId, + ACEXML_Char *&systemId, + ACEXML_Env &xmlenv); + + /** + * Parse the "children" and "Mixed" non-terminals in contentspec. + * + * The first character this function sees must be the first + * open paren '(' in children. + * + * @retval 0 on success, -1 otherwise. + */ + int parse_children_definition (ACEXML_Env &xmlenv); + + /** + * Parse a @c cp non-terminal. @c cp can either be a @c seq or a @c choice. + * This function calls itself recursively. + * + * @param skip_open_paren when non-zero, it indicates that the open paren of + * the @c seq or @c choice has already been removed from the input + * stream. + * + * @retval 0 on success, -1 otherwise. + */ + int parse_child (int skip_open_paren, + ACEXML_Env &xmlenv); + +protected: + /// Get a character. + ACEXML_Char get (void); + + /// Peek a character. + ACEXML_Char peek (void); + + /** + * Check if more data can be added to a character buffer in obstack. + * If not, the existing data in the buffer will be cleared out by + * freezing the segment and pass it out thru a content_handler_->characters () + * call. @a counter records the length of the existing data in + * obstack. + */ + int try_grow_cdata (size_t size, size_t &len, ACEXML_Env &xmlenv); + + // Feature names: + + /** + * \addtogroup acexml_parser_features + * @{ + */ + + /** + * @var simple_parsing_name_ + * + * This constant string defines the name of "simple XML parsing" + * feature. When this feature is enable, ACEXML parser is allowed + * to parse a simple XML stream without mandated XML prolog + * and no DTD defintion. + */ + static const ACEXML_Char simple_parsing_name_[]; + + /* @} */ + +private: + /** + * Check and dispatch errors/warnings to ErrorHandler. + * + * @retval 0 if the error/warning is handled successfully, -1, if + * the handler doesn't know how to handle the error/exceptions. + */ + int check_exception (ACEXML_Env &xmlenv); + + /// Keeping track of the handlers. We do not manage + /// the memory for handlers. + ACEXML_DTDHandler *dtd_handler_; + ACEXML_EntityResolver *entity_resolver_; + ACEXML_ContentHandler *content_handler_; + ACEXML_ErrorHandler *error_handler_; + + /// @@ Feature and properties management structure here. + /// Current input char stream. + ACEXML_CharStream *instream_; + + /// My doctype, if any. + ACEXML_Char *doctype_; + + /// External DTD System Literal, if any. + ACEXML_Char *dtd_system_; + + /// External DTD Public Literal, if any. + ACEXML_Char *dtd_public_; + + ACE_Obstack_T<ACEXML_Char> obstack_; + + ACEXML_NamespaceSupport xml_namespace_; + + ACEXML_Entity_Manager entities_; + + // Locator + ACEXML_LocatorImpl locator_; + + // Feature flags & + int simple_parsing_; + +}; + +#if defined (__ACEXML_INLINE__) +# include "parser/parser/Parser.i" +#endif /* __ACEXML_INLINE__ */ +#endif /* _ACEXML_BASIC_PARSER_H_ */ diff --git a/ACEXML/parser/parser/Parser.i b/ACEXML/parser/parser/Parser.i new file mode 100644 index 00000000000..e949673e0f5 --- /dev/null +++ b/ACEXML/parser/parser/Parser.i @@ -0,0 +1,144 @@ +//============================================================================= +/** + * @file Parser.i + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= + +ACEXML_INLINE ACEXML_ContentHandler * +ACEXML_Parser::getContentHandler (void) const +{ + return this->content_handler_; +} + +ACEXML_INLINE ACEXML_DTDHandler * +ACEXML_Parser::getDTDHandler (void) const +{ + return this->dtd_handler_; +} + +ACEXML_INLINE ACEXML_EntityResolver * +ACEXML_Parser::getEntityResolver (void) const +{ + return this->entity_resolver_; +} + +ACEXML_INLINE ACEXML_ErrorHandler * +ACEXML_Parser::getErrorHandler (void) const +{ + return this->error_handler_; +} + +ACEXML_INLINE void +ACEXML_Parser::setContentHandler (ACEXML_ContentHandler *handler) +{ + this->content_handler_ = handler; +} + +ACEXML_INLINE void +ACEXML_Parser::setDTDHandler (ACEXML_DTDHandler *handler) +{ + this->dtd_handler_ = handler; +} + +ACEXML_INLINE void +ACEXML_Parser::setEntityResolver (ACEXML_EntityResolver *resolver) +{ + this->entity_resolver_ = resolver; +} + +ACEXML_INLINE void +ACEXML_Parser::setErrorHandler (ACEXML_ErrorHandler *handler) +{ + this->error_handler_ = handler; +} + +ACEXML_INLINE int +ACEXML_Parser::is_whitespace (ACEXML_Char c) +{ + switch (c) + { + case 0x20: + case 0x9: + case 0xd: + case 0xa: + return 1; + default: + return 0; + } +} + + +ACEXML_INLINE int +ACEXML_Parser::is_whitespace_or_equal (ACEXML_Char c) +{ + switch (c) + { + case 0x20: + case 0x9: + case 0xd: + case 0xa: + case '=': + return 1; + default: + return 0; + } +} + +ACEXML_INLINE int +ACEXML_Parser::is_nonname (ACEXML_Char c) +{ + switch (c) + { + case 0x20: + case 0x9: + case 0xd: + case 0xa: + case '=': + case '/': + case '?': + case '>': + case '<': + case ')': + case '(': + case '+': + case '*': + case '\'': + case '"': + case ',': + case '|': + return 1; + default: + return 0; + } +} + +ACEXML_INLINE ACEXML_Char +ACEXML_Parser::get (void) +{ + // Using an extra level of indirection so we can + // manage document location in the future. + + if (this->instream_ != 0) + { + ACEXML_Char ch; + this->instream_->get (ch); + return ch; + } + return 0; +} + +ACEXML_INLINE ACEXML_Char +ACEXML_Parser::peek (void) +{ + // Using an extra level of indirection so we can + // manage document location in the future. + + if (this->instream_ != 0) + return this->instream_->peek (); + return 0; + +} diff --git a/ACEXML/parser/parser/Parser_export.h b/ACEXML/parser/parser/Parser_export.h new file mode 100644 index 00000000000..71630ccd962 --- /dev/null +++ b/ACEXML/parser/parser/Parser_export.h @@ -0,0 +1,47 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file Parser_export.h + * + * $Id$ + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + */ +//============================================================================= + +// Definition for Win32 Export directives. +// This file is generated automatically by generate_export_file.pl +// ------------------------------ +#ifndef ACEXML_PARSER_EXPORT_H +#define ACEXML_PARSER_EXPORT_H + +#include "ace/config-all.h" + +#if defined (ACE_AS_STATIC_LIBS) && !defined (ACEXML_PARSER_HAS_DLL) +# define ACEXML_PARSER_HAS_DLL 0 +#endif /* ACE_AS_STATIC_LIBS && ACEXML_PARSER_HAS_DLL */ + +#if !defined (ACEXML_PARSER_HAS_DLL) +# define ACEXML_PARSER_HAS_DLL 1 +#endif /* ! ACEXML_PARSER_HAS_DLL */ + +#if defined (ACEXML_PARSER_HAS_DLL) && (ACEXML_PARSER_HAS_DLL == 1) +# if defined (ACEXML_PARSER_BUILD_DLL) +# define ACEXML_PARSER_Export ACE_Proper_Export_Flag +# define ACEXML_PARSER_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) +# define ACEXML_PARSER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +# else /* ACEXML_PARSER_BUILD_DLL */ +# define ACEXML_PARSER_Export ACE_Proper_Import_Flag +# define ACEXML_PARSER_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) +# define ACEXML_PARSER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +# endif /* ACEXML_PARSER_BUILD_DLL */ +#else /* ACEXML_PARSER_HAS_DLL == 1 */ +# define ACEXML_PARSER_Export +# define ACEXML_PARSER_SINGLETON_DECLARATION(T) +# define ACEXML_PARSER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) +#endif /* ACEXML_PARSER_HAS_DLL == 1 */ + +#endif /* ACEXML_PARSER_EXPORT_H */ + +// End of auto generated file. diff --git a/ACEXML/tests/Makefile b/ACEXML/tests/Makefile new file mode 100644 index 00000000000..6478b548721 --- /dev/null +++ b/ACEXML/tests/Makefile @@ -0,0 +1,47 @@ +#---------------------------------------------------------------------------- +# $Id$ +# +# Makefile for repeating token client application +#---------------------------------------------------------------------------- + +#---------------------------------------------------------------------------- +# Local macros +#---------------------------------------------------------------------------- + +LDLIBS = -lACEXML +BIN = Transcoder_Test \ + NamespaceSupport_Test + +LSRC = $(addsuffix .cpp,$(BIN)) +LOBJ = $(LSRC:%.cpp=$(VDIR)%.o) +#SHOBJ = $(addsuffix .so,$(BIN)) +CCFLAGS += -I.. + +BUILD = $(VBIN) + +#---------------------------------------------------------------------------- +# Include macros and targets +#---------------------------------------------------------------------------- + +include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU +include $(ACE_ROOT)/include/makeinclude/macros.GNU +include $(ACE_ROOT)/include/makeinclude/rules.common.GNU +include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU +include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU +include $(ACE_ROOT)/include/makeinclude/rules.local.GNU + +#---------------------------------------------------------------------------- +# Local targets +#---------------------------------------------------------------------------- + +#---------------------------------------------------------------------------- +# Dependencies +#---------------------------------------------------------------------------- + +# IF YOU PUT ANYTHING HERE IT WILL GO AWAY +# DO NOT DELETE THIS LINE -- g++dep uses it. +# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. + + + +# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/ACEXML/tests/Makefile.bor b/ACEXML/tests/Makefile.bor new file mode 100644 index 00000000000..0742a1add18 --- /dev/null +++ b/ACEXML/tests/Makefile.bor @@ -0,0 +1,23 @@ +# +# $Id$ +# Makefile for building the ACE XML tests +# + +NAMES = \ + NamespaceSupport_Test \ + Transcoder_Test + +OBJFILES = $(OBJDIR)\$(NAME).obj + +CFLAGS = \ + $(ACE_CFLAGS) \ + $(ACE_XML_CFLAGS) + +CPPDIR = . + +LIBFILES = \ + $(ACE_LIB) \ + $(ACE_XML_LIB) + +!include <$(ACE_ROOT)\include\makeinclude\recurse.bor> +!include <$(ACE_ROOT)\include\makeinclude\build_exe.bor> diff --git a/ACEXML/tests/NamespaceSupport_Test.cpp b/ACEXML/tests/NamespaceSupport_Test.cpp new file mode 100644 index 00000000000..9f3ed5db203 --- /dev/null +++ b/ACEXML/tests/NamespaceSupport_Test.cpp @@ -0,0 +1,144 @@ +// $Id$ + +#include "common/NamespaceSupport.h" + +int main (int, ACE_TCHAR *[]) +{ + ACEXML_NamespaceSupport xmlns; + + xmlns.pushContext(); + xmlns.declarePrefix(ACE_TEXT (""), + ACE_TEXT ("http://www.w3.org/1999/xhtml")); + xmlns.declarePrefix(ACE_TEXT ("dc"), + ACE_TEXT ("http://www.purl.org/dc#")); + xmlns.declarePrefix(ACE_TEXT ("xc"), + ACE_TEXT ("http://www.purl.org/dc#")); + + const ACEXML_Char *lName, *uri; + const ACEXML_Char *n1 = ACE_TEXT ("p"); + + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("*** Checking processName:\n"))); + if (xmlns.processName (n1, uri, lName, 0) != 0) + ACE_DEBUG ((LM_ERROR, + ACE_TEXT ("Fail to resolve namespace name %s\n"), + n1)); + else + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("Namespace URI: %s\nLocal name: %s\nRaw name: %s\n"), + uri, lName, n1)); + + const ACEXML_Char *n2 = ACE_TEXT ("dc:title"); + if (xmlns.processName(n2, uri, lName, 0) != 0) + ACE_DEBUG ((LM_ERROR, + ACE_TEXT ("Fail to resolve namespace name %S\n"), + n2)); + else + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("Namespace URI: %s\nLocal name: %s\nRaw name: %s\n"), + uri, lName, n2)); + + const ACEXML_Char *n3 = ACE_TEXT ("xml:title"); + if (xmlns.processName(n3, uri, lName, 0) != 0) + ACE_DEBUG ((LM_ERROR, + ACE_TEXT ("Fail to resolve namespace name %S\n"), + n3)); + else + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("Namespace URI: %s\nLocal name: %s\nRaw name: %s\n"), + uri, lName, n3)); + + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("\n*** Checking getDeclaredPrefixes\n"))); + + ACEXML_STR_LIST prefixes; + if (xmlns.getDeclaredPrefixes (prefixes) != 0) + ACE_DEBUG ((LM_ERROR, + ACE_TEXT ("Fail to get a list of declared prefixes\n"))); + else + { + ACEXML_STR_LIST::ITERATOR iter = prefixes.begin (); + const ACEXML_Char **prefix = 0; + + for (; iter.next (prefix);iter.advance ()) + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("prefix: \"%s\"\n"), *prefix)); + } + + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n*** Checking getPrefix\n"))); + const ACEXML_Char *prefix = 0; + + if ((prefix = xmlns.getPrefix (ACE_TEXT ("http://www.purl.org/dc#"))) == 0) + ACE_DEBUG ((LM_ERROR, + ACE_TEXT ("Fail to get prefix of http://www.purl.org/dc#\n"))); + else + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("Prefix of http://www.purl.org/dc# is %s\n"), + prefix)); + + if ((prefix = xmlns.getPrefix (ACE_TEXT ("http://www.w3.org/1999/xhtml"))) == 0) + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("Fail to get prefix of http://www.w3.org/1999/xhtml which is okay\n"))); + else + ACE_DEBUG ((LM_ERROR, + ACE_TEXT ("ERROR: Prefix of http://www.w3.org/1999/xhtml is %s\n"), + prefix)); + + if ((prefix = xmlns.getPrefix (ACE_TEXT ("http://www.w3.org/XML/1998/namespace"))) == 0) + ACE_DEBUG ((LM_ERROR, + ACE_TEXT ("Fail to get prefix of http://www.w3.org/XML/1998/namespace\n"))); + else + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("Prefix of http://www.w3.org/XML/1998/namespace is %s\n"), + prefix)); + + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n*** Checking getPrefixes with known URI\n"))); + prefixes.reset (); + + if (xmlns.getPrefixes (ACE_TEXT ("http://www.purl.org/dc#"), prefixes) != 0) + ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to getPrefixes based on known URI\n"))); + else + { + ACEXML_STR_LIST::ITERATOR iter = prefixes.begin (); + const ACEXML_Char **prefix = 0; + + for (; iter.next (prefix);iter.advance ()) + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("prefix: \"%s\"\n"), *prefix)); + } + + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n*** Checking getPrefixes\n"))); + prefixes.reset (); + + if (xmlns.getPrefixes (prefixes) != 0) + ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to getPrefixes\n"))); + else + { + ACEXML_STR_LIST::ITERATOR iter = prefixes.begin (); + const ACEXML_Char **prefix = 0; + + for (; iter.next (prefix);iter.advance ()) + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("prefix: \"%s\"\n"), *prefix)); + } + + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n*** Checking getURI\n"))); + const ACEXML_Char *URI = 0; + + if ((URI = xmlns.getURI (ACE_TEXT ("dc"))) == 0) + ACE_DEBUG((LM_ERROR, ACE_TEXT ("Fail to get URI for \"dc\"\n"))); + else + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("URI for \"dc\" is %s\n"), URI)); + if ((URI = xmlns.getURI (ACE_TEXT ("xc"))) == 0) + ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to get URI for \"xc\"\n"))); + else + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("URI for \"xc\" is %s\n"), URI)); + if ((URI = xmlns.getURI (ACE_TEXT ("xml"))) == 0) + ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to get URI for \"xml\"\n"))); + else + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("URI for \"xml\" is %s\n"), URI)); + if ((URI = xmlns.getURI (ACE_TEXT (""))) == 0) + ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to get default namespace URI\n"))); + else + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("URI for default namespace is %s\n"), URI)); + + xmlns.popContext(); + + return 0; +} diff --git a/ACEXML/tests/NamespaceSupport_Test.dsp b/ACEXML/tests/NamespaceSupport_Test.dsp new file mode 100644 index 00000000000..efb29315a28 --- /dev/null +++ b/ACEXML/tests/NamespaceSupport_Test.dsp @@ -0,0 +1,102 @@ +# Microsoft Developer Studio Project File - Name="NamespaceSupport_Test" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=NamespaceSupport_Test - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "NamespaceSupport_Test.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "NamespaceSupport_Test.mak" CFG="NamespaceSupport_Test - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "NamespaceSupport_Test - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "NamespaceSupport_Test - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "NamespaceSupport_Test - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../.." /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib ACEXML.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\ace" /libpath:"..\Common"
+
+!ELSEIF "$(CFG)" == "NamespaceSupport_Test - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../.." /I ".." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib ACEXMLd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\ace" /libpath:"..\Common"
+
+!ENDIF
+
+# Begin Target
+
+# Name "NamespaceSupport_Test - Win32 Release"
+# Name "NamespaceSupport_Test - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\NamespaceSupport_Test.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/ACEXML/tests/Tests.dsw b/ACEXML/tests/Tests.dsw new file mode 100644 index 00000000000..e72f066de1a --- /dev/null +++ b/ACEXML/tests/Tests.dsw @@ -0,0 +1,41 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "NamespaceSupport_Test"=.\NamespaceSupport_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Transcoder_Test"=.\Transcoder_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/ACEXML/tests/Transcoder_Test.cpp b/ACEXML/tests/Transcoder_Test.cpp new file mode 100644 index 00000000000..1f7e113a93a --- /dev/null +++ b/ACEXML/tests/Transcoder_Test.cpp @@ -0,0 +1,69 @@ +// -*- C++ -*- $Id$ + +#include "common/Transcode.h" +#include "ace/Log_Msg.h" + +void dump_utf16 (const ACEXML_UTF16 *data, + size_t len) +{ + size_t ptr = 0; + + while (1) + { + ACE_DEBUG ((LM_DEBUG, "%04x", data[ptr])); + + if (++ptr >= len) + break; + + if (ptr % 4 == 0) + ACE_DEBUG ((LM_DEBUG, "\n")); + else + ACE_DEBUG ((LM_DEBUG, " ")); + } + ACE_DEBUG ((LM_DEBUG, "\n")); + return; +} + +int +main (int, ACE_TCHAR*[]) +{ + ACEXML_UTF16 org [18]; +// = { 1, 2, 4, 8, 0x10, 0x20, 0x40, +// 0x80, +// 0x100, 0x200, 0x400, +// 0x800, 0x801, 0x802, 0x804, 0x808, 0x810, 0x820, +// 0x840, 0x880, 0x900, 0xa00, 0xc00, +// 0x1000, 0x2000, 0x4000, 0x8000, 0 } + ACEXML_UCS4 temp = 1; + + ACE_OS::memset (org, 0, sizeof org); + size_t x; + + for (x = 0; temp < 0x10000; x++, temp <<= 1) + { + org[x] = ACE_static_cast (ACEXML_UTF16, temp); + } + + ACE_DEBUG ((LM_DEBUG, "Original UTF16 string:\n")); + dump_utf16 (org, x); + ACE_DEBUG ((LM_DEBUG, "\n\n")); + + ACEXML_UTF8 decoded [MAXPATHLEN]; + ACE_OS::memset (decoded, 0, sizeof decoded); + + ACEXML_Transcoder::utf16s2utf8s (org, decoded, MAXPATHLEN); + + ACE_DEBUG ((LM_DEBUG, "Transcoded UTF8 string:\n")); + ACE_HEX_DUMP ((LM_DEBUG, decoded, ACE_OS::strlen (decoded) + 1)); + ACE_DEBUG ((LM_DEBUG, "\n\n")); + + ACEXML_UTF16 after [18]; + ACE_OS::memset (after, 0, sizeof after); + ACEXML_Transcoder::utf8s2utf16s (decoded, after, 18); + + ACE_DEBUG ((LM_DEBUG, "Restored UTF16 string:\n")); + dump_utf16 (after, x); + ACE_DEBUG ((LM_DEBUG, "\n\n")); + + return 0; +} diff --git a/ACEXML/tests/Transcoder_Test.dsp b/ACEXML/tests/Transcoder_Test.dsp new file mode 100644 index 00000000000..39a92c39fb0 --- /dev/null +++ b/ACEXML/tests/Transcoder_Test.dsp @@ -0,0 +1,102 @@ +# Microsoft Developer Studio Project File - Name="Transcoder_Test" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Transcoder_Test - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Transcoder_Test.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Transcoder_Test.mak" CFG="Transcoder_Test - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Transcoder_Test - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Transcoder_Test - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Transcoder_Test - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../.." /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib ACEXML.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\ace" /libpath:"..\Common"
+
+!ELSEIF "$(CFG)" == "Transcoder_Test - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../.." /I ".." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib ACEXMLd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\ace" /libpath:"..\Common"
+
+!ENDIF
+
+# Begin Target
+
+# Name "Transcoder_Test - Win32 Release"
+# Name "Transcoder_Test - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\Transcoder_Test.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 00000000000..99e2749a4a2 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,1022 @@ +Wed Jan 30 15:11:49 2002 Krishnakumar B <kitty@cs.wustl.edu> + + * include/makeinclude/platform_linux.GNU (CXX_VERSION): + * ace/config-g++-common.h: + + Turned off explicit template instantiation with gcc under Linux. + The specific versions are 2.95.x, 2.96, 3.0.x (3.x). Added a + flag implicit_templates to tweak the behaviour from the + platform_macros.GNU file. + + The combination of the compiler and binutils seems to give a + nice reduction in the footprint. + +Wed Jan 30 16:00:39 2002 Steve Huston <shuston@riverace.com> + + * ace/Process_Manager.cpp (register_handler): Replaced ECHILD with + EINVAL if the pid is not found. Probably a more accurate + assessment of the situation, and should compile clean on WinCE. + +Wed Jan 30 13:50:17 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu> + + * docs/index.html: Fixed the ACE-inheritance.pdf document so + it isn't gzipped. Thanks to Michael Searles + <msearles@base16.com> for reporting this. + +Wed Jan 30 09:28:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * XML/parser/debug_validator/Debug_Attributes_Builder.cpp: + * XML/parser/debug_validator/Debug_DTD_Manager.cpp: + * XML/parser/debug_validator/Debug_Element_Builder.cpp: + * XML/parser/debug_validator/Element_Tree.cpp: + Added missing ACE_LIB_TEXT. This fixes the BCB unicode build errors + +Tue Jan 29 20:11:21 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * etc/*.doxygen (EXPAND_AS_DEFINED): Added ACE_CACHE_MAP_MANAGER + to the list in EXPAND_AS_DEFINED. Thanks to Don Hinton + <dhinton@ieee.org> for the suggestion. + +Tue Jan 29 19:36:24 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * bin/make_release: The whole release process has been moved to + Linux box. This is because the sun machines at WashU were having + problems and they are not dependable. The following are the list + of changes made + + - All the path related stuff have been changed ie. instead of + using /pkg/gnu tools, we use native tools on Linux now. + + - The gnu suffixes to many of the tools have been removed. + + - Most of the path to the tools have been hardcoded in the PATH + environment variabe. + + - Tools that were missing have been loaded on 3 main Linux boxes + at WashU including Graphviz and doxygen. + + - A beta cannot be cut from a sun box. + + - The script will recommend cutting a beta from deuce.doc. + + The script has been tested with a dummy release. + +Tue Jan 29 16:01:54 2002 Ossama Othman <ossama@uci.edu> + + * bin/fuzz.pl (check_for_missing_rir_env): + + Check for ACE_ENV_ARG_PARAMETER instead of + TAO_ENV_ARG_PARAMETER. The latter is deprecated. + +Tue Jan 29 20:47:24 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net> + + * docs/exceptions.html: Document the new ACE_ENV_ macros. + + * bin/subst_env.pl: Transform to ACE_ENV_ instead of TAO_ENV_. + +Tue Jan 29 08:39:24 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net> + + * ace/CORBA_macros.h: + Added ACE_ENV_ARG macros to replace the TAO_ENV_ARG macros + defined in TAO/tao/orbconf.h. All exception related macros + are now defined in ace/CORBA_macros.h, and the TAO_ENV_ARG + macros will soon be deprecated. + + * include/makeinclude/wrapper_macros.GNU: + Added the include_env switch for compatibility with the + exception handling use before TAO 1.2.2. + +Tue Jan 29 08:17:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * include/makeinclude/ace_flags.bor: + Added compiler flags for new cosevent orbsvcs test library CECTEST + Added compiler flags for new notify orbsvcs test library NotifyTests + +Mon Jan 28 17:44:51 2002 Steve Huston <shuston@riverace.com> + + * ace/Process_Manager.cpp (wait): When waiting for a non-specific + process, specify -1 pid for waitpid(). This is necessary because + of Fri Jan 25 19:58:41 2002 Steve Huston <shuston@riverace.com> + change to not alter the process group ID when ACE_Process_Manager + spawns a process. + Timed waits for a process still don't work on non-Win32, but + this fix corrects the failed wait with errno == ECHILD. + +Mon Jan 28 12:16:28 2002 Carlos O'Ryan <coryan@uci.edu> + + * bin/auto_run_tests.lst: + Removed EC_Basic and Event_Latency tests from nightly builds, I + left them there by mistake when I took them out of the + repository (around December, 25th 2001) + +Mon Jan 28 13:20:32 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * XML/common/AttributesImpl.cpp: Removed a bunch of inline + designators. + +Sun Jan 27 22:18:50 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * bin/msvc_auto_compile.pl: Projects in XML subdirectory are + interdependent. List out the order they should be built + explicitly. + +Sun Jan 27 12:48:48 2002 Ossama Othman <ossama@uci.edu> + + * bin/auto_run_tests.lst + * bin/performance_stats.sh: + + Updated in accordance with the new TAO "Latency" performance + test organization. + +Sun Jan 27 12:08:45 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * XML/common/Transcode.h (ACEXML_Transcoder): Improved the + documentation. + + The followings fixed the Tru64 warnings/errors. + + * XML/common/AttributesImpl.i (operator): + * XML/common/Env.i: Reordered inline functions. + + * XML/tests/Transcoder_Test.cpp: Removed an unused argument. + + * XML/common/Attributes_Def_Builder.h: Added inclusion of + "ace/Auto_Ptr.h". + + * XML/examples/SAXPrint/SAXPrint_Handler.cpp: + * XML/examples/SAXPrint/Print_Handler.cpp: Added inclusion of + "ace/Log_Msg.h". + +Sun Jan 27 15:03:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * Makefile.bor: + Build the XML library with BCB + + * XML/parser/Makefile.bor: + Added debug_validator + + * XML/parser/debug_validator/Makefile.bor: + Added BCB makefile + +Sat Jan 26 19:02:49 2002 Ossama Othman <ossama@uci.edu> + + * ace/Process_Manager.cpp (register_handler): + + Corrected code that always returned -1. Code that should only + have been run on error was always run since it was outside of an + "if block." Curly braces are a good thing (they were missing). + +Sat Jan 26 21:41:39 2002 Steve Huston <shuston@riverace.com> + + * ace/Process_Manager.cpp (wait): Fixed compiler warning on + Linux about unused wait_until. This fix removes the ability + to spin around the 'for' loop waiting for signals multiple + times with the timeout decreasing to account for wait time. + Will have to come back to restore this functionality later. + +Sat Jan 26 14:40:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * include/makeinclude/ace_flags.bor: + Added compiler and linker flags for new XML library + + * XML/common/Makefile.bor: + * XML/parser/parser.Makefile.bor: + * XML/Makefile.bor: + * XML/parser/Makefile.bor: + * XML/tests/Makefile.bor: + Added BCB makefiles for the new XML library. + +Fri Jan 25 19:58:41 2002 Steve Huston <shuston@riverace.com> + + * ace/Process_Manager.cpp (wait(pid_t, const ACE_Time_Value &, + ACE_exitcode *status)): If platform offers sigtimedwait, use it + instead of setting ualarm and then doing sigwait. Once ualarm + is set, it will fire, even if this method has returned. This + causes Solaris processes to die on SIGALRM. + + Also, do not play with the process group ID by default. It's + not needed for doing normal signal management by most processes. + If processes really have a need to change or set a new process + group, they need to do it explicitly by using ACE_OS::setpgid() + or by setting a process group ID in an ACE_Process_Options object + when spawning processes. + + * tests/Process_Manager_Test.cpp: Added a bit more diagnostic info. + +Fri Jan 25 18:29:37 2002 Steve Huston <shuston@riverace.com> + + * ace/config-aix-4.x.h: Removed ACE_HAS_SIGTIMEDWAIT. It compiles, + but returns ENOSYS at run time. + + * ace/config-aix5.1.h: Added ACE_HAS_SIGTIMEDWAIT. + +Fri Jan 25 15:36:40 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/ace_dll.dsp: Removed /version flags from the project since + they have been taken care of by ace.rc file. Thanks to Ossama + for pointing it out. + +Fri Jan 25 14:45:00 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * bin/auto_run_tests.lst: + Added Two_Objects test to the list. + +Fri Jan 25 14:40:15 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * XML/common/Exception.cpp: + * XML/common/NamespaceSupport.cpp: + * XML/common/SAXExceptions.cpp: + * XML/parser/parser/Parser.cpp: Moved the initialization of static + members before the inclusion of inline files to avoid + compilation erros on Borland compiler. Thanks to Johnny + Willemsen <jwillemsen@remedy.nl> for figuring this out. + +Fri Jan 25 14:31:06 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * XML/common/NamespaceSupport.cpp: + * XML/parser/parser/Parser.cpp: Fixed several KCC warnings. + +Fri Jan 25 12:01:14 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + The following changes fixed SunCC5.1 compilation errors. + + * XML/common/Makefile: + * XML/parser/parser/Makefile: + * XML/tests/Makefile: + * XML/examples/SAXPrint/Makefile: Removed extra spaces for -I + flags. + + * XML/common/Attributes_Def_Builder.h: Removed a redundant comma. + + * XML/common/NamespaceSupport.i: Changed + ACE_TEMPLATE_METHOD_SPECIALIZATION to + ACE_TEMPLATE_SPECIALIZATION. + + * XML/tests/NamespaceSupport_Test.cpp: String literals needed to + be assigned to const char *. + +Fri Jan 25 09:42:12 2002 Ossama Othman <ossama@uci.edu> + + * ace/ace_dll.dsp: + + Corrected inconsistency in the DLL minor version. The correct + minor version for the ACE 5.2 series is "2," not "1." + +Fri Jan 25 11:21:28 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * bin/msvc_auto_compile.pl: Added XML into the list of auto build + targets. + +Fri Jan 25 00:37:00 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu> + + * We now have 1,400 contributors to the ACE+TAO software. Yow! + +Thu Jan 24 17:49:46 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * ace/CDR_Stream.i: Fixed the check for the length within + ACE_InputCDR::read_*_array (). The method was checking just for + length passed in, which happens to be the number of elements in + the array, instead of the number of bytes necessary for the + elements. Thanks to William R Volz <WRVO@chevrontexaco.com> for + reporting this. + + * THANKS: Added William Volz to the hall of fame. + +Thu Jan 24 18:31:49 2002 Steve Huston <shuston@riverace.com> + + * tests/Process_Manager_Test.cpp: Better diagnostics added. + +Thu Jan 24 15:14:52 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Lib_Find.cpp (ldfind): Restored previously removed Win32 + code and re-organized macros so we wouldn't upset CE builds. + +Thu Jan 24 14:53:38 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * bin/generate_doxygen.pl: + * etc/acexml.doxygen: Added the doxygen config file for XML + subdirectory. + + * Makefile: Added XML subdirectory into the lists to be compiled + and be included in the release. + + * XML/*: Merged in the XML parser code. + +Thu Jan 24 10:14:47 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/ace_wchar.h: Added the definition for ACE_TEXT_SearchPath. + + * ace/Lib_Find.cpp (ldfind): Fixed UNICODE and Fuzz builds + errors. Thanks to Johnny Willemsen <jwillemsen@remedy.nl> for + the fix. + +Wed Jan 23 16:48:54 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Lib_Find.h: + * ace/Lib_Find.cpp (ldfind): Change to use Win32 API SearchPath to + search for the target DLL and updated the document for ldfind in + header file. Thanks to Eugene Alterman + <Eugene.Alterman@bremer-inc.com> for submitting the patch. + +Wed Jan 23 14:01:32 2002 Ossama Othman <ossama@uci.edu> + + * ace/config-lynxos.h (ACE_LACKS_INET_ATON): + + LynxOS does not implement the inet_aton() function. + +Wed Jan 23 16:37:52 2002 Steve Huston <shuston@riverace.com> + + * ace/NT_Service.cpp (insert): If the CreateService call fails, + be sure to save the error value before making another Win32 call + that will smash it. Thanks to Kelly Hickel <kfh@mqsoftware.com> + for reporting this. + Also ACE-ified the source better. + + * examples/NT_Service/main.cpp: Added some ACE_ERROR output if + operations requested from the command line fail. + +Wed Jan 23 16:14:43 2002 Boris Kolpackov <bosk@ipmce.ru> + + * include/makeinclude/platform_sunos5_sunc++.GNU + + Added work around for famous Sun CC "pure virtual function called" + bug. Unfortunately this involves introduction of yet another #define. + See TAO/tao/ValueBase.h for more information. + +Tue Jan 22 21:27:25 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * ace/ace_dll.vcp: Add Frameork_Component.* to the builds. Thanks + to Venkita for pointing it out. + +Tue Jan 22 17:42:39 2002 Steve Huston <shuston@riverace.com> + + * ace/NT_Service.(h cpp): Added two new methods: + void capture_log_msg_attributes (void): Grabs a copy of the + calling thread's ACE_OS_Log_Msg_Attributes to facilitate + inheritance of the logging attributes in the service thread. + void inherit_log_msg_attributes (void): Called in a service + thread, inherits the main thread's logging attributes. + Modified the ACE_NT_SERVICE_RUN macro to capture the main + thread's logging attributes before starting the service control + dispatcher. Modified the ACE_NT_SERVICE_DEFINE macro to call + inherit_log_msg_attributes if the ACE_NT_Service object for + the service was set up before the thread started. + Fixes Bugzilla # 82. + + * examples/NT_Service/main.cpp: + * examples/NT_Service/ntsvc.cpp: Now writes a log file in the current + working directory which should have messages from both main and + service threads in it. + +Tue Jan 22 15:19:29 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/DLL.cpp: Changed to invoke this->open() in the + constructor. Thanks to Eugene Alterman + <Alterman@bremer-inc.com> for motivating this. + +Mon Jan 21 23:27:03 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.h: Reordered main redefinition macros so that it actually + passed wchar argv to main when UNICODE is defined. + +Mon Jan 21 10:01:34 2002 Frank Hunleth <fhunleth@cs.wustl.edu> + + * bin/auto_run_tests.lst: + Added MIOP unit tests. + +Mon Jan 21 03:00:14 2002 Ossama Othman <ossama@uci.edu> + + * ace/Framework_Component.cpp (register_component): + + Removed debugging statements that always printed text. + +Mon Jan 21 07:45:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * ace/Framework_Component.cpp: + Fixed fuzz error + +Mon Jan 21 00:13:42 2002 Christopher Kohlhoff <chris@kohlhoff.com> + + * ace/streams.h: + Workaround for Borland C++ 5.5.1 bug we have now just hit. + +Sun Jan 20 21:42:53 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * ace/Framework_Component.cpp: + * ace/Framework_Component_T.cpp: Fixed fuzz errors. + +2002-01-20 Oliver Kellogg <oliver.kellogg@sysde.eads.net> + + * bin/subst_env.pl: New script to ease the transition to the + TAO_ENV_ARG macros defined in TAO/tao/orbconf.h. + +Sun Jan 20 12:38:28 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * tests/Framework_Component_Test.dsp: New dsp file for the test. + * tests/tests.dsw: Added the above test to the workspace. + +Sun Jan 20 12:25:28 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * ace/Framework_Component.h: Removed the definition of the + default constructor (in ACE_UNIMPLEMENTED_FUNC definition). The + other private constructor with a default argument tends towards + a default constructor and VC++ signals a multiple definition + error. Not sure how g++ didnt signal this one. + + * ace/Framework_Component_T.h: #include'd Framework_Component.h + * ace/Framework_Component_T.cpp: Added a #ifndef around the file. + + * ace/ace_dll.dsp: + * ace/ace_lib.dsp: Added the Framwork_Component* files to the + project file. + +Sun Jan 20 10:40:28 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/Vector_Test.dsp: + * tests/tests.dsw: Added a new project for Vector_Test. + +Sun Jan 20 16:25:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * ace/Makefile.bor: + Added new Framework_Component + + * tests/Makefile.bor: + Added new Framework_Component_Test + +Sun Jan 20 00:00:30 2002 UTC Don Hinton <dhinton@ieee.org> + + * ace/Vector_T.cpp (dump): Commented out the contents of this + function for the time being. It assumed that the element + was an object with a dump() method, which won't always be + the case. + + * tests/Vector_Test.cpp: Changed a few data types from signed + to unsigned, size_t, to get rid of compiler warnings. + +Sat Jan 19 17:29:50 2002 Douglas C. Schmidt <schmidt@siesta.cs.wustl.edu> + + * ace/Vector_T.cpp (dump): Fixed problems with this method. Thanks + to Don Hinton for reporting this. + + * tests/Vector_Test.cpp: Changed the typedef of DATA from int to + size_t to avoid "type mismatch" compiler warnings. Thanks to + Don Hinton for reporting this. + +Sat Jan 19 22:30:26 UTC 2002 Don Hinton <dhinton@ieee.org> + + * apps/JAWS2/JAWS/Hash_Bucket_T.h: + * apps/JAWS2/JAWS/Assoc_Array.h: Added missing keyword "class" to + friend declarations. + + * ace/SString.cpp: Removed unneeded include of Service_Config.h. + + * ace/Service_Config.{h|cpp}: + * examples/Connection/misc/Connection_Handler.cpp: + + Removed static methods from ACE_Service_Config that delegated to + ACE_Reactor::instance(), and fixed a few instances where they were + still called. + + * ace/Object_Manager.cpp: + * ace/Service_Config.cpp: + * ace/Proactor.cpp: + * ace/Reactor.cpp: + + Added call to instance() methods that registers the singleton with + the new ACE_Framework_Repository so it can handle destruction, and + replaced explicit references to ACE_Reactor and ACE_Proactor with + calls to ACE_Framework_Repository. + + * ace/Framework_Component.{h|inl|cpp}: + * ace/Framework_Component_T.{h|inl|cpp}: + * ace/Makefile: + * tests/Framework_Component_Test.cpp: + * tests/Makefile: + * tests/run_test.lst: + + Added ACE_Framework_Repository to manage ACE_Framework_Component's, + e.g., singletons like ACE_Reactor or ACE_Proactor. It uses + External Polymorphism obviating any interface changes. The + components register themselves with repository in their instance + methods. This allows the Object_Manager and Service_Config to + manage these components without having to know about them a priori. + + This was needed to reduce footprint for applications like TAO that + don't need to use all the available components, e.g., ACE_Proactor. + +Sat Jan 19 10:23:39 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/Makefile (TEMPLATE_FILES): + * tests/Makefile.bor: + * tests/Makefile: + * tests/run_test.lst: + * ace/Vector_T.{h,i,cpp}: + * tests/Vector_Test.cpp: Added support for the new ACE_Vector to + the appropriate places. This vector behaves like the STL + vector. Thanks to Gonzo and Craig Ching for contributing this. + + * ace/Future_Set.h: Updated the documentation to explain how + various features work better. Thanks to Johnny Tucker for + contributing this. + +Fri Jan 18 19:09:41 2002 Steve Huston <shuston@riverace.com> + + * tests/run_test.lst: Re-enabled Process_Manager_Test for all but + Chorus and VxWorks. Could not find a reason it was disabled. + Also enabled Process_Mutex_Test on Win32. + +Fri Jan 18 16:44:29 2002 Steve Huston <shuston@riverace.com> + + * ace/ace.icc: Added Reactor_Notification_Strategy.(h cpp) sources. + + * ace/Reactor_Notification_Strategy.cpp: Fixed ACE_RCSID to refer to + Reactor_Notification_Strategy, not Strategies. + + * tests/Get_Opt_Test.icc: + * tests/INET_Addr_Test.icc: New Visual Age C++ configs for these tests. + + * tests/tests.icp: Added Get_Opt_Test.icc and INET_Addr_Test.icc + +Fri Jan 18 12:56:36 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/Log_Msg.cpp (init_backend): Added support for SysLog on platforms + that don't lack it. Thanks to Alexei I. Adamovich + <lexa@adam.botik.ru> for reporting this fix. + +Fri Jan 18 10:29:06 2002 Ossama Othman <ossama@uci.edu> + + * ace/Service_Config.h (process_file): + * ace/Service_Config.cpp (process_directives, process_file): + + Factored out code that processes a svc.conf file into the new + static process_file() method. This allows svc.conf files to be + explicitly parsed by the application at any arbitrary point in + time instead of Service Configuration initialization time alone. + +Thu Jan 17 18:51:09 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/Name_Space.cpp (operator =): Fixed a memory leak. Thanks + to Ian Cahoon <icahoon@cisco.com> for reporting this. + +Thu Jan 17 12:13:51 2002 Ossama Othman <ossama@uci.edu> + + * ace/SSL/SSL_Context.h (private_key, verify_private_key): + + Added new documentation. These methods should only be called + after a certificate has been set since key verification is + performed against the certificate, among other things. + +Thu Jan 17 13:11:27 2002 Chad Elliott <elliott_c@ociweb.com> + + * ace/Message_Queue.h: + * ace/Message_Queue.cpp: + * ace/Message_Queue_T.h: + * ace/Message_Queue_T.cpp: + + Provide the ability to enqueue based on the message deadline and + to dequeue based on priority, deadline and from the end. + +Wed Jan 16 11:24:52 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + * THANKS: + Updated to add Gerhard Voss <Gerhard_Voss@t-online.de>. + +Wed Jan 16 06:19:01 2002 Douglas C. Schmidt <schmidt@siesta.cs.wustl.edu> + + * ace/OS.i: Replaced "set" with "sset" in sigtimedwait() and sigwait() + to avoid STL symbol clashes with MSVC++ 6.0. Thanks to Shmulik + Regev <shmul@vself.com> for reporting this. + +Wed Jan 16 09:01:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * ace/Containers_T.{h,cpp}: + Added ACE_Fixed_Set_Const_Iterator to make it possible to + iterate through a const ACE_Fixed_Set instance + +Wed Jan 16 07:53:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * include/makeinclude/ace_flags.bor: + Added new flags for the new TAO ETCL orbsvcs library + +Tue Jan 15 17:24:53 2002 Steve Huston <shuston@riverace.com> + + * ace/SSL/SSL_Context.cpp (report_error()): Set ACE_OS::last_error() + to ERR_get_error() so the caller can get the error code later. + + * ace/SSL/SSL_SOCK_Connector.cpp: If the SSL handshake phase of a + connection attempt fails, close the underlying socket. + +Tue Jan 15 15:35:41 2002 Steve Huston <shuston@riverace.com> + + * ace/SOCK_Connector.(h cpp): + * ace/LSOCK_Connector.(h i cpp): + * ace/MEM_Connector.(h cpp): + * ace/SSL/SSL_SOCK_Connector.(h cpp): + Improved the Doxygenation and removed the protocol_family and + protocol arguments from the ctors and connect() methods. The + protocol family is always taken from the ACE_Addr remote_sap + argument since it can now be either PF_INET or PF_INET6 (for + SOCK_Connector objects) and should be PF_UNIX for LSOCKs. + It is pointless to allow the user to request something that + is impossible to do correctly. + +Tue Jan 15 10:52:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * include/makeinclude/ace_flags.bor: + Added new flags for the new TAO PortableGroup library + +Mon Jan 14 14:40:25 2002 Carlos O'Ryan <coryan@uci.edu> + + * bin/g++dep: + Fixed small problems in the dependency generation: + - The script did not properly handle files with '+' in their + names. + - In some cases the script generated escaped blanks, i.e. lines + containing a blank preceded by a backslash. Such blanks are + interpreted as part of a dependency name and break havoc with + the builds. + +Mon Jan 14 16:49:37 2002 Steve Huston <shuston@riverace.com> + + * ace/OS.h (ACE_STATIC_SVC_DEFINE): Corrected the documentation to + say the service-implementing class must be derived from + ACE_Service_Object, not ACE_Service_Config. + +Mon Jan 14 07:40:16 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/OS.i (mmap): There was a typo that prevented the ACE Memory Map + stuff from working properly on Win9x. Thanks to Edan Ayal + <edanayal@yahoo.com> for reporting this. + +Sun Jan 13 18:59:37 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/Memory_Pool.{h,cpp}: Added a new option that makes is possible + to control whether or not a fixed address will be used when + remapping a memory-mapped file. Thanks to Jonathan Reis + <reis@stentor.com> for this enhancement. + +Mon Jan 14 11:02:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * include/makeinclude/ace_flags.bor: + Added flags for new TAO FT_ORB library + +Sun Jan 13 08:20:05 2002 Craig Rodrigues <crodrigu@bbn.com> + + * ace/config-all.h: Make sure that ACE_bad_alloc + is defined as std::bad_alloc if + ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB macro is set. + Fixes gcc 3.0.3 compilation problem. + +Fri Jan 11 22:54:22 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * ace/config-lynxos.h: Added #define ACE_HAS_USING_KEYWORD to teh + file. The compiler supports namespaces. According to the new + rules at the doc_group, we dont use any compilers that dont + support namespaces. The above macro is itself a waste. But we + cannot remove it overnight as it has far reaching + consequences. Working around that for the timebeing. + +Thu Jan 10 18:35:41 2002 Steve Huston <shuston@riverace.com> + + * ace/Profile_Timer.h: Clarified that elapsed_time() calculates time + from start() to stop(). Improved Doxygenation. + +Thu Jan 10 16:53:41 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * examples/Service_Configurator/IPC-tests/server/server.dsp: The + Release version of the library needs to link in ADVAPI32.LIB as + GetUserName is used in ACE's inline code. + +Wed Jan 9 22:07:50 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/Logging_Strategy.cpp (fini): Make sure to cancel the + timer if interval_ and max_size_ are > 0. Thanks to Yaniv Ben + Ari <yanivb@bis.co.il> for reporting this. + +Wed Jan 9 11:38:58 2002 Ossama Othman <ossama@uci.edu> + + * tests/SSL/Makefile (LDLIBS): + + Added missing SSL and crypto libraries. Fixed link errors. + Thanks to Marvin Wolfthal <maw@weichi.com> for reporting the + error and suggesting a fix. + +Wed Jan 9 12:24:39 2002 Steve Huston <shuston@riverace.com> + + * ace/Process.cpp (spawn): Don't attempt ACE_OS::setpgid if + ACE_LACKS_SETPGID is defined. Thanks to Victor Terber + <vterber@csksoftware.de> for reporting this. + +Wed Jan 09 11:19:07 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.h: Updated the comment for ACE_CE_Bridge to indicate that + it's obsolete and will be removed in the future. + +Wed Jan 9 00:48:48 2002 Don Hinton <dhinton@gmx.net> + + * ace/Get_Opt.cpp: Make sure to cast away constness + before deleting an ACE_TCHAR array. Thanks to + Bala for reporting this. + +Tue Jan 8 17:29:33 2002 Steve Huston <shuston@riverace.com> + + * ace/SSL/SSL_SOCK_Connector.cpp: Don't try to dereference a 0 + timeout pointer. Gack. Thanks to Ossama for pointing this out. + +Tue Jan 8 15:51:06 2002 Don Hinton <dhinton@gmx.net> + + * ace/Get_Opt.cpp + * ace/Service_Config.cpp: + + Moved the template instantiations from Service_Config.cpp to + Get_Opt.cpp where they belong. + + * ace/Get_Opt.{h.cpp}: Replaced ACE_TString with ACE_TCHAR for + type of member variable ACE_Get_Opt_Long_Option since it + wasn't really needed and took up space. + +Tue Jan 8 10:43:48 2002 Ossama Othman <ossama@uci.edu> + + * ace/config-sunos5.5.h (ACE_LACKS_INET_ATON): + + Solaris does indeed implement the inet_aton() function, but it + is found in `libresolv.*'. It doesn't seem worth it to link + another library just for that function. Just use the emulation + in ACE that has been used for years. + +Tue Jan 8 11:31:22 2002 Steve Huston <shuston@riverace.com> + + * tests/Makefile: When doing realclean, use the DLL_Test and + Service_Config_DLL Makefiles to clean their files up. + +Tue Jan 8 08:36:33 2002 Steve Huston <shuston@riverace.com> + + * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept): + * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect): Corrected order + of operations checking EWOULDBLOCK, and fixed compile errors. + Thanks to Vlado Chovanec <Vladimir.CHOVANEC@asset.sk> for this fix. + +Mon Jan 7 19:55:39 2002 Steve Huston <shuston@riverace.com> + + * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept): + * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect): Added extra check + for SSL_accept/connect status failure to avoid looping on a bad + socket if the socket closes during handshake. Thanks to Vlado + Chovanec <Vladimir.CHOVANEC@asset.sk> for this fix. + + Also added timeout countdown support for SSL_SOCK_Connector, same + as in: Sun Jan 6 09:37:02 2002 Ossama Othman <ossama@uci.edu> + +Mon Jan 7 15:55:26 2002 Ossama Othman <ossama@uci.edu> + + * ace/INET_Addr.cpp (set): + + Pass a pointer to a "struct in_addr" to inet_aton(), i.e. the + proper type, instead of a forcibly casted ACE_UINT32. Also + updated existing code to use the in_addr::s_addr member instead + of the previous ACE_UINT32 variable. + +Mon Jan 7 15:13:09 2002 Mayur Deshpande <mayur@ics.uci.edu> + + * performance-tests/Misc/context_switch_time.cpp (main): + Since the Yield_test does seem to work on VxWorks now (see + ChangeLog below), the 'ifdefs' for bypassing VxWorks for the + Yield-Test have now been removed. + +Mon Jan 7 15:08:25 2002 Mayur Deshpande <mayur@ics.uci.edu> + + * ace/OS.i (thr_yield): + Changed ::taskDelay (1) to ::taskDelay (0) for VxWorks in + thr_yield (). The change with (0), now does seem to perform + the yield correctly as reflected in the Yield-Test of + context_switch_time. Thanks to Charlie Grames + <charlie.grames@windriver.com> for this tip. + +Mon Jan 7 15:16:10 2002 Ossama Othman <ossama@uci.edu> + + * ace/OS.h (INADDR_NONE): + + If the platform does not define this constant, then define it. + + * ace/OS.cpp (inet_aton): + + For some reason we were emulating inet_aton() on all platforms + using the now deprecated inet_addr() function. Use the native + inet_aton() function unless ACE_LACKS_INET_ATON is defined. + + Instead of performing a memcpy() of the IPv4 32-bit address into + the in_addr data structure, simply assign it to the s_addr field + of that data structure. It's not clear why we didn't do this in + the first place. + + (inet_ntoa): + + Fixed PSoS emulation of this method. The result is supposed to + be stored in a statically allocated string, not a dynamically + allocated one. Fixes a memory leak. Note that this change + makes the implementation non-reentrant. However, inet_ntoa() + was not designed to be reentrant to begin with. + + * ace/OS.i (inet_addr): + + On error, inet_addr() is supposed to return INADDR_NONE. + + The return value should be a 32 bit unsigned integer, not a + signed one. + + * ace/config-win32-common.h: + + MS Windows does not support the inet_aton() function. Define + ACE_LACKS_INET_ATON. + +Mon Jan 7 12:20:26 2002 Ossama Othman <ossama@uci.edu> + + * bin/auto_run_tests.lst: + + Added the MT_SSLIOP test to the regression test suite list. + +Sun Jan 6 21:19:10 2002 John Aughey <jha@cs.wustl.edu> + + * tests/run_test.lst: Uncommented out Conn_Test from daily builds. + +Sun Jan 6 21:09:10 2002 John Aughey <jha@cs.wustl.edu> + + * ace/INET_Addr.cpp: + * ace/INET_Addr.h: + + Reverted to January 1 version until I have time to put the + set_host_name() method in correctly. + +Sun Jan 6 20:01:10 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * tests/run_test.lst: Commented out Conn_Test from the daily + builds. This test seems to hang blocking build progress. Have + sent a mail to John Aughey on this. + +Sun Jan 6 09:37:02 2002 Ossama Othman <ossama@uci.edu> + + * ace/SSL/SSL_SOCK_Acceptor.cpp (accept, ssl_accept): + + Take into account the time to complete the basic TCP handshake + and the SSL handshake. Specifically, ACE_Countdown_Time is used + to reduce the timeout value after each IO operation + (e.g. accept(), SSL_accept()) used during SSL passive connection + establishment. [Bug 1110] + + Commented out debugging statements. + +Sat Jan 5 20:57:36 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * ace/Future.cpp (get): Added another ACE_const_cast in addition + to Doug's changes to fix compile errors. See below. + +Sat Jan 5 14:57:36 2002 Craig Rodrigues <crodrigu@bbn.com> + + * ace/OS_QoS.h: Fix comments, put in doxygen format. + +Sat Jan 5 08:59:41 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/Future.cpp (get): Added an ACE_const_cast() to silence certain + C++ compilers. Thanks to Venkita for reporting this. + +Fri Jan 5 15:17:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * ace/OS.{h,cpp}: + Added ACE_TSS_Emulation::release_key() method to release a + thread_key within the TSS_Emulation when a thread is stopped. + Added ACE_TSS_Emulation::tss_keys_used_ member to administrate which + thread_keys are used and which not. + Added ACE_TSS_Keys::is_set() method to test whether a specific + thread_key is marked as used. + Changed ACE_TSS_Emulation::next_key() method to return a thread_key + that is not used yet, this key is then marked as used at the same + time. + Changed ACE_OS::thr_keyfree() method to release the key in the + TSS_Emulation when ACE_HAS_TSS_EMULATION is defined. + + These changes fix the bugzilla bugs 223 and 657. The ACE_TSS_Emulation + now recycles keys that are released earlier. + +Fri Jan 4 19:59:03 2002 John Aughey <jha@cs.wustl.edu> + + * ace/INET_Addr.cpp: Fixed the new set_host_name method + +Fri Jan 4 18:59:27 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * ChangeLogs/ChangeLog-01b: Added a new file. Trimmed this file + to have entries only in 2002. + +Fri Jan 4 15:50:42 2002 Steve Huston <shuston@riverace.com> + + * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept): + * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect): + On ACE::select-reported timeout or failure, set status to return + a -1 to caller, not 0. Thanks to Vladimir Chovanec + <Vladimir.CHOVANEC@asset.sk> for reporting this and sending a fix. + +Fri Jan 4 08:31:49 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu> + + * tests/Thread_Manager_Test.cpp (test_task_record_keeping): Fixed + a typo in an expression on line 226. Thanks to Harvinder + Sawhney <harvindersawhney@yahoo.com> for reporting this. + +Fri Jan 4 05:51:22 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu> + + * ace/Future.{h,cpp}: Made the get() and ready() methods const. + Thanks to Ran Kohavi <ran@kashya.con> for reporting this. + +Fri Jan 4 15:06:31 2002 Steve Huston <shuston@riverace.com> + + * ace/String_Base.h (operator=): Add <CHAR> to ACE_String_Base + return type. Fixes compile error on IBM C/C++. + + * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept): + If SSL_get_error() returns SSL_ERROR_SYSCALL and it's EWOULDBLOCK, + don't blindly set both read and write handles for select. Check + if SSL is indicating SSL_want_write() and set the proper handle. + Also, don't ACE_ASSERT SSL_pending before return... if there's + an SSL handshake screw-up (like someone trying to break in) + just report the failure, don't abort/crash. + +Wed Jan 02 13:27:09 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/INET_Addr.h: + * ace/INET_Addr.cpp: Removed tabs and trailing whitespaces. + +Wed Jan 2 08:19:18 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu> + + * ace/FILE_Connector.h, + * ace/OS.h (ACE_OS): Clarified the weak semantics of O_APPEND + on Win32. Thanks to Eugene Alterman <eugalt@myrealbox.com> for + reporting this. + +Wed Jan 2 12:43:00 2002 John Aughey <jha@aughey.com> + + * ace/INET_Addr.h + * ace/INET_Addr.cpp : Added set_host_name method and moved + relevant code into this method. Changed signature of + set_address method to take a void pointer rather than a + char *. + +Wed Jan 2 12:30:01 2002 Chris Gill <cdgill@cs.wustl.edu> + + * ace/RB_Tree.i + * tests/RB_Tree_Test.cpp : added check for valid current node to + forward_i and reverse_i methods of iterator base class. Thanks to + Craig L. Ching <cching@mqsoftware.com> for reporting this! + +Wed Jan 2 08:19:18 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu> + + * tests/README: Clarify that run_test.pl should be used rather + the run_tests.sh. + + * tests/run_tests.bat: Clarify that run_test.pl should be used + on Win9x. Thanks to Edward A Thompson <ed4becky_2000@yahoo.com> + for prompting this. + +Wed Jan 2 07:37:01 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * ace/Handle_Set.h: + * ace/Handle_Set.cpp: Added a method reset_state () to the + ACE_Handle_Set_Iterator class. + +Tue Jan 2 11:39:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * ace/OS.i: + Added missing ACE_UNUSED_ARG in ACE_OS::event_timedwait + +Tue Jan 1 15:36:39 2002 Steve Huston <shuston@riverace.com> + + * include/makeinclude/platform_sunos5_sunc++.GNU: Added support + for the buildbits=64 make option. + +Tue Jan 1 20:05:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * ace/Name_Request_Reply.{h,cpp}: + Changed type of 3 constructor arguments from size_t to ACE_UINT32 + because the members in which these arguments are stored are also + of type ACE_UINT32 + + * ace/OS.i + In ACE_OS::umask method, changed the type in the ACE_OSCALL_RETURN + macro from int to mode_t because that is the return type of the + method + +Tue Jan 1 08:47:25 2002 Douglas C. Schmidt <schmidt@siesta.cs.wustl.edu> + + * ace/Thread.h: Clarify how the ACE_Thread_Adapter is deleted + when spawn() is called. Thanks to Preston Elder + <prez@srealm.net.au> for reporting this confusion. + +Tue Jan 1 14:09:26 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * examples/Map_Manager/test_hash_map_manager.cpp: + Made this example compiling when ACE_USES_WCHAR is set + + * Makefile.bor: + Added examples directory because all examples for which there are + BCB makefiles now build when ACE_USES_WCHAR is set + +Tue Jan 1 00:02:12 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/ace_dll.vcp: Added String_Base_Const.*. diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a new file mode 100644 index 00000000000..99e2749a4a2 --- /dev/null +++ b/ChangeLogs/ChangeLog-02a @@ -0,0 +1,1022 @@ +Wed Jan 30 15:11:49 2002 Krishnakumar B <kitty@cs.wustl.edu> + + * include/makeinclude/platform_linux.GNU (CXX_VERSION): + * ace/config-g++-common.h: + + Turned off explicit template instantiation with gcc under Linux. + The specific versions are 2.95.x, 2.96, 3.0.x (3.x). Added a + flag implicit_templates to tweak the behaviour from the + platform_macros.GNU file. + + The combination of the compiler and binutils seems to give a + nice reduction in the footprint. + +Wed Jan 30 16:00:39 2002 Steve Huston <shuston@riverace.com> + + * ace/Process_Manager.cpp (register_handler): Replaced ECHILD with + EINVAL if the pid is not found. Probably a more accurate + assessment of the situation, and should compile clean on WinCE. + +Wed Jan 30 13:50:17 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu> + + * docs/index.html: Fixed the ACE-inheritance.pdf document so + it isn't gzipped. Thanks to Michael Searles + <msearles@base16.com> for reporting this. + +Wed Jan 30 09:28:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * XML/parser/debug_validator/Debug_Attributes_Builder.cpp: + * XML/parser/debug_validator/Debug_DTD_Manager.cpp: + * XML/parser/debug_validator/Debug_Element_Builder.cpp: + * XML/parser/debug_validator/Element_Tree.cpp: + Added missing ACE_LIB_TEXT. This fixes the BCB unicode build errors + +Tue Jan 29 20:11:21 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * etc/*.doxygen (EXPAND_AS_DEFINED): Added ACE_CACHE_MAP_MANAGER + to the list in EXPAND_AS_DEFINED. Thanks to Don Hinton + <dhinton@ieee.org> for the suggestion. + +Tue Jan 29 19:36:24 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * bin/make_release: The whole release process has been moved to + Linux box. This is because the sun machines at WashU were having + problems and they are not dependable. The following are the list + of changes made + + - All the path related stuff have been changed ie. instead of + using /pkg/gnu tools, we use native tools on Linux now. + + - The gnu suffixes to many of the tools have been removed. + + - Most of the path to the tools have been hardcoded in the PATH + environment variabe. + + - Tools that were missing have been loaded on 3 main Linux boxes + at WashU including Graphviz and doxygen. + + - A beta cannot be cut from a sun box. + + - The script will recommend cutting a beta from deuce.doc. + + The script has been tested with a dummy release. + +Tue Jan 29 16:01:54 2002 Ossama Othman <ossama@uci.edu> + + * bin/fuzz.pl (check_for_missing_rir_env): + + Check for ACE_ENV_ARG_PARAMETER instead of + TAO_ENV_ARG_PARAMETER. The latter is deprecated. + +Tue Jan 29 20:47:24 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net> + + * docs/exceptions.html: Document the new ACE_ENV_ macros. + + * bin/subst_env.pl: Transform to ACE_ENV_ instead of TAO_ENV_. + +Tue Jan 29 08:39:24 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net> + + * ace/CORBA_macros.h: + Added ACE_ENV_ARG macros to replace the TAO_ENV_ARG macros + defined in TAO/tao/orbconf.h. All exception related macros + are now defined in ace/CORBA_macros.h, and the TAO_ENV_ARG + macros will soon be deprecated. + + * include/makeinclude/wrapper_macros.GNU: + Added the include_env switch for compatibility with the + exception handling use before TAO 1.2.2. + +Tue Jan 29 08:17:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * include/makeinclude/ace_flags.bor: + Added compiler flags for new cosevent orbsvcs test library CECTEST + Added compiler flags for new notify orbsvcs test library NotifyTests + +Mon Jan 28 17:44:51 2002 Steve Huston <shuston@riverace.com> + + * ace/Process_Manager.cpp (wait): When waiting for a non-specific + process, specify -1 pid for waitpid(). This is necessary because + of Fri Jan 25 19:58:41 2002 Steve Huston <shuston@riverace.com> + change to not alter the process group ID when ACE_Process_Manager + spawns a process. + Timed waits for a process still don't work on non-Win32, but + this fix corrects the failed wait with errno == ECHILD. + +Mon Jan 28 12:16:28 2002 Carlos O'Ryan <coryan@uci.edu> + + * bin/auto_run_tests.lst: + Removed EC_Basic and Event_Latency tests from nightly builds, I + left them there by mistake when I took them out of the + repository (around December, 25th 2001) + +Mon Jan 28 13:20:32 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * XML/common/AttributesImpl.cpp: Removed a bunch of inline + designators. + +Sun Jan 27 22:18:50 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * bin/msvc_auto_compile.pl: Projects in XML subdirectory are + interdependent. List out the order they should be built + explicitly. + +Sun Jan 27 12:48:48 2002 Ossama Othman <ossama@uci.edu> + + * bin/auto_run_tests.lst + * bin/performance_stats.sh: + + Updated in accordance with the new TAO "Latency" performance + test organization. + +Sun Jan 27 12:08:45 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * XML/common/Transcode.h (ACEXML_Transcoder): Improved the + documentation. + + The followings fixed the Tru64 warnings/errors. + + * XML/common/AttributesImpl.i (operator): + * XML/common/Env.i: Reordered inline functions. + + * XML/tests/Transcoder_Test.cpp: Removed an unused argument. + + * XML/common/Attributes_Def_Builder.h: Added inclusion of + "ace/Auto_Ptr.h". + + * XML/examples/SAXPrint/SAXPrint_Handler.cpp: + * XML/examples/SAXPrint/Print_Handler.cpp: Added inclusion of + "ace/Log_Msg.h". + +Sun Jan 27 15:03:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * Makefile.bor: + Build the XML library with BCB + + * XML/parser/Makefile.bor: + Added debug_validator + + * XML/parser/debug_validator/Makefile.bor: + Added BCB makefile + +Sat Jan 26 19:02:49 2002 Ossama Othman <ossama@uci.edu> + + * ace/Process_Manager.cpp (register_handler): + + Corrected code that always returned -1. Code that should only + have been run on error was always run since it was outside of an + "if block." Curly braces are a good thing (they were missing). + +Sat Jan 26 21:41:39 2002 Steve Huston <shuston@riverace.com> + + * ace/Process_Manager.cpp (wait): Fixed compiler warning on + Linux about unused wait_until. This fix removes the ability + to spin around the 'for' loop waiting for signals multiple + times with the timeout decreasing to account for wait time. + Will have to come back to restore this functionality later. + +Sat Jan 26 14:40:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * include/makeinclude/ace_flags.bor: + Added compiler and linker flags for new XML library + + * XML/common/Makefile.bor: + * XML/parser/parser.Makefile.bor: + * XML/Makefile.bor: + * XML/parser/Makefile.bor: + * XML/tests/Makefile.bor: + Added BCB makefiles for the new XML library. + +Fri Jan 25 19:58:41 2002 Steve Huston <shuston@riverace.com> + + * ace/Process_Manager.cpp (wait(pid_t, const ACE_Time_Value &, + ACE_exitcode *status)): If platform offers sigtimedwait, use it + instead of setting ualarm and then doing sigwait. Once ualarm + is set, it will fire, even if this method has returned. This + causes Solaris processes to die on SIGALRM. + + Also, do not play with the process group ID by default. It's + not needed for doing normal signal management by most processes. + If processes really have a need to change or set a new process + group, they need to do it explicitly by using ACE_OS::setpgid() + or by setting a process group ID in an ACE_Process_Options object + when spawning processes. + + * tests/Process_Manager_Test.cpp: Added a bit more diagnostic info. + +Fri Jan 25 18:29:37 2002 Steve Huston <shuston@riverace.com> + + * ace/config-aix-4.x.h: Removed ACE_HAS_SIGTIMEDWAIT. It compiles, + but returns ENOSYS at run time. + + * ace/config-aix5.1.h: Added ACE_HAS_SIGTIMEDWAIT. + +Fri Jan 25 15:36:40 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/ace_dll.dsp: Removed /version flags from the project since + they have been taken care of by ace.rc file. Thanks to Ossama + for pointing it out. + +Fri Jan 25 14:45:00 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * bin/auto_run_tests.lst: + Added Two_Objects test to the list. + +Fri Jan 25 14:40:15 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * XML/common/Exception.cpp: + * XML/common/NamespaceSupport.cpp: + * XML/common/SAXExceptions.cpp: + * XML/parser/parser/Parser.cpp: Moved the initialization of static + members before the inclusion of inline files to avoid + compilation erros on Borland compiler. Thanks to Johnny + Willemsen <jwillemsen@remedy.nl> for figuring this out. + +Fri Jan 25 14:31:06 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * XML/common/NamespaceSupport.cpp: + * XML/parser/parser/Parser.cpp: Fixed several KCC warnings. + +Fri Jan 25 12:01:14 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + The following changes fixed SunCC5.1 compilation errors. + + * XML/common/Makefile: + * XML/parser/parser/Makefile: + * XML/tests/Makefile: + * XML/examples/SAXPrint/Makefile: Removed extra spaces for -I + flags. + + * XML/common/Attributes_Def_Builder.h: Removed a redundant comma. + + * XML/common/NamespaceSupport.i: Changed + ACE_TEMPLATE_METHOD_SPECIALIZATION to + ACE_TEMPLATE_SPECIALIZATION. + + * XML/tests/NamespaceSupport_Test.cpp: String literals needed to + be assigned to const char *. + +Fri Jan 25 09:42:12 2002 Ossama Othman <ossama@uci.edu> + + * ace/ace_dll.dsp: + + Corrected inconsistency in the DLL minor version. The correct + minor version for the ACE 5.2 series is "2," not "1." + +Fri Jan 25 11:21:28 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * bin/msvc_auto_compile.pl: Added XML into the list of auto build + targets. + +Fri Jan 25 00:37:00 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu> + + * We now have 1,400 contributors to the ACE+TAO software. Yow! + +Thu Jan 24 17:49:46 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * ace/CDR_Stream.i: Fixed the check for the length within + ACE_InputCDR::read_*_array (). The method was checking just for + length passed in, which happens to be the number of elements in + the array, instead of the number of bytes necessary for the + elements. Thanks to William R Volz <WRVO@chevrontexaco.com> for + reporting this. + + * THANKS: Added William Volz to the hall of fame. + +Thu Jan 24 18:31:49 2002 Steve Huston <shuston@riverace.com> + + * tests/Process_Manager_Test.cpp: Better diagnostics added. + +Thu Jan 24 15:14:52 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Lib_Find.cpp (ldfind): Restored previously removed Win32 + code and re-organized macros so we wouldn't upset CE builds. + +Thu Jan 24 14:53:38 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * bin/generate_doxygen.pl: + * etc/acexml.doxygen: Added the doxygen config file for XML + subdirectory. + + * Makefile: Added XML subdirectory into the lists to be compiled + and be included in the release. + + * XML/*: Merged in the XML parser code. + +Thu Jan 24 10:14:47 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/ace_wchar.h: Added the definition for ACE_TEXT_SearchPath. + + * ace/Lib_Find.cpp (ldfind): Fixed UNICODE and Fuzz builds + errors. Thanks to Johnny Willemsen <jwillemsen@remedy.nl> for + the fix. + +Wed Jan 23 16:48:54 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Lib_Find.h: + * ace/Lib_Find.cpp (ldfind): Change to use Win32 API SearchPath to + search for the target DLL and updated the document for ldfind in + header file. Thanks to Eugene Alterman + <Eugene.Alterman@bremer-inc.com> for submitting the patch. + +Wed Jan 23 14:01:32 2002 Ossama Othman <ossama@uci.edu> + + * ace/config-lynxos.h (ACE_LACKS_INET_ATON): + + LynxOS does not implement the inet_aton() function. + +Wed Jan 23 16:37:52 2002 Steve Huston <shuston@riverace.com> + + * ace/NT_Service.cpp (insert): If the CreateService call fails, + be sure to save the error value before making another Win32 call + that will smash it. Thanks to Kelly Hickel <kfh@mqsoftware.com> + for reporting this. + Also ACE-ified the source better. + + * examples/NT_Service/main.cpp: Added some ACE_ERROR output if + operations requested from the command line fail. + +Wed Jan 23 16:14:43 2002 Boris Kolpackov <bosk@ipmce.ru> + + * include/makeinclude/platform_sunos5_sunc++.GNU + + Added work around for famous Sun CC "pure virtual function called" + bug. Unfortunately this involves introduction of yet another #define. + See TAO/tao/ValueBase.h for more information. + +Tue Jan 22 21:27:25 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * ace/ace_dll.vcp: Add Frameork_Component.* to the builds. Thanks + to Venkita for pointing it out. + +Tue Jan 22 17:42:39 2002 Steve Huston <shuston@riverace.com> + + * ace/NT_Service.(h cpp): Added two new methods: + void capture_log_msg_attributes (void): Grabs a copy of the + calling thread's ACE_OS_Log_Msg_Attributes to facilitate + inheritance of the logging attributes in the service thread. + void inherit_log_msg_attributes (void): Called in a service + thread, inherits the main thread's logging attributes. + Modified the ACE_NT_SERVICE_RUN macro to capture the main + thread's logging attributes before starting the service control + dispatcher. Modified the ACE_NT_SERVICE_DEFINE macro to call + inherit_log_msg_attributes if the ACE_NT_Service object for + the service was set up before the thread started. + Fixes Bugzilla # 82. + + * examples/NT_Service/main.cpp: + * examples/NT_Service/ntsvc.cpp: Now writes a log file in the current + working directory which should have messages from both main and + service threads in it. + +Tue Jan 22 15:19:29 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/DLL.cpp: Changed to invoke this->open() in the + constructor. Thanks to Eugene Alterman + <Alterman@bremer-inc.com> for motivating this. + +Mon Jan 21 23:27:03 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.h: Reordered main redefinition macros so that it actually + passed wchar argv to main when UNICODE is defined. + +Mon Jan 21 10:01:34 2002 Frank Hunleth <fhunleth@cs.wustl.edu> + + * bin/auto_run_tests.lst: + Added MIOP unit tests. + +Mon Jan 21 03:00:14 2002 Ossama Othman <ossama@uci.edu> + + * ace/Framework_Component.cpp (register_component): + + Removed debugging statements that always printed text. + +Mon Jan 21 07:45:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * ace/Framework_Component.cpp: + Fixed fuzz error + +Mon Jan 21 00:13:42 2002 Christopher Kohlhoff <chris@kohlhoff.com> + + * ace/streams.h: + Workaround for Borland C++ 5.5.1 bug we have now just hit. + +Sun Jan 20 21:42:53 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * ace/Framework_Component.cpp: + * ace/Framework_Component_T.cpp: Fixed fuzz errors. + +2002-01-20 Oliver Kellogg <oliver.kellogg@sysde.eads.net> + + * bin/subst_env.pl: New script to ease the transition to the + TAO_ENV_ARG macros defined in TAO/tao/orbconf.h. + +Sun Jan 20 12:38:28 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * tests/Framework_Component_Test.dsp: New dsp file for the test. + * tests/tests.dsw: Added the above test to the workspace. + +Sun Jan 20 12:25:28 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * ace/Framework_Component.h: Removed the definition of the + default constructor (in ACE_UNIMPLEMENTED_FUNC definition). The + other private constructor with a default argument tends towards + a default constructor and VC++ signals a multiple definition + error. Not sure how g++ didnt signal this one. + + * ace/Framework_Component_T.h: #include'd Framework_Component.h + * ace/Framework_Component_T.cpp: Added a #ifndef around the file. + + * ace/ace_dll.dsp: + * ace/ace_lib.dsp: Added the Framwork_Component* files to the + project file. + +Sun Jan 20 10:40:28 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/Vector_Test.dsp: + * tests/tests.dsw: Added a new project for Vector_Test. + +Sun Jan 20 16:25:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * ace/Makefile.bor: + Added new Framework_Component + + * tests/Makefile.bor: + Added new Framework_Component_Test + +Sun Jan 20 00:00:30 2002 UTC Don Hinton <dhinton@ieee.org> + + * ace/Vector_T.cpp (dump): Commented out the contents of this + function for the time being. It assumed that the element + was an object with a dump() method, which won't always be + the case. + + * tests/Vector_Test.cpp: Changed a few data types from signed + to unsigned, size_t, to get rid of compiler warnings. + +Sat Jan 19 17:29:50 2002 Douglas C. Schmidt <schmidt@siesta.cs.wustl.edu> + + * ace/Vector_T.cpp (dump): Fixed problems with this method. Thanks + to Don Hinton for reporting this. + + * tests/Vector_Test.cpp: Changed the typedef of DATA from int to + size_t to avoid "type mismatch" compiler warnings. Thanks to + Don Hinton for reporting this. + +Sat Jan 19 22:30:26 UTC 2002 Don Hinton <dhinton@ieee.org> + + * apps/JAWS2/JAWS/Hash_Bucket_T.h: + * apps/JAWS2/JAWS/Assoc_Array.h: Added missing keyword "class" to + friend declarations. + + * ace/SString.cpp: Removed unneeded include of Service_Config.h. + + * ace/Service_Config.{h|cpp}: + * examples/Connection/misc/Connection_Handler.cpp: + + Removed static methods from ACE_Service_Config that delegated to + ACE_Reactor::instance(), and fixed a few instances where they were + still called. + + * ace/Object_Manager.cpp: + * ace/Service_Config.cpp: + * ace/Proactor.cpp: + * ace/Reactor.cpp: + + Added call to instance() methods that registers the singleton with + the new ACE_Framework_Repository so it can handle destruction, and + replaced explicit references to ACE_Reactor and ACE_Proactor with + calls to ACE_Framework_Repository. + + * ace/Framework_Component.{h|inl|cpp}: + * ace/Framework_Component_T.{h|inl|cpp}: + * ace/Makefile: + * tests/Framework_Component_Test.cpp: + * tests/Makefile: + * tests/run_test.lst: + + Added ACE_Framework_Repository to manage ACE_Framework_Component's, + e.g., singletons like ACE_Reactor or ACE_Proactor. It uses + External Polymorphism obviating any interface changes. The + components register themselves with repository in their instance + methods. This allows the Object_Manager and Service_Config to + manage these components without having to know about them a priori. + + This was needed to reduce footprint for applications like TAO that + don't need to use all the available components, e.g., ACE_Proactor. + +Sat Jan 19 10:23:39 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/Makefile (TEMPLATE_FILES): + * tests/Makefile.bor: + * tests/Makefile: + * tests/run_test.lst: + * ace/Vector_T.{h,i,cpp}: + * tests/Vector_Test.cpp: Added support for the new ACE_Vector to + the appropriate places. This vector behaves like the STL + vector. Thanks to Gonzo and Craig Ching for contributing this. + + * ace/Future_Set.h: Updated the documentation to explain how + various features work better. Thanks to Johnny Tucker for + contributing this. + +Fri Jan 18 19:09:41 2002 Steve Huston <shuston@riverace.com> + + * tests/run_test.lst: Re-enabled Process_Manager_Test for all but + Chorus and VxWorks. Could not find a reason it was disabled. + Also enabled Process_Mutex_Test on Win32. + +Fri Jan 18 16:44:29 2002 Steve Huston <shuston@riverace.com> + + * ace/ace.icc: Added Reactor_Notification_Strategy.(h cpp) sources. + + * ace/Reactor_Notification_Strategy.cpp: Fixed ACE_RCSID to refer to + Reactor_Notification_Strategy, not Strategies. + + * tests/Get_Opt_Test.icc: + * tests/INET_Addr_Test.icc: New Visual Age C++ configs for these tests. + + * tests/tests.icp: Added Get_Opt_Test.icc and INET_Addr_Test.icc + +Fri Jan 18 12:56:36 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/Log_Msg.cpp (init_backend): Added support for SysLog on platforms + that don't lack it. Thanks to Alexei I. Adamovich + <lexa@adam.botik.ru> for reporting this fix. + +Fri Jan 18 10:29:06 2002 Ossama Othman <ossama@uci.edu> + + * ace/Service_Config.h (process_file): + * ace/Service_Config.cpp (process_directives, process_file): + + Factored out code that processes a svc.conf file into the new + static process_file() method. This allows svc.conf files to be + explicitly parsed by the application at any arbitrary point in + time instead of Service Configuration initialization time alone. + +Thu Jan 17 18:51:09 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/Name_Space.cpp (operator =): Fixed a memory leak. Thanks + to Ian Cahoon <icahoon@cisco.com> for reporting this. + +Thu Jan 17 12:13:51 2002 Ossama Othman <ossama@uci.edu> + + * ace/SSL/SSL_Context.h (private_key, verify_private_key): + + Added new documentation. These methods should only be called + after a certificate has been set since key verification is + performed against the certificate, among other things. + +Thu Jan 17 13:11:27 2002 Chad Elliott <elliott_c@ociweb.com> + + * ace/Message_Queue.h: + * ace/Message_Queue.cpp: + * ace/Message_Queue_T.h: + * ace/Message_Queue_T.cpp: + + Provide the ability to enqueue based on the message deadline and + to dequeue based on priority, deadline and from the end. + +Wed Jan 16 11:24:52 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + * THANKS: + Updated to add Gerhard Voss <Gerhard_Voss@t-online.de>. + +Wed Jan 16 06:19:01 2002 Douglas C. Schmidt <schmidt@siesta.cs.wustl.edu> + + * ace/OS.i: Replaced "set" with "sset" in sigtimedwait() and sigwait() + to avoid STL symbol clashes with MSVC++ 6.0. Thanks to Shmulik + Regev <shmul@vself.com> for reporting this. + +Wed Jan 16 09:01:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * ace/Containers_T.{h,cpp}: + Added ACE_Fixed_Set_Const_Iterator to make it possible to + iterate through a const ACE_Fixed_Set instance + +Wed Jan 16 07:53:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * include/makeinclude/ace_flags.bor: + Added new flags for the new TAO ETCL orbsvcs library + +Tue Jan 15 17:24:53 2002 Steve Huston <shuston@riverace.com> + + * ace/SSL/SSL_Context.cpp (report_error()): Set ACE_OS::last_error() + to ERR_get_error() so the caller can get the error code later. + + * ace/SSL/SSL_SOCK_Connector.cpp: If the SSL handshake phase of a + connection attempt fails, close the underlying socket. + +Tue Jan 15 15:35:41 2002 Steve Huston <shuston@riverace.com> + + * ace/SOCK_Connector.(h cpp): + * ace/LSOCK_Connector.(h i cpp): + * ace/MEM_Connector.(h cpp): + * ace/SSL/SSL_SOCK_Connector.(h cpp): + Improved the Doxygenation and removed the protocol_family and + protocol arguments from the ctors and connect() methods. The + protocol family is always taken from the ACE_Addr remote_sap + argument since it can now be either PF_INET or PF_INET6 (for + SOCK_Connector objects) and should be PF_UNIX for LSOCKs. + It is pointless to allow the user to request something that + is impossible to do correctly. + +Tue Jan 15 10:52:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * include/makeinclude/ace_flags.bor: + Added new flags for the new TAO PortableGroup library + +Mon Jan 14 14:40:25 2002 Carlos O'Ryan <coryan@uci.edu> + + * bin/g++dep: + Fixed small problems in the dependency generation: + - The script did not properly handle files with '+' in their + names. + - In some cases the script generated escaped blanks, i.e. lines + containing a blank preceded by a backslash. Such blanks are + interpreted as part of a dependency name and break havoc with + the builds. + +Mon Jan 14 16:49:37 2002 Steve Huston <shuston@riverace.com> + + * ace/OS.h (ACE_STATIC_SVC_DEFINE): Corrected the documentation to + say the service-implementing class must be derived from + ACE_Service_Object, not ACE_Service_Config. + +Mon Jan 14 07:40:16 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/OS.i (mmap): There was a typo that prevented the ACE Memory Map + stuff from working properly on Win9x. Thanks to Edan Ayal + <edanayal@yahoo.com> for reporting this. + +Sun Jan 13 18:59:37 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/Memory_Pool.{h,cpp}: Added a new option that makes is possible + to control whether or not a fixed address will be used when + remapping a memory-mapped file. Thanks to Jonathan Reis + <reis@stentor.com> for this enhancement. + +Mon Jan 14 11:02:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * include/makeinclude/ace_flags.bor: + Added flags for new TAO FT_ORB library + +Sun Jan 13 08:20:05 2002 Craig Rodrigues <crodrigu@bbn.com> + + * ace/config-all.h: Make sure that ACE_bad_alloc + is defined as std::bad_alloc if + ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB macro is set. + Fixes gcc 3.0.3 compilation problem. + +Fri Jan 11 22:54:22 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * ace/config-lynxos.h: Added #define ACE_HAS_USING_KEYWORD to teh + file. The compiler supports namespaces. According to the new + rules at the doc_group, we dont use any compilers that dont + support namespaces. The above macro is itself a waste. But we + cannot remove it overnight as it has far reaching + consequences. Working around that for the timebeing. + +Thu Jan 10 18:35:41 2002 Steve Huston <shuston@riverace.com> + + * ace/Profile_Timer.h: Clarified that elapsed_time() calculates time + from start() to stop(). Improved Doxygenation. + +Thu Jan 10 16:53:41 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * examples/Service_Configurator/IPC-tests/server/server.dsp: The + Release version of the library needs to link in ADVAPI32.LIB as + GetUserName is used in ACE's inline code. + +Wed Jan 9 22:07:50 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/Logging_Strategy.cpp (fini): Make sure to cancel the + timer if interval_ and max_size_ are > 0. Thanks to Yaniv Ben + Ari <yanivb@bis.co.il> for reporting this. + +Wed Jan 9 11:38:58 2002 Ossama Othman <ossama@uci.edu> + + * tests/SSL/Makefile (LDLIBS): + + Added missing SSL and crypto libraries. Fixed link errors. + Thanks to Marvin Wolfthal <maw@weichi.com> for reporting the + error and suggesting a fix. + +Wed Jan 9 12:24:39 2002 Steve Huston <shuston@riverace.com> + + * ace/Process.cpp (spawn): Don't attempt ACE_OS::setpgid if + ACE_LACKS_SETPGID is defined. Thanks to Victor Terber + <vterber@csksoftware.de> for reporting this. + +Wed Jan 09 11:19:07 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.h: Updated the comment for ACE_CE_Bridge to indicate that + it's obsolete and will be removed in the future. + +Wed Jan 9 00:48:48 2002 Don Hinton <dhinton@gmx.net> + + * ace/Get_Opt.cpp: Make sure to cast away constness + before deleting an ACE_TCHAR array. Thanks to + Bala for reporting this. + +Tue Jan 8 17:29:33 2002 Steve Huston <shuston@riverace.com> + + * ace/SSL/SSL_SOCK_Connector.cpp: Don't try to dereference a 0 + timeout pointer. Gack. Thanks to Ossama for pointing this out. + +Tue Jan 8 15:51:06 2002 Don Hinton <dhinton@gmx.net> + + * ace/Get_Opt.cpp + * ace/Service_Config.cpp: + + Moved the template instantiations from Service_Config.cpp to + Get_Opt.cpp where they belong. + + * ace/Get_Opt.{h.cpp}: Replaced ACE_TString with ACE_TCHAR for + type of member variable ACE_Get_Opt_Long_Option since it + wasn't really needed and took up space. + +Tue Jan 8 10:43:48 2002 Ossama Othman <ossama@uci.edu> + + * ace/config-sunos5.5.h (ACE_LACKS_INET_ATON): + + Solaris does indeed implement the inet_aton() function, but it + is found in `libresolv.*'. It doesn't seem worth it to link + another library just for that function. Just use the emulation + in ACE that has been used for years. + +Tue Jan 8 11:31:22 2002 Steve Huston <shuston@riverace.com> + + * tests/Makefile: When doing realclean, use the DLL_Test and + Service_Config_DLL Makefiles to clean their files up. + +Tue Jan 8 08:36:33 2002 Steve Huston <shuston@riverace.com> + + * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept): + * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect): Corrected order + of operations checking EWOULDBLOCK, and fixed compile errors. + Thanks to Vlado Chovanec <Vladimir.CHOVANEC@asset.sk> for this fix. + +Mon Jan 7 19:55:39 2002 Steve Huston <shuston@riverace.com> + + * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept): + * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect): Added extra check + for SSL_accept/connect status failure to avoid looping on a bad + socket if the socket closes during handshake. Thanks to Vlado + Chovanec <Vladimir.CHOVANEC@asset.sk> for this fix. + + Also added timeout countdown support for SSL_SOCK_Connector, same + as in: Sun Jan 6 09:37:02 2002 Ossama Othman <ossama@uci.edu> + +Mon Jan 7 15:55:26 2002 Ossama Othman <ossama@uci.edu> + + * ace/INET_Addr.cpp (set): + + Pass a pointer to a "struct in_addr" to inet_aton(), i.e. the + proper type, instead of a forcibly casted ACE_UINT32. Also + updated existing code to use the in_addr::s_addr member instead + of the previous ACE_UINT32 variable. + +Mon Jan 7 15:13:09 2002 Mayur Deshpande <mayur@ics.uci.edu> + + * performance-tests/Misc/context_switch_time.cpp (main): + Since the Yield_test does seem to work on VxWorks now (see + ChangeLog below), the 'ifdefs' for bypassing VxWorks for the + Yield-Test have now been removed. + +Mon Jan 7 15:08:25 2002 Mayur Deshpande <mayur@ics.uci.edu> + + * ace/OS.i (thr_yield): + Changed ::taskDelay (1) to ::taskDelay (0) for VxWorks in + thr_yield (). The change with (0), now does seem to perform + the yield correctly as reflected in the Yield-Test of + context_switch_time. Thanks to Charlie Grames + <charlie.grames@windriver.com> for this tip. + +Mon Jan 7 15:16:10 2002 Ossama Othman <ossama@uci.edu> + + * ace/OS.h (INADDR_NONE): + + If the platform does not define this constant, then define it. + + * ace/OS.cpp (inet_aton): + + For some reason we were emulating inet_aton() on all platforms + using the now deprecated inet_addr() function. Use the native + inet_aton() function unless ACE_LACKS_INET_ATON is defined. + + Instead of performing a memcpy() of the IPv4 32-bit address into + the in_addr data structure, simply assign it to the s_addr field + of that data structure. It's not clear why we didn't do this in + the first place. + + (inet_ntoa): + + Fixed PSoS emulation of this method. The result is supposed to + be stored in a statically allocated string, not a dynamically + allocated one. Fixes a memory leak. Note that this change + makes the implementation non-reentrant. However, inet_ntoa() + was not designed to be reentrant to begin with. + + * ace/OS.i (inet_addr): + + On error, inet_addr() is supposed to return INADDR_NONE. + + The return value should be a 32 bit unsigned integer, not a + signed one. + + * ace/config-win32-common.h: + + MS Windows does not support the inet_aton() function. Define + ACE_LACKS_INET_ATON. + +Mon Jan 7 12:20:26 2002 Ossama Othman <ossama@uci.edu> + + * bin/auto_run_tests.lst: + + Added the MT_SSLIOP test to the regression test suite list. + +Sun Jan 6 21:19:10 2002 John Aughey <jha@cs.wustl.edu> + + * tests/run_test.lst: Uncommented out Conn_Test from daily builds. + +Sun Jan 6 21:09:10 2002 John Aughey <jha@cs.wustl.edu> + + * ace/INET_Addr.cpp: + * ace/INET_Addr.h: + + Reverted to January 1 version until I have time to put the + set_host_name() method in correctly. + +Sun Jan 6 20:01:10 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * tests/run_test.lst: Commented out Conn_Test from the daily + builds. This test seems to hang blocking build progress. Have + sent a mail to John Aughey on this. + +Sun Jan 6 09:37:02 2002 Ossama Othman <ossama@uci.edu> + + * ace/SSL/SSL_SOCK_Acceptor.cpp (accept, ssl_accept): + + Take into account the time to complete the basic TCP handshake + and the SSL handshake. Specifically, ACE_Countdown_Time is used + to reduce the timeout value after each IO operation + (e.g. accept(), SSL_accept()) used during SSL passive connection + establishment. [Bug 1110] + + Commented out debugging statements. + +Sat Jan 5 20:57:36 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * ace/Future.cpp (get): Added another ACE_const_cast in addition + to Doug's changes to fix compile errors. See below. + +Sat Jan 5 14:57:36 2002 Craig Rodrigues <crodrigu@bbn.com> + + * ace/OS_QoS.h: Fix comments, put in doxygen format. + +Sat Jan 5 08:59:41 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/Future.cpp (get): Added an ACE_const_cast() to silence certain + C++ compilers. Thanks to Venkita for reporting this. + +Fri Jan 5 15:17:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * ace/OS.{h,cpp}: + Added ACE_TSS_Emulation::release_key() method to release a + thread_key within the TSS_Emulation when a thread is stopped. + Added ACE_TSS_Emulation::tss_keys_used_ member to administrate which + thread_keys are used and which not. + Added ACE_TSS_Keys::is_set() method to test whether a specific + thread_key is marked as used. + Changed ACE_TSS_Emulation::next_key() method to return a thread_key + that is not used yet, this key is then marked as used at the same + time. + Changed ACE_OS::thr_keyfree() method to release the key in the + TSS_Emulation when ACE_HAS_TSS_EMULATION is defined. + + These changes fix the bugzilla bugs 223 and 657. The ACE_TSS_Emulation + now recycles keys that are released earlier. + +Fri Jan 4 19:59:03 2002 John Aughey <jha@cs.wustl.edu> + + * ace/INET_Addr.cpp: Fixed the new set_host_name method + +Fri Jan 4 18:59:27 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * ChangeLogs/ChangeLog-01b: Added a new file. Trimmed this file + to have entries only in 2002. + +Fri Jan 4 15:50:42 2002 Steve Huston <shuston@riverace.com> + + * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept): + * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect): + On ACE::select-reported timeout or failure, set status to return + a -1 to caller, not 0. Thanks to Vladimir Chovanec + <Vladimir.CHOVANEC@asset.sk> for reporting this and sending a fix. + +Fri Jan 4 08:31:49 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu> + + * tests/Thread_Manager_Test.cpp (test_task_record_keeping): Fixed + a typo in an expression on line 226. Thanks to Harvinder + Sawhney <harvindersawhney@yahoo.com> for reporting this. + +Fri Jan 4 05:51:22 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu> + + * ace/Future.{h,cpp}: Made the get() and ready() methods const. + Thanks to Ran Kohavi <ran@kashya.con> for reporting this. + +Fri Jan 4 15:06:31 2002 Steve Huston <shuston@riverace.com> + + * ace/String_Base.h (operator=): Add <CHAR> to ACE_String_Base + return type. Fixes compile error on IBM C/C++. + + * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept): + If SSL_get_error() returns SSL_ERROR_SYSCALL and it's EWOULDBLOCK, + don't blindly set both read and write handles for select. Check + if SSL is indicating SSL_want_write() and set the proper handle. + Also, don't ACE_ASSERT SSL_pending before return... if there's + an SSL handshake screw-up (like someone trying to break in) + just report the failure, don't abort/crash. + +Wed Jan 02 13:27:09 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/INET_Addr.h: + * ace/INET_Addr.cpp: Removed tabs and trailing whitespaces. + +Wed Jan 2 08:19:18 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu> + + * ace/FILE_Connector.h, + * ace/OS.h (ACE_OS): Clarified the weak semantics of O_APPEND + on Win32. Thanks to Eugene Alterman <eugalt@myrealbox.com> for + reporting this. + +Wed Jan 2 12:43:00 2002 John Aughey <jha@aughey.com> + + * ace/INET_Addr.h + * ace/INET_Addr.cpp : Added set_host_name method and moved + relevant code into this method. Changed signature of + set_address method to take a void pointer rather than a + char *. + +Wed Jan 2 12:30:01 2002 Chris Gill <cdgill@cs.wustl.edu> + + * ace/RB_Tree.i + * tests/RB_Tree_Test.cpp : added check for valid current node to + forward_i and reverse_i methods of iterator base class. Thanks to + Craig L. Ching <cching@mqsoftware.com> for reporting this! + +Wed Jan 2 08:19:18 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu> + + * tests/README: Clarify that run_test.pl should be used rather + the run_tests.sh. + + * tests/run_tests.bat: Clarify that run_test.pl should be used + on Win9x. Thanks to Edward A Thompson <ed4becky_2000@yahoo.com> + for prompting this. + +Wed Jan 2 07:37:01 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * ace/Handle_Set.h: + * ace/Handle_Set.cpp: Added a method reset_state () to the + ACE_Handle_Set_Iterator class. + +Tue Jan 2 11:39:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * ace/OS.i: + Added missing ACE_UNUSED_ARG in ACE_OS::event_timedwait + +Tue Jan 1 15:36:39 2002 Steve Huston <shuston@riverace.com> + + * include/makeinclude/platform_sunos5_sunc++.GNU: Added support + for the buildbits=64 make option. + +Tue Jan 1 20:05:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * ace/Name_Request_Reply.{h,cpp}: + Changed type of 3 constructor arguments from size_t to ACE_UINT32 + because the members in which these arguments are stored are also + of type ACE_UINT32 + + * ace/OS.i + In ACE_OS::umask method, changed the type in the ACE_OSCALL_RETURN + macro from int to mode_t because that is the return type of the + method + +Tue Jan 1 08:47:25 2002 Douglas C. Schmidt <schmidt@siesta.cs.wustl.edu> + + * ace/Thread.h: Clarify how the ACE_Thread_Adapter is deleted + when spawn() is called. Thanks to Preston Elder + <prez@srealm.net.au> for reporting this confusion. + +Tue Jan 1 14:09:26 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * examples/Map_Manager/test_hash_map_manager.cpp: + Made this example compiling when ACE_USES_WCHAR is set + + * Makefile.bor: + Added examples directory because all examples for which there are + BCB makefiles now build when ACE_USES_WCHAR is set + +Tue Jan 1 00:02:12 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/ace_dll.vcp: Added String_Base_Const.*. diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a new file mode 100644 index 00000000000..99e2749a4a2 --- /dev/null +++ b/ChangeLogs/ChangeLog-03a @@ -0,0 +1,1022 @@ +Wed Jan 30 15:11:49 2002 Krishnakumar B <kitty@cs.wustl.edu> + + * include/makeinclude/platform_linux.GNU (CXX_VERSION): + * ace/config-g++-common.h: + + Turned off explicit template instantiation with gcc under Linux. + The specific versions are 2.95.x, 2.96, 3.0.x (3.x). Added a + flag implicit_templates to tweak the behaviour from the + platform_macros.GNU file. + + The combination of the compiler and binutils seems to give a + nice reduction in the footprint. + +Wed Jan 30 16:00:39 2002 Steve Huston <shuston@riverace.com> + + * ace/Process_Manager.cpp (register_handler): Replaced ECHILD with + EINVAL if the pid is not found. Probably a more accurate + assessment of the situation, and should compile clean on WinCE. + +Wed Jan 30 13:50:17 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu> + + * docs/index.html: Fixed the ACE-inheritance.pdf document so + it isn't gzipped. Thanks to Michael Searles + <msearles@base16.com> for reporting this. + +Wed Jan 30 09:28:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * XML/parser/debug_validator/Debug_Attributes_Builder.cpp: + * XML/parser/debug_validator/Debug_DTD_Manager.cpp: + * XML/parser/debug_validator/Debug_Element_Builder.cpp: + * XML/parser/debug_validator/Element_Tree.cpp: + Added missing ACE_LIB_TEXT. This fixes the BCB unicode build errors + +Tue Jan 29 20:11:21 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * etc/*.doxygen (EXPAND_AS_DEFINED): Added ACE_CACHE_MAP_MANAGER + to the list in EXPAND_AS_DEFINED. Thanks to Don Hinton + <dhinton@ieee.org> for the suggestion. + +Tue Jan 29 19:36:24 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * bin/make_release: The whole release process has been moved to + Linux box. This is because the sun machines at WashU were having + problems and they are not dependable. The following are the list + of changes made + + - All the path related stuff have been changed ie. instead of + using /pkg/gnu tools, we use native tools on Linux now. + + - The gnu suffixes to many of the tools have been removed. + + - Most of the path to the tools have been hardcoded in the PATH + environment variabe. + + - Tools that were missing have been loaded on 3 main Linux boxes + at WashU including Graphviz and doxygen. + + - A beta cannot be cut from a sun box. + + - The script will recommend cutting a beta from deuce.doc. + + The script has been tested with a dummy release. + +Tue Jan 29 16:01:54 2002 Ossama Othman <ossama@uci.edu> + + * bin/fuzz.pl (check_for_missing_rir_env): + + Check for ACE_ENV_ARG_PARAMETER instead of + TAO_ENV_ARG_PARAMETER. The latter is deprecated. + +Tue Jan 29 20:47:24 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net> + + * docs/exceptions.html: Document the new ACE_ENV_ macros. + + * bin/subst_env.pl: Transform to ACE_ENV_ instead of TAO_ENV_. + +Tue Jan 29 08:39:24 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net> + + * ace/CORBA_macros.h: + Added ACE_ENV_ARG macros to replace the TAO_ENV_ARG macros + defined in TAO/tao/orbconf.h. All exception related macros + are now defined in ace/CORBA_macros.h, and the TAO_ENV_ARG + macros will soon be deprecated. + + * include/makeinclude/wrapper_macros.GNU: + Added the include_env switch for compatibility with the + exception handling use before TAO 1.2.2. + +Tue Jan 29 08:17:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * include/makeinclude/ace_flags.bor: + Added compiler flags for new cosevent orbsvcs test library CECTEST + Added compiler flags for new notify orbsvcs test library NotifyTests + +Mon Jan 28 17:44:51 2002 Steve Huston <shuston@riverace.com> + + * ace/Process_Manager.cpp (wait): When waiting for a non-specific + process, specify -1 pid for waitpid(). This is necessary because + of Fri Jan 25 19:58:41 2002 Steve Huston <shuston@riverace.com> + change to not alter the process group ID when ACE_Process_Manager + spawns a process. + Timed waits for a process still don't work on non-Win32, but + this fix corrects the failed wait with errno == ECHILD. + +Mon Jan 28 12:16:28 2002 Carlos O'Ryan <coryan@uci.edu> + + * bin/auto_run_tests.lst: + Removed EC_Basic and Event_Latency tests from nightly builds, I + left them there by mistake when I took them out of the + repository (around December, 25th 2001) + +Mon Jan 28 13:20:32 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * XML/common/AttributesImpl.cpp: Removed a bunch of inline + designators. + +Sun Jan 27 22:18:50 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * bin/msvc_auto_compile.pl: Projects in XML subdirectory are + interdependent. List out the order they should be built + explicitly. + +Sun Jan 27 12:48:48 2002 Ossama Othman <ossama@uci.edu> + + * bin/auto_run_tests.lst + * bin/performance_stats.sh: + + Updated in accordance with the new TAO "Latency" performance + test organization. + +Sun Jan 27 12:08:45 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * XML/common/Transcode.h (ACEXML_Transcoder): Improved the + documentation. + + The followings fixed the Tru64 warnings/errors. + + * XML/common/AttributesImpl.i (operator): + * XML/common/Env.i: Reordered inline functions. + + * XML/tests/Transcoder_Test.cpp: Removed an unused argument. + + * XML/common/Attributes_Def_Builder.h: Added inclusion of + "ace/Auto_Ptr.h". + + * XML/examples/SAXPrint/SAXPrint_Handler.cpp: + * XML/examples/SAXPrint/Print_Handler.cpp: Added inclusion of + "ace/Log_Msg.h". + +Sun Jan 27 15:03:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * Makefile.bor: + Build the XML library with BCB + + * XML/parser/Makefile.bor: + Added debug_validator + + * XML/parser/debug_validator/Makefile.bor: + Added BCB makefile + +Sat Jan 26 19:02:49 2002 Ossama Othman <ossama@uci.edu> + + * ace/Process_Manager.cpp (register_handler): + + Corrected code that always returned -1. Code that should only + have been run on error was always run since it was outside of an + "if block." Curly braces are a good thing (they were missing). + +Sat Jan 26 21:41:39 2002 Steve Huston <shuston@riverace.com> + + * ace/Process_Manager.cpp (wait): Fixed compiler warning on + Linux about unused wait_until. This fix removes the ability + to spin around the 'for' loop waiting for signals multiple + times with the timeout decreasing to account for wait time. + Will have to come back to restore this functionality later. + +Sat Jan 26 14:40:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * include/makeinclude/ace_flags.bor: + Added compiler and linker flags for new XML library + + * XML/common/Makefile.bor: + * XML/parser/parser.Makefile.bor: + * XML/Makefile.bor: + * XML/parser/Makefile.bor: + * XML/tests/Makefile.bor: + Added BCB makefiles for the new XML library. + +Fri Jan 25 19:58:41 2002 Steve Huston <shuston@riverace.com> + + * ace/Process_Manager.cpp (wait(pid_t, const ACE_Time_Value &, + ACE_exitcode *status)): If platform offers sigtimedwait, use it + instead of setting ualarm and then doing sigwait. Once ualarm + is set, it will fire, even if this method has returned. This + causes Solaris processes to die on SIGALRM. + + Also, do not play with the process group ID by default. It's + not needed for doing normal signal management by most processes. + If processes really have a need to change or set a new process + group, they need to do it explicitly by using ACE_OS::setpgid() + or by setting a process group ID in an ACE_Process_Options object + when spawning processes. + + * tests/Process_Manager_Test.cpp: Added a bit more diagnostic info. + +Fri Jan 25 18:29:37 2002 Steve Huston <shuston@riverace.com> + + * ace/config-aix-4.x.h: Removed ACE_HAS_SIGTIMEDWAIT. It compiles, + but returns ENOSYS at run time. + + * ace/config-aix5.1.h: Added ACE_HAS_SIGTIMEDWAIT. + +Fri Jan 25 15:36:40 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/ace_dll.dsp: Removed /version flags from the project since + they have been taken care of by ace.rc file. Thanks to Ossama + for pointing it out. + +Fri Jan 25 14:45:00 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * bin/auto_run_tests.lst: + Added Two_Objects test to the list. + +Fri Jan 25 14:40:15 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * XML/common/Exception.cpp: + * XML/common/NamespaceSupport.cpp: + * XML/common/SAXExceptions.cpp: + * XML/parser/parser/Parser.cpp: Moved the initialization of static + members before the inclusion of inline files to avoid + compilation erros on Borland compiler. Thanks to Johnny + Willemsen <jwillemsen@remedy.nl> for figuring this out. + +Fri Jan 25 14:31:06 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * XML/common/NamespaceSupport.cpp: + * XML/parser/parser/Parser.cpp: Fixed several KCC warnings. + +Fri Jan 25 12:01:14 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + The following changes fixed SunCC5.1 compilation errors. + + * XML/common/Makefile: + * XML/parser/parser/Makefile: + * XML/tests/Makefile: + * XML/examples/SAXPrint/Makefile: Removed extra spaces for -I + flags. + + * XML/common/Attributes_Def_Builder.h: Removed a redundant comma. + + * XML/common/NamespaceSupport.i: Changed + ACE_TEMPLATE_METHOD_SPECIALIZATION to + ACE_TEMPLATE_SPECIALIZATION. + + * XML/tests/NamespaceSupport_Test.cpp: String literals needed to + be assigned to const char *. + +Fri Jan 25 09:42:12 2002 Ossama Othman <ossama@uci.edu> + + * ace/ace_dll.dsp: + + Corrected inconsistency in the DLL minor version. The correct + minor version for the ACE 5.2 series is "2," not "1." + +Fri Jan 25 11:21:28 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * bin/msvc_auto_compile.pl: Added XML into the list of auto build + targets. + +Fri Jan 25 00:37:00 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu> + + * We now have 1,400 contributors to the ACE+TAO software. Yow! + +Thu Jan 24 17:49:46 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * ace/CDR_Stream.i: Fixed the check for the length within + ACE_InputCDR::read_*_array (). The method was checking just for + length passed in, which happens to be the number of elements in + the array, instead of the number of bytes necessary for the + elements. Thanks to William R Volz <WRVO@chevrontexaco.com> for + reporting this. + + * THANKS: Added William Volz to the hall of fame. + +Thu Jan 24 18:31:49 2002 Steve Huston <shuston@riverace.com> + + * tests/Process_Manager_Test.cpp: Better diagnostics added. + +Thu Jan 24 15:14:52 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Lib_Find.cpp (ldfind): Restored previously removed Win32 + code and re-organized macros so we wouldn't upset CE builds. + +Thu Jan 24 14:53:38 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * bin/generate_doxygen.pl: + * etc/acexml.doxygen: Added the doxygen config file for XML + subdirectory. + + * Makefile: Added XML subdirectory into the lists to be compiled + and be included in the release. + + * XML/*: Merged in the XML parser code. + +Thu Jan 24 10:14:47 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/ace_wchar.h: Added the definition for ACE_TEXT_SearchPath. + + * ace/Lib_Find.cpp (ldfind): Fixed UNICODE and Fuzz builds + errors. Thanks to Johnny Willemsen <jwillemsen@remedy.nl> for + the fix. + +Wed Jan 23 16:48:54 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Lib_Find.h: + * ace/Lib_Find.cpp (ldfind): Change to use Win32 API SearchPath to + search for the target DLL and updated the document for ldfind in + header file. Thanks to Eugene Alterman + <Eugene.Alterman@bremer-inc.com> for submitting the patch. + +Wed Jan 23 14:01:32 2002 Ossama Othman <ossama@uci.edu> + + * ace/config-lynxos.h (ACE_LACKS_INET_ATON): + + LynxOS does not implement the inet_aton() function. + +Wed Jan 23 16:37:52 2002 Steve Huston <shuston@riverace.com> + + * ace/NT_Service.cpp (insert): If the CreateService call fails, + be sure to save the error value before making another Win32 call + that will smash it. Thanks to Kelly Hickel <kfh@mqsoftware.com> + for reporting this. + Also ACE-ified the source better. + + * examples/NT_Service/main.cpp: Added some ACE_ERROR output if + operations requested from the command line fail. + +Wed Jan 23 16:14:43 2002 Boris Kolpackov <bosk@ipmce.ru> + + * include/makeinclude/platform_sunos5_sunc++.GNU + + Added work around for famous Sun CC "pure virtual function called" + bug. Unfortunately this involves introduction of yet another #define. + See TAO/tao/ValueBase.h for more information. + +Tue Jan 22 21:27:25 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * ace/ace_dll.vcp: Add Frameork_Component.* to the builds. Thanks + to Venkita for pointing it out. + +Tue Jan 22 17:42:39 2002 Steve Huston <shuston@riverace.com> + + * ace/NT_Service.(h cpp): Added two new methods: + void capture_log_msg_attributes (void): Grabs a copy of the + calling thread's ACE_OS_Log_Msg_Attributes to facilitate + inheritance of the logging attributes in the service thread. + void inherit_log_msg_attributes (void): Called in a service + thread, inherits the main thread's logging attributes. + Modified the ACE_NT_SERVICE_RUN macro to capture the main + thread's logging attributes before starting the service control + dispatcher. Modified the ACE_NT_SERVICE_DEFINE macro to call + inherit_log_msg_attributes if the ACE_NT_Service object for + the service was set up before the thread started. + Fixes Bugzilla # 82. + + * examples/NT_Service/main.cpp: + * examples/NT_Service/ntsvc.cpp: Now writes a log file in the current + working directory which should have messages from both main and + service threads in it. + +Tue Jan 22 15:19:29 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/DLL.cpp: Changed to invoke this->open() in the + constructor. Thanks to Eugene Alterman + <Alterman@bremer-inc.com> for motivating this. + +Mon Jan 21 23:27:03 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.h: Reordered main redefinition macros so that it actually + passed wchar argv to main when UNICODE is defined. + +Mon Jan 21 10:01:34 2002 Frank Hunleth <fhunleth@cs.wustl.edu> + + * bin/auto_run_tests.lst: + Added MIOP unit tests. + +Mon Jan 21 03:00:14 2002 Ossama Othman <ossama@uci.edu> + + * ace/Framework_Component.cpp (register_component): + + Removed debugging statements that always printed text. + +Mon Jan 21 07:45:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * ace/Framework_Component.cpp: + Fixed fuzz error + +Mon Jan 21 00:13:42 2002 Christopher Kohlhoff <chris@kohlhoff.com> + + * ace/streams.h: + Workaround for Borland C++ 5.5.1 bug we have now just hit. + +Sun Jan 20 21:42:53 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * ace/Framework_Component.cpp: + * ace/Framework_Component_T.cpp: Fixed fuzz errors. + +2002-01-20 Oliver Kellogg <oliver.kellogg@sysde.eads.net> + + * bin/subst_env.pl: New script to ease the transition to the + TAO_ENV_ARG macros defined in TAO/tao/orbconf.h. + +Sun Jan 20 12:38:28 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * tests/Framework_Component_Test.dsp: New dsp file for the test. + * tests/tests.dsw: Added the above test to the workspace. + +Sun Jan 20 12:25:28 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * ace/Framework_Component.h: Removed the definition of the + default constructor (in ACE_UNIMPLEMENTED_FUNC definition). The + other private constructor with a default argument tends towards + a default constructor and VC++ signals a multiple definition + error. Not sure how g++ didnt signal this one. + + * ace/Framework_Component_T.h: #include'd Framework_Component.h + * ace/Framework_Component_T.cpp: Added a #ifndef around the file. + + * ace/ace_dll.dsp: + * ace/ace_lib.dsp: Added the Framwork_Component* files to the + project file. + +Sun Jan 20 10:40:28 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/Vector_Test.dsp: + * tests/tests.dsw: Added a new project for Vector_Test. + +Sun Jan 20 16:25:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * ace/Makefile.bor: + Added new Framework_Component + + * tests/Makefile.bor: + Added new Framework_Component_Test + +Sun Jan 20 00:00:30 2002 UTC Don Hinton <dhinton@ieee.org> + + * ace/Vector_T.cpp (dump): Commented out the contents of this + function for the time being. It assumed that the element + was an object with a dump() method, which won't always be + the case. + + * tests/Vector_Test.cpp: Changed a few data types from signed + to unsigned, size_t, to get rid of compiler warnings. + +Sat Jan 19 17:29:50 2002 Douglas C. Schmidt <schmidt@siesta.cs.wustl.edu> + + * ace/Vector_T.cpp (dump): Fixed problems with this method. Thanks + to Don Hinton for reporting this. + + * tests/Vector_Test.cpp: Changed the typedef of DATA from int to + size_t to avoid "type mismatch" compiler warnings. Thanks to + Don Hinton for reporting this. + +Sat Jan 19 22:30:26 UTC 2002 Don Hinton <dhinton@ieee.org> + + * apps/JAWS2/JAWS/Hash_Bucket_T.h: + * apps/JAWS2/JAWS/Assoc_Array.h: Added missing keyword "class" to + friend declarations. + + * ace/SString.cpp: Removed unneeded include of Service_Config.h. + + * ace/Service_Config.{h|cpp}: + * examples/Connection/misc/Connection_Handler.cpp: + + Removed static methods from ACE_Service_Config that delegated to + ACE_Reactor::instance(), and fixed a few instances where they were + still called. + + * ace/Object_Manager.cpp: + * ace/Service_Config.cpp: + * ace/Proactor.cpp: + * ace/Reactor.cpp: + + Added call to instance() methods that registers the singleton with + the new ACE_Framework_Repository so it can handle destruction, and + replaced explicit references to ACE_Reactor and ACE_Proactor with + calls to ACE_Framework_Repository. + + * ace/Framework_Component.{h|inl|cpp}: + * ace/Framework_Component_T.{h|inl|cpp}: + * ace/Makefile: + * tests/Framework_Component_Test.cpp: + * tests/Makefile: + * tests/run_test.lst: + + Added ACE_Framework_Repository to manage ACE_Framework_Component's, + e.g., singletons like ACE_Reactor or ACE_Proactor. It uses + External Polymorphism obviating any interface changes. The + components register themselves with repository in their instance + methods. This allows the Object_Manager and Service_Config to + manage these components without having to know about them a priori. + + This was needed to reduce footprint for applications like TAO that + don't need to use all the available components, e.g., ACE_Proactor. + +Sat Jan 19 10:23:39 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/Makefile (TEMPLATE_FILES): + * tests/Makefile.bor: + * tests/Makefile: + * tests/run_test.lst: + * ace/Vector_T.{h,i,cpp}: + * tests/Vector_Test.cpp: Added support for the new ACE_Vector to + the appropriate places. This vector behaves like the STL + vector. Thanks to Gonzo and Craig Ching for contributing this. + + * ace/Future_Set.h: Updated the documentation to explain how + various features work better. Thanks to Johnny Tucker for + contributing this. + +Fri Jan 18 19:09:41 2002 Steve Huston <shuston@riverace.com> + + * tests/run_test.lst: Re-enabled Process_Manager_Test for all but + Chorus and VxWorks. Could not find a reason it was disabled. + Also enabled Process_Mutex_Test on Win32. + +Fri Jan 18 16:44:29 2002 Steve Huston <shuston@riverace.com> + + * ace/ace.icc: Added Reactor_Notification_Strategy.(h cpp) sources. + + * ace/Reactor_Notification_Strategy.cpp: Fixed ACE_RCSID to refer to + Reactor_Notification_Strategy, not Strategies. + + * tests/Get_Opt_Test.icc: + * tests/INET_Addr_Test.icc: New Visual Age C++ configs for these tests. + + * tests/tests.icp: Added Get_Opt_Test.icc and INET_Addr_Test.icc + +Fri Jan 18 12:56:36 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/Log_Msg.cpp (init_backend): Added support for SysLog on platforms + that don't lack it. Thanks to Alexei I. Adamovich + <lexa@adam.botik.ru> for reporting this fix. + +Fri Jan 18 10:29:06 2002 Ossama Othman <ossama@uci.edu> + + * ace/Service_Config.h (process_file): + * ace/Service_Config.cpp (process_directives, process_file): + + Factored out code that processes a svc.conf file into the new + static process_file() method. This allows svc.conf files to be + explicitly parsed by the application at any arbitrary point in + time instead of Service Configuration initialization time alone. + +Thu Jan 17 18:51:09 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/Name_Space.cpp (operator =): Fixed a memory leak. Thanks + to Ian Cahoon <icahoon@cisco.com> for reporting this. + +Thu Jan 17 12:13:51 2002 Ossama Othman <ossama@uci.edu> + + * ace/SSL/SSL_Context.h (private_key, verify_private_key): + + Added new documentation. These methods should only be called + after a certificate has been set since key verification is + performed against the certificate, among other things. + +Thu Jan 17 13:11:27 2002 Chad Elliott <elliott_c@ociweb.com> + + * ace/Message_Queue.h: + * ace/Message_Queue.cpp: + * ace/Message_Queue_T.h: + * ace/Message_Queue_T.cpp: + + Provide the ability to enqueue based on the message deadline and + to dequeue based on priority, deadline and from the end. + +Wed Jan 16 11:24:52 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + * THANKS: + Updated to add Gerhard Voss <Gerhard_Voss@t-online.de>. + +Wed Jan 16 06:19:01 2002 Douglas C. Schmidt <schmidt@siesta.cs.wustl.edu> + + * ace/OS.i: Replaced "set" with "sset" in sigtimedwait() and sigwait() + to avoid STL symbol clashes with MSVC++ 6.0. Thanks to Shmulik + Regev <shmul@vself.com> for reporting this. + +Wed Jan 16 09:01:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * ace/Containers_T.{h,cpp}: + Added ACE_Fixed_Set_Const_Iterator to make it possible to + iterate through a const ACE_Fixed_Set instance + +Wed Jan 16 07:53:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * include/makeinclude/ace_flags.bor: + Added new flags for the new TAO ETCL orbsvcs library + +Tue Jan 15 17:24:53 2002 Steve Huston <shuston@riverace.com> + + * ace/SSL/SSL_Context.cpp (report_error()): Set ACE_OS::last_error() + to ERR_get_error() so the caller can get the error code later. + + * ace/SSL/SSL_SOCK_Connector.cpp: If the SSL handshake phase of a + connection attempt fails, close the underlying socket. + +Tue Jan 15 15:35:41 2002 Steve Huston <shuston@riverace.com> + + * ace/SOCK_Connector.(h cpp): + * ace/LSOCK_Connector.(h i cpp): + * ace/MEM_Connector.(h cpp): + * ace/SSL/SSL_SOCK_Connector.(h cpp): + Improved the Doxygenation and removed the protocol_family and + protocol arguments from the ctors and connect() methods. The + protocol family is always taken from the ACE_Addr remote_sap + argument since it can now be either PF_INET or PF_INET6 (for + SOCK_Connector objects) and should be PF_UNIX for LSOCKs. + It is pointless to allow the user to request something that + is impossible to do correctly. + +Tue Jan 15 10:52:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * include/makeinclude/ace_flags.bor: + Added new flags for the new TAO PortableGroup library + +Mon Jan 14 14:40:25 2002 Carlos O'Ryan <coryan@uci.edu> + + * bin/g++dep: + Fixed small problems in the dependency generation: + - The script did not properly handle files with '+' in their + names. + - In some cases the script generated escaped blanks, i.e. lines + containing a blank preceded by a backslash. Such blanks are + interpreted as part of a dependency name and break havoc with + the builds. + +Mon Jan 14 16:49:37 2002 Steve Huston <shuston@riverace.com> + + * ace/OS.h (ACE_STATIC_SVC_DEFINE): Corrected the documentation to + say the service-implementing class must be derived from + ACE_Service_Object, not ACE_Service_Config. + +Mon Jan 14 07:40:16 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/OS.i (mmap): There was a typo that prevented the ACE Memory Map + stuff from working properly on Win9x. Thanks to Edan Ayal + <edanayal@yahoo.com> for reporting this. + +Sun Jan 13 18:59:37 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/Memory_Pool.{h,cpp}: Added a new option that makes is possible + to control whether or not a fixed address will be used when + remapping a memory-mapped file. Thanks to Jonathan Reis + <reis@stentor.com> for this enhancement. + +Mon Jan 14 11:02:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * include/makeinclude/ace_flags.bor: + Added flags for new TAO FT_ORB library + +Sun Jan 13 08:20:05 2002 Craig Rodrigues <crodrigu@bbn.com> + + * ace/config-all.h: Make sure that ACE_bad_alloc + is defined as std::bad_alloc if + ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB macro is set. + Fixes gcc 3.0.3 compilation problem. + +Fri Jan 11 22:54:22 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * ace/config-lynxos.h: Added #define ACE_HAS_USING_KEYWORD to teh + file. The compiler supports namespaces. According to the new + rules at the doc_group, we dont use any compilers that dont + support namespaces. The above macro is itself a waste. But we + cannot remove it overnight as it has far reaching + consequences. Working around that for the timebeing. + +Thu Jan 10 18:35:41 2002 Steve Huston <shuston@riverace.com> + + * ace/Profile_Timer.h: Clarified that elapsed_time() calculates time + from start() to stop(). Improved Doxygenation. + +Thu Jan 10 16:53:41 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * examples/Service_Configurator/IPC-tests/server/server.dsp: The + Release version of the library needs to link in ADVAPI32.LIB as + GetUserName is used in ACE's inline code. + +Wed Jan 9 22:07:50 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/Logging_Strategy.cpp (fini): Make sure to cancel the + timer if interval_ and max_size_ are > 0. Thanks to Yaniv Ben + Ari <yanivb@bis.co.il> for reporting this. + +Wed Jan 9 11:38:58 2002 Ossama Othman <ossama@uci.edu> + + * tests/SSL/Makefile (LDLIBS): + + Added missing SSL and crypto libraries. Fixed link errors. + Thanks to Marvin Wolfthal <maw@weichi.com> for reporting the + error and suggesting a fix. + +Wed Jan 9 12:24:39 2002 Steve Huston <shuston@riverace.com> + + * ace/Process.cpp (spawn): Don't attempt ACE_OS::setpgid if + ACE_LACKS_SETPGID is defined. Thanks to Victor Terber + <vterber@csksoftware.de> for reporting this. + +Wed Jan 09 11:19:07 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.h: Updated the comment for ACE_CE_Bridge to indicate that + it's obsolete and will be removed in the future. + +Wed Jan 9 00:48:48 2002 Don Hinton <dhinton@gmx.net> + + * ace/Get_Opt.cpp: Make sure to cast away constness + before deleting an ACE_TCHAR array. Thanks to + Bala for reporting this. + +Tue Jan 8 17:29:33 2002 Steve Huston <shuston@riverace.com> + + * ace/SSL/SSL_SOCK_Connector.cpp: Don't try to dereference a 0 + timeout pointer. Gack. Thanks to Ossama for pointing this out. + +Tue Jan 8 15:51:06 2002 Don Hinton <dhinton@gmx.net> + + * ace/Get_Opt.cpp + * ace/Service_Config.cpp: + + Moved the template instantiations from Service_Config.cpp to + Get_Opt.cpp where they belong. + + * ace/Get_Opt.{h.cpp}: Replaced ACE_TString with ACE_TCHAR for + type of member variable ACE_Get_Opt_Long_Option since it + wasn't really needed and took up space. + +Tue Jan 8 10:43:48 2002 Ossama Othman <ossama@uci.edu> + + * ace/config-sunos5.5.h (ACE_LACKS_INET_ATON): + + Solaris does indeed implement the inet_aton() function, but it + is found in `libresolv.*'. It doesn't seem worth it to link + another library just for that function. Just use the emulation + in ACE that has been used for years. + +Tue Jan 8 11:31:22 2002 Steve Huston <shuston@riverace.com> + + * tests/Makefile: When doing realclean, use the DLL_Test and + Service_Config_DLL Makefiles to clean their files up. + +Tue Jan 8 08:36:33 2002 Steve Huston <shuston@riverace.com> + + * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept): + * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect): Corrected order + of operations checking EWOULDBLOCK, and fixed compile errors. + Thanks to Vlado Chovanec <Vladimir.CHOVANEC@asset.sk> for this fix. + +Mon Jan 7 19:55:39 2002 Steve Huston <shuston@riverace.com> + + * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept): + * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect): Added extra check + for SSL_accept/connect status failure to avoid looping on a bad + socket if the socket closes during handshake. Thanks to Vlado + Chovanec <Vladimir.CHOVANEC@asset.sk> for this fix. + + Also added timeout countdown support for SSL_SOCK_Connector, same + as in: Sun Jan 6 09:37:02 2002 Ossama Othman <ossama@uci.edu> + +Mon Jan 7 15:55:26 2002 Ossama Othman <ossama@uci.edu> + + * ace/INET_Addr.cpp (set): + + Pass a pointer to a "struct in_addr" to inet_aton(), i.e. the + proper type, instead of a forcibly casted ACE_UINT32. Also + updated existing code to use the in_addr::s_addr member instead + of the previous ACE_UINT32 variable. + +Mon Jan 7 15:13:09 2002 Mayur Deshpande <mayur@ics.uci.edu> + + * performance-tests/Misc/context_switch_time.cpp (main): + Since the Yield_test does seem to work on VxWorks now (see + ChangeLog below), the 'ifdefs' for bypassing VxWorks for the + Yield-Test have now been removed. + +Mon Jan 7 15:08:25 2002 Mayur Deshpande <mayur@ics.uci.edu> + + * ace/OS.i (thr_yield): + Changed ::taskDelay (1) to ::taskDelay (0) for VxWorks in + thr_yield (). The change with (0), now does seem to perform + the yield correctly as reflected in the Yield-Test of + context_switch_time. Thanks to Charlie Grames + <charlie.grames@windriver.com> for this tip. + +Mon Jan 7 15:16:10 2002 Ossama Othman <ossama@uci.edu> + + * ace/OS.h (INADDR_NONE): + + If the platform does not define this constant, then define it. + + * ace/OS.cpp (inet_aton): + + For some reason we were emulating inet_aton() on all platforms + using the now deprecated inet_addr() function. Use the native + inet_aton() function unless ACE_LACKS_INET_ATON is defined. + + Instead of performing a memcpy() of the IPv4 32-bit address into + the in_addr data structure, simply assign it to the s_addr field + of that data structure. It's not clear why we didn't do this in + the first place. + + (inet_ntoa): + + Fixed PSoS emulation of this method. The result is supposed to + be stored in a statically allocated string, not a dynamically + allocated one. Fixes a memory leak. Note that this change + makes the implementation non-reentrant. However, inet_ntoa() + was not designed to be reentrant to begin with. + + * ace/OS.i (inet_addr): + + On error, inet_addr() is supposed to return INADDR_NONE. + + The return value should be a 32 bit unsigned integer, not a + signed one. + + * ace/config-win32-common.h: + + MS Windows does not support the inet_aton() function. Define + ACE_LACKS_INET_ATON. + +Mon Jan 7 12:20:26 2002 Ossama Othman <ossama@uci.edu> + + * bin/auto_run_tests.lst: + + Added the MT_SSLIOP test to the regression test suite list. + +Sun Jan 6 21:19:10 2002 John Aughey <jha@cs.wustl.edu> + + * tests/run_test.lst: Uncommented out Conn_Test from daily builds. + +Sun Jan 6 21:09:10 2002 John Aughey <jha@cs.wustl.edu> + + * ace/INET_Addr.cpp: + * ace/INET_Addr.h: + + Reverted to January 1 version until I have time to put the + set_host_name() method in correctly. + +Sun Jan 6 20:01:10 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * tests/run_test.lst: Commented out Conn_Test from the daily + builds. This test seems to hang blocking build progress. Have + sent a mail to John Aughey on this. + +Sun Jan 6 09:37:02 2002 Ossama Othman <ossama@uci.edu> + + * ace/SSL/SSL_SOCK_Acceptor.cpp (accept, ssl_accept): + + Take into account the time to complete the basic TCP handshake + and the SSL handshake. Specifically, ACE_Countdown_Time is used + to reduce the timeout value after each IO operation + (e.g. accept(), SSL_accept()) used during SSL passive connection + establishment. [Bug 1110] + + Commented out debugging statements. + +Sat Jan 5 20:57:36 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * ace/Future.cpp (get): Added another ACE_const_cast in addition + to Doug's changes to fix compile errors. See below. + +Sat Jan 5 14:57:36 2002 Craig Rodrigues <crodrigu@bbn.com> + + * ace/OS_QoS.h: Fix comments, put in doxygen format. + +Sat Jan 5 08:59:41 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/Future.cpp (get): Added an ACE_const_cast() to silence certain + C++ compilers. Thanks to Venkita for reporting this. + +Fri Jan 5 15:17:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * ace/OS.{h,cpp}: + Added ACE_TSS_Emulation::release_key() method to release a + thread_key within the TSS_Emulation when a thread is stopped. + Added ACE_TSS_Emulation::tss_keys_used_ member to administrate which + thread_keys are used and which not. + Added ACE_TSS_Keys::is_set() method to test whether a specific + thread_key is marked as used. + Changed ACE_TSS_Emulation::next_key() method to return a thread_key + that is not used yet, this key is then marked as used at the same + time. + Changed ACE_OS::thr_keyfree() method to release the key in the + TSS_Emulation when ACE_HAS_TSS_EMULATION is defined. + + These changes fix the bugzilla bugs 223 and 657. The ACE_TSS_Emulation + now recycles keys that are released earlier. + +Fri Jan 4 19:59:03 2002 John Aughey <jha@cs.wustl.edu> + + * ace/INET_Addr.cpp: Fixed the new set_host_name method + +Fri Jan 4 18:59:27 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * ChangeLogs/ChangeLog-01b: Added a new file. Trimmed this file + to have entries only in 2002. + +Fri Jan 4 15:50:42 2002 Steve Huston <shuston@riverace.com> + + * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept): + * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect): + On ACE::select-reported timeout or failure, set status to return + a -1 to caller, not 0. Thanks to Vladimir Chovanec + <Vladimir.CHOVANEC@asset.sk> for reporting this and sending a fix. + +Fri Jan 4 08:31:49 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu> + + * tests/Thread_Manager_Test.cpp (test_task_record_keeping): Fixed + a typo in an expression on line 226. Thanks to Harvinder + Sawhney <harvindersawhney@yahoo.com> for reporting this. + +Fri Jan 4 05:51:22 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu> + + * ace/Future.{h,cpp}: Made the get() and ready() methods const. + Thanks to Ran Kohavi <ran@kashya.con> for reporting this. + +Fri Jan 4 15:06:31 2002 Steve Huston <shuston@riverace.com> + + * ace/String_Base.h (operator=): Add <CHAR> to ACE_String_Base + return type. Fixes compile error on IBM C/C++. + + * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept): + If SSL_get_error() returns SSL_ERROR_SYSCALL and it's EWOULDBLOCK, + don't blindly set both read and write handles for select. Check + if SSL is indicating SSL_want_write() and set the proper handle. + Also, don't ACE_ASSERT SSL_pending before return... if there's + an SSL handshake screw-up (like someone trying to break in) + just report the failure, don't abort/crash. + +Wed Jan 02 13:27:09 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/INET_Addr.h: + * ace/INET_Addr.cpp: Removed tabs and trailing whitespaces. + +Wed Jan 2 08:19:18 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu> + + * ace/FILE_Connector.h, + * ace/OS.h (ACE_OS): Clarified the weak semantics of O_APPEND + on Win32. Thanks to Eugene Alterman <eugalt@myrealbox.com> for + reporting this. + +Wed Jan 2 12:43:00 2002 John Aughey <jha@aughey.com> + + * ace/INET_Addr.h + * ace/INET_Addr.cpp : Added set_host_name method and moved + relevant code into this method. Changed signature of + set_address method to take a void pointer rather than a + char *. + +Wed Jan 2 12:30:01 2002 Chris Gill <cdgill@cs.wustl.edu> + + * ace/RB_Tree.i + * tests/RB_Tree_Test.cpp : added check for valid current node to + forward_i and reverse_i methods of iterator base class. Thanks to + Craig L. Ching <cching@mqsoftware.com> for reporting this! + +Wed Jan 2 08:19:18 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu> + + * tests/README: Clarify that run_test.pl should be used rather + the run_tests.sh. + + * tests/run_tests.bat: Clarify that run_test.pl should be used + on Win9x. Thanks to Edward A Thompson <ed4becky_2000@yahoo.com> + for prompting this. + +Wed Jan 2 07:37:01 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * ace/Handle_Set.h: + * ace/Handle_Set.cpp: Added a method reset_state () to the + ACE_Handle_Set_Iterator class. + +Tue Jan 2 11:39:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * ace/OS.i: + Added missing ACE_UNUSED_ARG in ACE_OS::event_timedwait + +Tue Jan 1 15:36:39 2002 Steve Huston <shuston@riverace.com> + + * include/makeinclude/platform_sunos5_sunc++.GNU: Added support + for the buildbits=64 make option. + +Tue Jan 1 20:05:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * ace/Name_Request_Reply.{h,cpp}: + Changed type of 3 constructor arguments from size_t to ACE_UINT32 + because the members in which these arguments are stored are also + of type ACE_UINT32 + + * ace/OS.i + In ACE_OS::umask method, changed the type in the ACE_OSCALL_RETURN + macro from int to mode_t because that is the return type of the + method + +Tue Jan 1 08:47:25 2002 Douglas C. Schmidt <schmidt@siesta.cs.wustl.edu> + + * ace/Thread.h: Clarify how the ACE_Thread_Adapter is deleted + when spawn() is called. Thanks to Preston Elder + <prez@srealm.net.au> for reporting this confusion. + +Tue Jan 1 14:09:26 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * examples/Map_Manager/test_hash_map_manager.cpp: + Made this example compiling when ACE_USES_WCHAR is set + + * Makefile.bor: + Added examples directory because all examples for which there are + BCB makefiles now build when ACE_USES_WCHAR is set + +Tue Jan 1 00:02:12 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/ace_dll.vcp: Added String_Base_Const.*. diff --git a/Makefile b/Makefile new file mode 100644 index 00000000000..83d5ffec178 --- /dev/null +++ b/Makefile @@ -0,0 +1,243 @@ +#---------------------------------------------------------------------------- +# $Id$ +# +# Top-level Makefile for the ACE toolkit libraries, tests, and +# applications +#---------------------------------------------------------------------------- + +#### Please see ACE-INSTALL.html for build information. + +#---------------------------------------------------------------------------- +# Local macros +#---------------------------------------------------------------------------- + +INFO = README \ + THANKS \ + VERSION + +DIRS = ace \ + netsvcs \ + tests \ + apps \ + examples \ + performance-tests \ + websvcs \ + XML + +CLONE = Makefile \ + ace \ + apps \ + bin \ + etc \ + examples \ + include \ + netsvcs \ + performance-tests \ + TAO \ + tests \ + websvcs \ + XML \ + PACE + +#---------------------------------------------------------------------------- +# Include macros and targets +#---------------------------------------------------------------------------- + +include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU +include $(ACE_ROOT)/include/makeinclude/macros.GNU +include $(ACE_ROOT)/include/makeinclude/rules.common.GNU +include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU +include $(ACE_ROOT)/include/makeinclude/rules.nolocal.GNU + +# Optional TAO targets. +-include $(ACE_ROOT)/TAO/tao_targets.GNU + +# For the following to work you need to compile the +# $(ACE_ROOT)/bin/clone.cpp file and install it in your ~/bin +# directory (or some place similar). + +.PHONY: clone +clone: + @for dir in $(CLONE); \ + do \ + (clone -s $(ACE_ROOT)/$$dir $$dir) \ + done + +CORE_DIRS= \ + ace \ + apps/gperf/src \ + TAO/tao \ + TAO/TAO_IDL \ + TAO/orbsvcs/orbsvcs \ + TAO/orbsvcs/Naming_Service + +.PHONY: Core +Core: + @for dir in $(CORE_DIRS); \ + do \ + $(MAKE) -C $$dir; \ + done + +#### NOTE: The following comments describe how to create kits. +#### It's intended for use by ACE+TAO developers and +#### maintainers only. ACE+TAO users need not be concerned +#### with creating kits, just unpacking and using them. + +#### The "release" and "releaseall" targets can be used to create +#### the ACE and ACE+TAO kits. By default, each creates a new beta +#### release. To create a new minor or major release, add REL=minor +#### or REL=major, respectively, to the make invocation. +#### +#### NOTE: the REL modifier applies to _both_ ACE and TAO in +#### releaseall! +#### +#### To create a new ACE minor release and a TAO beta release: +#### % make release REL=minor +#### % cd TAO +#### % make release +#### +#### There are some other release/releaseall options [default value is in +#### brackets]: +#### ACE_TAG [ACE version in your workspace]: prepend tag with -ta +#### TAO_TAG [TAO version in your workspace]: prepend tag with -tt +#### +#### NOTE: the ACE and TAO versions will be updated automatically +#### by release/releaseall. ACE_TAG and TAO_TAG can be overridden +#### to kit a particular version. +#### +#### APPLY_NEW_TAG [enabled]: set to null to disable +#### CHECK [disabled]: set to -n to see what make_release will do, but not +#### do it +#### GENERATE_MAN_PAGES [enabled]: set to null to disable regeneration of +#### the ACE_wrappers/man/ hierarchy +#### INSTALL_KIT [enabled]: set to null to not install in public +#### ftp/http directory on host ace +#### REL [beta]: set to minor or major, optionally, when applying a new tag +#### ZIP_FILES [enabled]: set to -z to disable creation of .zip files +#### +#### Example creation of ACE-only kit, version ACE-5_0_1 from current +#### workspace: +#### make release ACE_TAG='-ta ACE-5_0_1' APPLY_NEW_TAG= \ +#### GENERATE_MAN_PAGES= INSTALL_KIT= ZIP_FILES=-z + +CONTROLLED_FILES = \ + ACE-INSTALL.html \ + ACE-install.sh \ + ASNMP \ + AUTHORS \ + COPYING \ + ChangeLog* \ + FAQ \ + Makefile \ + Makefile.am \ + PACE \ + PROBLEM-REPORT-FORM \ + README \ + THANKS \ + TODO \ + VERSION \ + XML \ + acconfig.h \ + ace \ + ace-config.1.in \ + ace-config.in \ + aceConf.sh.in \ + apps \ + bin \ + configure.in \ + docs \ + etc \ + examples \ + include \ + m4 \ + netsvcs \ + os-patches \ + performance-tests \ + tests \ + websvcs + +RELEASE_FILES = \ + $(addprefix ACE_wrappers/,$(CONTROLLED_FILES)) \ + ACE_wrappers/ACE-INSTALL \ + ACE_wrappers/man + +ALL_RELEASE_FILES = \ + $(RELEASE_FILES) \ + ACE_wrappers/TAO + +RELEASE_LIB_FILES = \ + ACE_wrappers/VERSION \ + ACE_wrappers/PACE \ + ACE_wrappers/ace \ + ACE_wrappers/bin \ + ACE_wrappers/etc \ + ACE_wrappers/include \ + ACE_wrappers/m4 \ + ACE_wrappers/netsvcs \ + ACE_wrappers/tests \ + ACE_wrappers/websvcs + +# Files that should get tagged at release time but shouldn't be in any +# of the release file lists since they may already be in a directory +# found in those lists. +RELEASE_TAG_FILES = \ + html \ + man/Makefile.am \ + man/man3/Makefile.am + +.PHONY: release releasetao releaseall tag + +ACE_TAG_VALUE = $(shell head -1 VERSION | perl -ne \ + 's/.* ([\d\.]+),.*\n/$$1/; tr/./_/; print "ACE-$$_";') +ACE_TAG = -ta $(ACE_TAG_VALUE) +TAO_TAG_VALUE = $(shell head -1 TAO/VERSION | perl -ne \ + 's/.* ([\d\.]+),.*\n/$$1/; tr/./_/; print "TAO-$$_";') +TAO_TAG = -tt $(TAO_TAG_VALUE) +APPLY_NEW_TAG = tag +CHECK = +GENERATE_MAN_PAGES = -g +INSTALL_KIT = -i +REL = beta +ZIP_FILES = + +#### The release target creates the ACE (only) kit. +release: $(APPLY_NEW_TAG) + @$(ACE_ROOT)/bin/make_release -k ace $(ACE_TAG) \ + $(INSTALL_KIT) $(GENERATE_MAN_PAGES) $(ZIP_FILES) $(CHECK) + +tag: + @$(ACE_ROOT)/bin/make_release $(CHECK) -k ace -v $(REL) -u + +#### The following target is for use by the TAO Makefile. It should not +#### be called directly from the command line. The releasetao target +#### creates the combined ACE-TAO kit. +releasetao: + @$(ACE_ROOT)/bin/make_release -k ace+tao $(ACE_TAG) $(TAO_TAG) \ + $(INSTALL_KIT) $(GENERATE_MAN_PAGES) $(ZIP_FILES) $(CHECK) + +#### The releaseall target: +#### 1) Creates the ACE kit. +#### 2) Updates the TAO release (VERSION, ChangeLog, and tag) by +#### recursively invoking make release in the TAO directory. +#### The make then recursively invokes make releasetao in this +#### directory to create the combined ACE-TAO kit. +releaseall: $(APPLY_NEW_TAG) + @cd TAO && $(MAKE) -s release REL=$(REL) + +.PHONY: show_controlled_files show_release_files show_release_lib_files +.PHONY: show_release_tag_files + +show_controlled_files: + @echo $(CONTROLLED_FILES) + +show_release_files: + @echo $(RELEASE_FILES) + +show_release_lib_files: + @echo $(RELEASE_LIB_FILES) + +show_release_tag_files: + @echo $(RELEASE_TAG_FILES) + +ACE-INSTALL: ACE-INSTALL.html + @lynx -dump $< > $@ diff --git a/Makefile.bor b/Makefile.bor new file mode 100644 index 00000000000..93d607be51b --- /dev/null +++ b/Makefile.bor @@ -0,0 +1,13 @@ +# +# Makefile for building ACE +# + +DIRS = \ + ace \ + examples \ + performance-tests \ + tests \ + XML \ + XML\tests + +!include <$(ACE_ROOT)\include\makeinclude\recurse.bor> diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a new file mode 100644 index 00000000000..e369136d6c6 --- /dev/null +++ b/TAO/ChangeLogs/ChangeLog-02a @@ -0,0 +1,4579 @@ +Wed Jan 30 21:08:22 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net> + + * performance-tests/Latency/AMH/Single_Threaded/Roundtrip.cpp: + * performance-tests/Latency/AMH/Single_Threaded/Roundtrip.h: + * performance-tests/Latency/AMH/Single_Threaded/client.cpp: + * performance-tests/Latency/AMH/Single_Threaded/server.cpp: + * performance-tests/Latency/AMI/Roundtrip.cpp: + * performance-tests/Latency/AMI/Roundtrip.h: + * performance-tests/Latency/AMI/Roundtrip_Handler.cpp: + * performance-tests/Latency/AMI/Roundtrip_Handler.h: + * performance-tests/Latency/AMI/Server_Task.cpp: + * performance-tests/Latency/AMI/client.cpp: + * performance-tests/Latency/AMI/server.cpp: + * performance-tests/Latency/DII/Roundtrip.cpp: + * performance-tests/Latency/DII/Roundtrip.h: + * performance-tests/Latency/DII/client.cpp: + * performance-tests/Latency/DII/server.cpp: + * performance-tests/Latency/DSI/Roundtrip.cpp: + * performance-tests/Latency/DSI/Roundtrip.h: + * performance-tests/Latency/DSI/client.cpp: + * performance-tests/Latency/DSI/server.cpp: + * performance-tests/Latency/Deferred/Roundtrip.cpp: + * performance-tests/Latency/Deferred/Roundtrip.h: + * performance-tests/Latency/Deferred/client.cpp: + * performance-tests/Latency/Deferred/server.cpp: + * performance-tests/Latency/Single_Threaded/Roundtrip.cpp: + * performance-tests/Latency/Single_Threaded/Roundtrip.h: + * performance-tests/Latency/Single_Threaded/client.cpp: + * performance-tests/Latency/Single_Threaded/server.cpp: + * performance-tests/Latency/Thread_Per_Connection/Client_Task.cpp: + * performance-tests/Latency/Thread_Per_Connection/Client_Task.h: + * performance-tests/Latency/Thread_Per_Connection/Roundtrip.cpp: + * performance-tests/Latency/Thread_Per_Connection/Roundtrip.h: + * performance-tests/Latency/Thread_Per_Connection/client.cpp: + * performance-tests/Latency/Thread_Per_Connection/server.cpp: + * performance-tests/Latency/Thread_Pool/Client_Task.cpp: + * performance-tests/Latency/Thread_Pool/Client_Task.h: + * performance-tests/Latency/Thread_Pool/Roundtrip.cpp: + * performance-tests/Latency/Thread_Pool/Roundtrip.h: + * performance-tests/Latency/Thread_Pool/Worker_Thread.cpp: + * performance-tests/Latency/Thread_Pool/client.cpp: + * performance-tests/Latency/Thread_Pool/server.cpp: + + Conversion to the ACE_ENV_ macros. + Thanks to Johnny Willemsen for keeping an eye out. + +Wed Jan 30 13:38:03 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu> + + * orbsvcs/examples/Notify/Subscribe/Subscribe.h (RefCountServantBase): Fixed + a cut&paste error. Thanks to Gautam H Thaker + <gthaker@atl.lmco.com> for reporting this. + +Wed Jan 30 12:49:43 2002 Rob Ruff <rruff@scires.com> + Craig Rodrigues <crodrigu@bbn.com> + + * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Change ACE_ENV_ARG_DECL to + ACE_ENV_ARG_DECL_NOT_USED. + * orbsvcs/orbsvcs/AV/RTCP.cpp: Clean up debugging statements. + Change value of RTCP_SDES_NOTE to "An important note..." + * orbsvcs/orbsvcs/AV/RTCP_Channel.cpp (update_seq): + Only show debug statement if TAO_debug_level is > 0. + * orbsvcs/orbsvcs/AV/Transport.cpp: Default initialize timer_id_ to + -1. Only call cancel_timer() and handle_timeout() if timer_id_ is + not -1. + * orbsvcs/orbsvcs/AV/UDP.cpp: + (TAO_AV_UDP_Connector::connect) Set the control address. + (TAO_AV_UDP_Connection_Setup::setup) Treat the setup of sockets + which are used as acceptors or connectors differently. + +Wed Jan 30 16:07:33 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * orbsvcs/tests/Notify/Makefile.bor: + Added Structured_Filter and Structured_Multi_Filter + + * orbsvcs/tests/Notify/Structured_Filter/*.bor: + * orbsvcs/tests/Notify/Structured_Multi_Filter/*.bor: + Added BCB makefiles for these tests + +Wed Jan 30 11:19:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * tao/orbconf.h: + Added backwards compatible macro define for TAO_ENV_DECLARE_NEW_ENV + +Wed Jan 30 07:39:09 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net> + + * orbsvcs/tests/Notify/Structured_Filter/Notify_Push_Consumer.cpp + (Notify_Push_Consumer::push_structured_event): Corrected + usage of ACE_ENV_ARG_DECL_NOT_USED. + +Tue Jan 29 17:13:53 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * TAO_IDL/fe/idl.ll: + * TAO_IDL/fe/lex.yy.cpp: + + Changed the code in idl_store_pragma() to keep track of how + many characters it 'crunches' when removing whitespace + between the '#' and the 'pragma'. When the trailing '\n' of + the pragma string is removed later on, it must be shifted + this many places to the left, to skip over the characters + that have now become garbage. Thanks to Ossama Othman + <ossama@doc.ece.uci.edu> for providing the KCC preprocessor + output that showed the source of the problem. + +Tue Jan 29 23:31:14 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net> + + * rules.tao.GNU: + Removed the include_env switch, it now lives in + $ACE_ROOT/include/makeinclude/wrapper_macros.GNU. + +Tue Jan 29 21:34:20 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net> + + * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen_Test.cpp: + Oops, fixed bad comment in line 1. + +Tue Jan 29 21:09:12 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net> + + * tao/orbconf.h (TAO_ENV_*): + Deprecated. Instead, use the equivalent ACE_ENV_ macros from + $ACE_ROOT/ace/CORBA_macros.h. + + * (many source files): + Corresponding to the above change, changed all relevant source + files to use the new ACE_ENV_ARG macros instead of the TAO_ENV_ARG + macros. All exception related macros are now defined in + $ACE_ROOT/ace/CORBA_macros.h. + +Tue Jan 29 09:01:41 2002 Carlos O'Ryan <coryan@uci.edu> + + * TAO_IDL/be/be_interface.cpp: + Removed bogus semicolon. + + * TAO_IDL/be_include/be_visitor_interface/amh_ch.h: + Changed broken private inheritance to public inheritance. + +Tue Jan 29 08:57:31 2002 Carlos O'Ryan <coryan@uci.edu> + + * tao/Messaging.h: + Add TAO_Export to the function declaration, otherwise it is + invisible outside the library. + +Tue Jan 29 10:56:35 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * orbsvcs/tests/Notify/Structured_Filter/Notify_Push_Consumer.cpp: + + Added throw spec to push_structured_event() to match the + declaration. + +Tue Jan 29 09:38:35 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * tao/CORBALOC_Parser.cpp: + Fixed compile error. Added #include "tao/debug.h". + +Tue Jan 29 13:09:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * orbsvcs/tests/Notify/Makefile.bor: + Added Blocking, Discarding, MT_Dispatching, + Sequence_Multi_ETCL_Filter and Sequence_Multi_Filter directory + + * orbsvcs/tests/Notify/Blocking/*.bor: + Added new BCB makefiles to build this test + + * orbsvcs/tests/Notify/Discarding/*.bor: + Added new BCB makefiles to build this test + + * orbsvcs/tests/Notify/MT_Dispatching/*.bor: + Added new BCB makefiles to build this test + + * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/*.bor: + Added new BCB makefiles to build this test + + * orbsvcs/tests/Notify/Sequence_Multi_Filter/*.bor: + Added new BCB makefiles to build this test + +Tue Jan 29 11:20:36 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * orbsvcs/tests/Notify/performance-tests/Makefile.bor: + Added Throughput and Filter directory + + * orbsvcs/tests/Notify/performance-tests/Throughput/Makefile.bor: + Added new BCB makefile to build this test + + * orbsvcs/tests/Notify/performance-tests/Filter/*.bor: + Added new BCB makefiles to build these tests + + * orbsvcs/tests/Notify/Makefile.bor: + Added Ordering directory + + * orbsvcs/tests/Notify/Ordering/*.bor: + Added new BCB makefiles to build these tests + +Tue Jan 29 09:10:17 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * tao/Messaging.h: + Removed TAO_Export from namespace definitions because namespaces + aren't exported. BCB compiler complains about this + +Tue Jan 29 08:14:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * orbsvs/tests/Makefile.bor: + Added CosEvent and Notify directory + + * orbsvcs/tests/CosEvent/Makefile.bor: + Added new BCB makefile to build subdirectories + + * orbsvcs/tests/CosEvent/lib/Makefile.bor: + Added new BCB makefile to build this test library + + * orbsvcs/tests/CosEvent/Basic/Makefile.bor: + Added new BCB makefile to build these tests + + * orbsvcs/tests/Notify/Makefile.bor: + Added new BCB makefile to build subdirectories + + * orbsvcs/tests/Notify/lib/Makefile.bor: + Added new BCB makefile to build this test library + + * orbsvcs/tests/Notify/Basic/Makefile.bor: + Added new BCB makefile to build these tests + + * orbsvcs/tests/Notify/performance-tests/Makefile.bor: + Added new BCB makefile to build subdirectories + + * orbsvcs/tests/Notify/performance-tests/RedGreen/Makefile.bor: + Added new BCB makefile to build this test + +Mon Jan 28 20:21:44 2002 Ossama Othman <ossama@uci.edu> + + * tao/CORBALOC_Parser.cpp + (check_prefix, parse_string_count_helper): + + Only print debugging information if desired by the user. + + Improved efficiency of some code. + +Mon Jan 28 16:21:59 2002 Carlos O'Ryan <coryan@uci.edu> + + * tao/TAO.dsp: + * tao/TAO_Static.dsp: + Add Messaging.cpp to the project files. + +Mon Jan 28 16:11:36 2002 Carlos O'Ryan <coryan@uci.edu> + + * TAO_IDL/be/be_visitor_amh_pre_proc.cpp: + Add generation of the AMH_*ExceptionHolder valuetype. + + * TAO_IDL/be/be_visitor_operation/ami_exception_holder_operation_cs.cpp: + The IDL compiler simply calls the shared code in + TAO_Messaging_Helper::exception_holder_raise(). + Using a shared function for the raise methods in the + ExceptionHolders reduced the line count from 59Kloc to 56Kloc, + more importantly it saved 10% in the text segment for + param_testC.o. + + * TAO_IDL/be/be_visitor_valuetype/arglist.cpp: + Cleanup indentation. + Generate throw specs for valuetype operations. + + * TAO_IDL/be/be_visitor_valuetype/valuetype_ch.cpp: + Remove obsolete @@ comment. + + * tao/Messaging.h: + * tao/Messaging.cpp: + Add new Messaging.cpp, it should contain helper code used in the + implementation of CORBA Messaging. + + * tao/Makefile: + * tao/Makefile.am: + * tao/Makefile.bor: + Add new Messaging.cpp file and update deps. + + * tao/BiDir_GIOP/Makefile: + * tao/Domain/Makefile: + * tao/DynamicAny/Makefile: + * tao/DynamicInterface/Makefile: + * tao/IFR_Client/Makefile: + * tao/IORManipulation/Makefile: + * tao/IORTable/Makefile: + * tao/PortableServer/Makefile: + * tao/RTCORBA/Makefile: + * tao/RTPortableServer/Makefile: + * tao/SmartProxies/Makefile: + * tao/Strategies/Makefile: + * tao/TypeCodeFactory/Makefile: + Update deps. + +Mon Jan 28 13:40:38 2002 Carlos O'Ryan <coryan@uci.edu> + + * TAO_IDL/be/be_visitor_ami_pre_proc.cpp: + Fixed typo in UTL_ScopeActiveIterator change, the loop + termination should have been !si.is_done(), but I typed + si.is_done(). + +Mon Jan 28 12:40:15 2002 Ossama Othman <ossama@uci.edu> + + * performance-tests/Latency/AMH/Single_Threaded/client.dsp: + * performance-tests/Latency/AMH/Single_Threaded/server.dsp: + * performance-tests/Latency/AMI/client.dsp: + * performance-tests/Latency/AMI/server.dsp: + * performance-tests/Latency/DII/client.dsp: + * performance-tests/Latency/DII/server.dsp: + * performance-tests/Latency/DSI/client.dsp: + * performance-tests/Latency/DSI/server.dsp: + * performance-tests/Latency/Deferred/client.dsp: + * performance-tests/Latency/Deferred/server.dsp: + * performance-tests/Latency/Single_Threaded/client.dsp: + * performance-tests/Latency/Single_Threaded/server.dsp: + * performance-tests/Latency/Thread_Per_Connection/client.dsp: + * performance-tests/Latency/Thread_Per_Connection/server.dsp: + * performance-tests/Latency/Thread_Pool/client.dsp: + * performance-tests/Latency/Thread_Pool/server.dsp: + + Updated paths in accordance with the new "Latency" performance + test organization. + +Mon Jan 28 12:39:50 2002 Carlos O'Ryan <coryan@uci.edu> + + * orbsvcs/tests/EC_Throughput/README: + Fixed paths in the README file, some of the binaries were + completely wrong. Made a pass to improved documentation. + +Mon Jan 28 12:30:38 2002 Carlos O'Ryan <coryan@uci.edu> + + * TAO_IDL/be/be_visitor_operation/amh_sh.cpp: + The code was generating a TAO_ENV_ARG_PARAMETER in the header + file. BIG mistake, I should have generated a TAO_ENV_ARG_DECL. + +Mon Jan 28 14:25:04 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * orbsvcs/tests/Notify/Structured_Filter/Structured_Consumer.dsp: + * orbsvcs/tests/Notify/Structured_Filter/Structured_Supplier.dsp: + * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Consumer.dsp: + * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Supplier.dsp: + + Removed these files and added them below, renamed uniquely so they + could be inserted into the workspace containing all the Notify tests. + + * orbsvcs/tests/Notify/Structured_Filter/Structured_Filter_Consumer.dsp: + * orbsvcs/tests/Notify/Structured_Filter/Structured_Filter_Supplier.dsp: + * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Multi_Filter_Consumer.dsp: + * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Multi_Filter_Supplier.dsp: + + Added these files as renamings of the ones removed above. + + * orbsvcs/tests/Notify/Structured_Filter/Structured_Filter.dsw: + * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Multi_Filter.dsw: + + Changed the names of the included projects to reflect the + changes above. + + * orbsvcs/tests/Notify/Structured_Filter/Notify_Push_Consumer.cpp: + + Changed the way a signed 64-bit integer is handled in a case + statement. + + * orbsvcs/tests/Notify/Basic/AdminProperties_Test.cpp: + * orbsvcs/tests/Notify/Basic/AdminProperties_Test.dsp: + * orbsvcs/tests/Notify/Basic/AdminProperties_Test.h: + * orbsvcs/tests/Notify/Basic/ConnectDisconnect.cpp: + * orbsvcs/tests/Notify/Basic/ConnectDisconnect.h: + * orbsvcs/tests/Notify/Basic/Events_Test.cpp: + * orbsvcs/tests/Notify/Basic/Events_Test.h: + * orbsvcs/tests/Notify/Basic/IdAssignment.cpp: + * orbsvcs/tests/Notify/Basic/IdAssignment.dsp: + * orbsvcs/tests/Notify/Basic/IdAssignment.h: + * orbsvcs/tests/Notify/Basic/LifeCycleTest.cpp: + * orbsvcs/tests/Notify/Basic/LifeCycleTest.dsp: + * orbsvcs/tests/Notify/Basic/LifeCycleTest.h: + * orbsvcs/tests/Notify/Basic/Simple.cpp: + * orbsvcs/tests/Notify/Basic/Simple.h: + * orbsvcs/tests/Notify/Basic/Updates.cpp: + * orbsvcs/tests/Notify/Basic/Updates.h: + * orbsvcs/tests/Notify/MT_Dispatching/Structured_Consumer.cpp: + * orbsvcs/tests/Notify/MT_Dispatching/Structured_Supplier.cpp: + * orbsvcs/tests/Notify/lib/Notify_PushConsumer.cpp: + * orbsvcs/tests/Notify/lib/Notify_PushSupplier.cpp: + * orbsvcs/tests/Notify/lib/Notify_SequencePushConsumer.cpp: + * orbsvcs/tests/Notify/lib/Notify_SequencePushSupplier.cpp: + * orbsvcs/tests/Notify/lib/Notify_StructuredPushConsumer.cpp: + * orbsvcs/tests/Notify/lib/Notify_StructuredPushSupplier.cpp: + * orbsvcs/tests/Notify/performance-tests/Filter/Sequence_Consumer.cpp: + * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen_Test.cpp: + * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen_Test.h: + * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.cpp: + * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.h: + + Cosmetic changes. + +Mon Jan 28 12:23:39 2002 Carlos O'Ryan <coryan@uci.edu> + + * TAO_IDL/be_include/be_visitor_argument/argument.h: + * TAO_IDL/be/be_visitor_argument/argument.cpp: + Add functionality to support fixed-direction arguments, i.e. the + visitor caller can override the actual direction of the + argument. This is used in AMH to make all the INOUT arguments + behave as IN arguments. + + * TAO_IDL/be/be_visitor_operation/amh_sh.cpp: + * TAO_IDL/be/be_visitor_operation/amh_ss.cpp: + Use the set_fixed_direction() functionality in the + be_visitor_args visitors to generate correct code for the INOUT + arguments in an AMH function. + + * TAO_IDL/be_include/be_visitor_operation/amh_ss.h: + Removed extra argument in the generate_shared_section() helper, + the argument is no longer needed. + + + * TAO_IDL/be/be_visitor_amh_pre_proc.cpp: + Fixed problem in UTL_ScopeActiveIterator, a bogus si.next() was + left in the for()-loop body. + +Mon Jan 28 12:15:43 2002 Ossama Othman <ossama@uci.edu> + + * tests/OBV/Forward/server.dsp: + + Corrected TAO_IDL compiler path in "Debug" configuration + dependencies. + +Mon Jan 28 11:50:27 2002 Ossama Othman <ossama@uci.edu> + + * performance-tests/Latency/AMH/Single_Threaded/run_test.pl: + * performance-tests/Latency/AMI/run_test.pl: + * performance-tests/Latency/DII/run_test.pl: + * performance-tests/Latency/Deferred/run_test.pl: + * performance-tests/Latency/Single_Threaded/run_test.pl: + * performance-tests/Latency/Thread_Per_Connection/run_test.pl: + * performance-tests/Latency/Thread_Pool/run_test.pl: + + Corrected Perl include path. Thanks to Carlos for pointing out + the problem. + +Mon Jan 28 11:38:22 2002 Carlos O'Ryan <coryan@uci.edu> + + * TAO_IDL/be/be_visitor_operation/amh_sh.cpp: + * TAO_IDL/be/be_visitor_operation/amh_ss.cpp: + * TAO_IDL/be_include/be_visitor_operation/amh_sh.h: + * TAO_IDL/be_include/be_visitor_operation/amh_ss.h: + Another iteration in the AMH support. This time we make sure + that only IN and INOUT arguments are generated in the AMH + skeletons, but I believe that INOUT arguments are not generated + correctly. + +Mon Jan 28 11:17:40 2002 Carlos O'Ryan <coryan@uci.edu> + + * TAO_IDL/be/be_visitor_amh_pre_proc.cpp: + * TAO_IDL/be/be_visitor_ami_pre_proc.cpp: + Removed last instances of head-allocated + UTL_ScopeActiveIterator, hopefully this will stop the madness + and people will cut&paste the "Right Thing"[tm] from now on. + +Mon Jan 28 10:50:40 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * orbsvcs/Notify/Notify_Constraint_Visitors.cpp: + + Removed some lines of unreachable code. + +Mon Jan 28 10:39:26 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * orbsvcs/tests/Application_Test/ifr_dii_client.cpp: + + Changed the name of a local variable to avoid a warning, + on SunOS Forte, of a possible hiding of a class member + variable. + +Mon Jan 28 08:39:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * performance-tests/Makefile.bor: + Updated BCB makefile with changes in Latency tests + +Sun Jan 27 14:35:32 2002 Ossama Othman <ossama@uci.edu> + + * tao/Pluggable.cpp (make_mprofile): + + Fixed support for parsing URL style IORs with multiple addrs in + them. [Bug 1130] + +Sun Jan 27 13:22:11 2002 Ossama Othman <ossama@uci.edu> + + * performance-tests/README: + * performance-tests/Latency/README: + + Updated in accordance with the new "Latency" performance test + organization. + +Sun Jan 27 12:51:02 2002 Ossama Othman <ossama@uci.edu> + + * performance-tests/Makefile (DIRS): + + Updated in accordance with the new "Latency" performance + test organization. + + * performance-tests/Latency/Makefile (DIRS): + * performance-tests/Latency/Makefile.bor (DIRS): + * performance-tests/Latency/AMH/Makefile (DIRS): + * performance-tests/Latency/AMH/Makefile.bor (DIRS): + + Makefiles for the newly reorganized "Latency" performance + tests. + +Sun Jan 27 12:02:37 2002 Frank Hunleth <fhunleth@cs.wustl.edu> + + * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.cpp: + Added missing explicit template instantiation. + +Sun Jan 27 15:04:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * Makefile.bor: + Added the XML library + +Sun Jan 27 00:52:49 2002 Ossama Othman <ossama@uci.edu> + + * tests/ORT/ORT_test_IORInterceptor.cpp: + * tests/ORT/client.cpp: + * tests/ORT/server.cpp: + + Minor code review. Nothing major. Just style issues. + +Sat Jan 26 23:09:56 2002 Ossama Othman <ossama@uci.edu> + + * tao/ORB.h: + * tao/ORB.cpp (id, register_initial_reference): + + The CORBA specification recently added these methods to the + CORBA::ORB interface. Implemented them. + + * tao/ORB_Core.cpp: + + Moved template instantiations from `ORB.cpp' to this file. They + aren't used in the former. + + * tao/Object_Ref_Table.h: + * tao/Object_Ref_Table.cpp: + + Synchronize access to the underlying hash map by instantiating + the template(s) with a TAO_SYNCH_MUTEX instead of an + ACE_Null_Mutex. Multiple threads may potentially attempt to + register an object reference concurrently. + + * tao/ClientRequestInfo_i.cpp (get_service_context_i): + + Corrected exception minor code (26 instead of incorrect 23). + +Sat Jan 26 22:53:04 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net> + + * examples/Callback_Quoter/Notifier_i.cpp: + * tao/Asynch_Invocation.cpp: + * tao/corbafwd.h: + * tao/PortableServer/poa_macros.h: + Removed dependence on tao/try_macros.h. + + * tao/orbconf.h: Added back special comment line for Doxygen. + +Sat Jan 26 13:44:39 2002 Ossama Othman <ossama@uci.edu> + + * docs/releasenotes/TODO.html: + + Updated Bugzilla URL. + +Sat Jan 26 20:10:04 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net> + + * tao/orbconf.h (TAO_ENV_ARG_DEFN): Removed. + +Sat Jan 26 20:10:04 2002 Oliver Kellogg <oliver.kellogg@sysde.eads.net> + + * tests/ORT/ORT_test_IORInterceptor_ORBInitializer.cpp + (ORT_test_IORInterceptor_ORBInitializer::post_init): + Removed TAO_ENV_ARG_DEFN and corrected usage of + TAO_ENV_ARG_PARAMETER. + +Fri Jan 25 19:05:24 2002 Ossama Othman <ossama@uci.edu> + + * tests/OBV/Forward/server.dsp: + + Added missing IDL custom build step for the "Release" + configuration. + +Fri Jan 25 20:14:19 2002 Frank Hunleth <fhunleth@cs.wustl.edu> + + * tao/PortableServer/Makefile: + + Added missing PortableGroup_Hooks. + +Fri Jan 25 14:25:11 2002 Mayur Deshpande <mayur@ics.uci.edu> + + * performance-tests/AMH_Single_Threaded_Latency/Roundtrip.h: + * performance-tests/AMH_Single_Threaded_Latency/Roundtrip.cpp: + Changed TAO_ENV_SINGLE_ARG_DECL to TAO_ENV_ARG_DECL. I had + copied the code as is from the Single_threaded_Latency test and + since for AMH_skeletons we add an extra rh paramater, the 'void + shutdown (void)' method now had an argument (comapred to none + before). This was causing a problem on builds that used + emulated exceptions. + +Fri Jan 25 14:10:48 2002 Ossama Othman <ossama@uci.edu> + + * orbsvcs/orbsvcs/AV/RTCP.cpp (handle_stop): + + Removed unreachable statement. + +Fri Jan 25 13:26:40 2002 Ossama Othman <ossama@uci.edu> + + * tests/OBV/Any/AnyS_impl.cpp (magic): + + Removed unsed global variable. + +Fri Jan 25 11:34:35 2002 Carlos O'Ryan <coryan@uci.edu> + + * TAO_IDL/ast/ast_operation.cpp: + * TAO_IDL/be/be_generator.cpp: + * TAO_IDL/be/be_operation.cpp: + * TAO_IDL/be/be_scope.cpp: + * TAO_IDL/be/be_structure.cpp: + * TAO_IDL/be/be_union.cpp: + * TAO_IDL/be/be_valuetype.cpp: + * TAO_IDL/be/be_visitor_amh_pre_proc.cpp: + * TAO_IDL/be/be_visitor_scope.cpp: + * TAO_IDL/be/be_visitor_interface/amh_sh.cpp: + * TAO_IDL/be/be_visitor_operation/operation.cpp: + * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: + * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: + * TAO_IDL/be/be_visitor_operation/remote_proxy_impl_cs.cpp: + * TAO_IDL/be/be_visitor_root/root_sth.cpp: + * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp: + * TAO_IDL/be/be_visitor_union/union_cs.cpp: + * TAO_IDL/be/be_visitor_union_branch/cdr_op_ci.cpp: + * TAO_IDL/be/be_visitor_valuetype/marshal_ch.cpp: + * TAO_IDL/be/be_visitor_valuetype/marshal_cs.cpp: + * TAO_IDL/be/be_visitor_valuetype/valuetype.cpp: + For some mystifying reason many UTL_ScopeActiveIterator + instances were created on the heap, and immediately deleted (or + not, leaking memory.) + Funny enough the language has a perfectly usable feature for + that kind of behavior, it is called "automatic variables". + Also, several while()-loops were really for()-loops in disguise, + changed them to make the behavior more obvious. + +Fri Jan 25 10:40:03 2002 Ossama Othman <ossama@uci.edu> + + * orbsvcs/tests/Security/SecurityLevel1/client.dsp: + * orbsvcs/tests/Security/SecurityLevel1/server.dsp: + * orbsvcs/tests/Security/SecurityLevel1/SecurityLevel1.dsw: + + Added missing MSVC++ project and workspace files. + +Fri Jan 25 10:21:10 2002 Ossama Othman <ossama@uci.edu> + + * orbsvcs/tests/Security/Big_Request/client.dsp: + * orbsvcs/tests/Security/Big_Request/server.dsp: + * orbsvcs/tests/Security/Callback/client.dsp: + * orbsvcs/tests/Security/Callback/server.dsp: + * orbsvcs/tests/Security/MT_SSLIOP/client.dsp: + * orbsvcs/tests/Security/MT_SSLIOP/server.dsp: + * orbsvcs/tests/Security/Secure_Invocation/client.dsp: + * orbsvcs/tests/Security/Secure_Invocation/server.dsp: + + Corrected the "Release" configuration output filenames. + Binaries for "Release" builds belong in the `Release' directory, + by convention. + +Fri Jan 25 10:06:44 2002 Ossama Othman <ossama@uci.edu> + + * tests/OBV/Any/client.dsp: + + Added missing custom build step in the "Release" configuration + for the this test's IDL file. + +Fri Jan 25 11:24:35 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * TAO_IDL/be/be_array.cpp: + + Added base class constructor calls to class be_array + constructor. + + * TAO_IDL/be/be_visitor_array/array_cs.cpp: + + Cosmetic changes to source code. + + * TAO_IDL/fe/fe_declarator.cpp: + + Removed addition of arrays to AST at global scope. This seems to + be legacy code that there is no good reason for, and it was + causing problems when an array is declared, typedef'd, and + used as the element of another array at global scope. Anonymous + arrays and the corresponding typdef (if any) are still + added to the scope where they are declared. Thanks to Boris + Kolpackov <boris@upsa.kent.orc.ru> for reporting this bug. + + * TAO_IDL/fe/idl.yy: + * TAO_IDL/fe/y.tab.cpp: + * TAO_IDL/fe/y.tab.cpp.diff: + + Made change for sequences similar to change for arrays + above. + +Fri Jan 25 12:14:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * TAO/performance-tests/AMH_Single_Threaded_Latency/*.bor: + Added BCB makefiles + +Fri Jan 25 00:04:05 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * docs/tutorials/Quoter/RT_Event_Service/Makefile: + * docs/tutorials/Quoter/On_Demand_Activation/Makefile: + * docs/tutorials/Quoter/AMI/Makefile: + * docs/tutorials/Quoter/idl/Makefile: + Regenerated dependencies. + +Thu Jan 24 20:15:01 2002 Mayur Deshpande <mayur@ics.uci.edu> + + * TAO/performance-tests/AMH_Single_Threaded_Latency/AMH_Single_Threaded_Latency.dsw: + * TAO/performance-tests/AMH_Single_Threaded_Latency/client.dsp: + * TAO/performance-tests/AMH_Single_Threaded_Latency/server.dsp: + Workspace and projects for the AMH performance test. + +Thu Jan 24 18:51:21 2002 Mayur Deshpande <mayur@ics.uci.edu> + + * TAO/performance-tests/AMH_Single_Threaded_Latency: + * TAO/performance-tests/AMH_Single_Threaded_Latency/client.cpp: + * TAO/performance-tests/AMH_Single_Threaded_Latency/server.cpp: + * TAO/performance-tests/AMH_Single_Threaded_Latency/Roundtrip.h: + * TAO/performance-tests/AMH_Single_Threaded_Latency/Roundtrip.cpp: + * TAO/performance-tests/AMH_Single_Threaded_Latency/Makefile: + * TAO/performance-tests/AMH_Single_Threaded_Latency/run_test.pl: + * TAO/performance-tests/Makefile: + * TAO/performance-tests/Makefile.bor: + * TAO/performance-tests/README: + Performance test for AMH based on the Single_Threaded_Latency + test. + +Thu Jan 24 17:47:00 2002 Carlos O'Ryan <coryan@uci.edu> + + * TAO_IDL/be/be_decl.cpp: + Fixed the implementation of compute_flat_name() there was + nothing flat about the named computed: it used the regular full + name for the containing scope, so for nested modules the results + were wrong. + + * TAO_IDL/be/be_interface.cpp: + Fixed warning about unused argument and made several cosmetic + fixes. + + * TAO_IDL/be/be_visitor_argument.cpp: + * TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp: + Cosmetic fixes. + + * TAO_IDL/be/be_visitor_interface/amh_sh.cpp: + * TAO_IDL/be/be_visitor_interface/amh_ss.cpp: + Implement code to process attributes as well as operations. + + * TAO_IDL/be/be_visitor_interface/amh_ss.cpp: + Fixed implementation of the _downcast() method on the AMH + skeleton. + + * TAO_IDL/be_include/be_visitor_interface/amh_ss.h: + * TAO_IDL/be/be_visitor_interface/amh_ss.cpp: + * TAO_IDL/be_include/be_visitor_interface/interface_ss.h: + * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: + Generate correct code for AMH-copy constructors. I used the new + class-based traverse_inheritance_graph(). + + * TAO_IDL/be_include/be_visitor_operation/amh_sh.h: + * TAO_IDL/be_include/be_visitor_operation/amh_ss.h: + * TAO_IDL/be/be_visitor_operation/amh_sh.cpp: + * TAO_IDL/be/be_visitor_operation/amh_ss.cpp: + Add support for attributes, in both cases I used a technique + slightly different from what the rest of the IDL compiler does. + Normally a fake be_operation node is generated on the fly + (usually heap allocated) and used to generate the code "as if" + it was a real operation. However, the code to generate + operations has to be modified to treat these nodes with some + magic, because the attribute name (on GIOP) are different than + the actual name of the attribute. + My approach was to re-factor the common code to generate + attributes and operations in these new fangled things called + "subroutines". The attribute code calls the subroutines to + generate the desired code. I did have to generate a temporary + node (of type be_argument), but I was able to stack-allocate it + and use it in a very localized section of the code. + Also, none of the operation code has to understand about + attributes. + + +Thu Jan 24 15:48:01 2002 Mayur Deshpande <mayur@ics.uci.edu> + + * tao/TAO_Static.dsp: + * tao/PortableServer/TAO_PortableServer_Static.dsp: + + Fixed worspaces regarding moving of the AMH_Response_Handler + files. + +Thu Jan 24 11:48:01 2002 Carlos O'Ryan <coryan@uci.edu> + + * TAO_IDL/be/be_interface.cpp: + * TAO_IDL/be_include/be_interface.h: + Use the new class-based version traverse_inheritance_graph() to + generate the operation table. The name of the derived class is + computed by the caller and pass through the Worker class down to + the code generation routines. This was useful to factor out the + common code between the AMH-class (where the base class name is + not obtainable via a simple method call) and the regular + (non-AMH) skeletons. + Also use stack-allocate iterators, it makes no sense in the + world to allocate an object from the head only to delete when we + return from the function! + Change some while() loops to for() loops because the latter + document the intent better. + +Thu Jan 24 12:35:17 2002 Boris Kolpackov <bosk@ipmce.ru> + + * TAO_IDL/be_include/be_visitor_typecode/typecode_defn.cpp: + * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp: + + Fixed a bug in typecode generation for multidimension arrays. + Implemented first part of new recursive IDL handling machanism. + Refactored some repetitive code. + +Thu Jan 24 00:08:22 2002 Ossama Othman <ossama@uci.edu> + + * tao/PortableServer/IORInfo.cpp: + * tao/PortableServer/ObjectReferenceTemplate.cpp: + * tao/PortableServer/ObjectReferenceTemplate.h: + * tao/PortableServer/POA.cpp: + * tao/PortableServer/POA.h: + * tao/PortableServer/POA.i: + + Code review! Left a whole slew of "@@" comments regarding + disfunctional code, exception safety, memory leaks, etc. + +Wed Jan 23 22:00:16 2002 Ossama Othman <ossama@uci.edu> + + * tao/PortableServer/IORInfo.cpp + (manager_id, state, current_factory): + + Fixed code that couldn't possibly work since an exception was + always thrown. Where's the testing?! + +Wed Jan 23 16:40:21 2002 Jaiganesh Balasubramanian <jai@kelvar.ece.uci.edu> + + * tao/ORB.cpp: + Made changes to get the correct port value to search the NameService + when the ORBDefaultInitRef option is used. + The changes are made thanks to Andrew L. Shwaika<als@solvo.ru> + +Wed Jan 23 14:16:35 2002 Carlos O'Ryan <coryan@uci.edu> + + * TAO_IDL/include/ast_argument.h: + Changed values of the AST_Argument::Direction enum. The new + values allow me to specify sets of directions as bit masks. + + * TAO_IDL/include/ast_operation.h: + * TAO_IDL/ast/ast_operation.cpp: + Add new method to count the arguments in a given set of + directions, for example, all (dir_IN|dir_OUT) arguments. + + * TAO_IDL/be/be_visitor_interface/amh_sh.cpp: + The AMH_<Interface> class was deriving from the non-AMH + classes. + Remove stale comments. + Use UTL_ScopeActiveIterator on the stack, there is no sense in + declaring objects with a well-defined scope on the heap! Fixed + a memory leak in the process. + + * TAO_IDL/be/be_visitor_operation/amh_sh.cpp: + After we generate the ResponseHandler argument in AMH-operations + we need to insert a comma, but only if there are IN or INOUT + arguments. The code used to check for any kind of argument. + + * TAO_IDL/be/be_visitor_operation/amh_ss.cpp: + Generate the code for the _tao_in variable (the TAO_InputCDR) in + the skeleton. + Fix indentation in the skeleton. + Insert the arguments for the upcall. Unfortunately we are + generating *all* the arguments, not only the IN and INOUT ones. + + * TAO_IDL/be/be_visitor_operation/ami_cs.cpp: + * TAO_IDL/be/be_visitor_operation/operation.cpp: + Eliminate duplicate code using the + count_arguments_with_direction routine. + + +Wed Jan 23 13:09:40 2002 Ossama Othman <ossama@uci.edu> + + * tao/PortableServer/AMH_Response_Handler.h: + + Fixed a "fuzz" error related to a filename mismatch. + + Declare the class attributes after the class methods to more + closely match ACE/TAO programming styles and common C++ + conventions. Darn Java programmers! + + Wrapped overly long lines in class documentation. + +Wed Jan 23 12:06:37 2002 Mayur Deshpande <mayur@ics.uci.edu> + + * TAO/tao/Makefile: + * TAO/tao/Makefile.bor: + * TAO/tao/PortableServer/Makefile: + * TAO/tao/PortableServer/Makefile.bor: + + Updated the files with the changes of moving the + AMH_Response_Handler files from `tao' and `tao/PortableServer'. + +Wed Jan 23 12:03:01 2002 Carlos O'Ryan <coryan@uci.edu> + + * TAO_IDL/be/be_interface.cpp: + * TAO_IDL/be/be_visitor_interface/amh_ss.cpp: + * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: + * TAO_IDL/be_include/be_visitor_interface/amh_ss.h: + * TAO_IDL/be_include/be_visitor_interface/interface_ss.h: + + Fixed generate of the _downcast() method for AMH skeletons. I + used the new worker class to traverse inheritance graphs to do + the job. + +Wed Jan 23 12:00:35 2002 Ossama Othman <ossama@uci.edu> + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.cpp + (authentication_state): + + Do not check if the credential is valid. Once the credential + has been authenticated it remains authenticated. Users should + call the is_valid() method if they wish to determine whether or + not the credential has expired. + +Wed Jan 23 11:10:33 2002 Mayur Deshpande <mayur@ics.uci.edu> + + * tao/PortableServer/AMH_Response_Handler.h: + * tao/PortableServer/TAO_PortableServer.dsp: + * tao/TAO.dsp: + + Changed workspaces and header file to compile/link on Windows + platforms. + +Wed Jan 23 10:47:30 2002 Carlos O'Ryan <coryan@uci.edu> + + * TAO_IDL/be_include/be_interface.h: + * TAO_IDL/be/be_interface.cpp: + Add a new traverse_inheritance_graph() method that takes a class + (with a virtual method) instead of a naked pointer to function. + I will need the new version to pass state into one of the + traversals. + +Wed Jan 23 09:55:33 2002 Mayur Deshpande <mayur@ics.uci.edu> + + * TAO_IDL/be/be_visitor_interface/amh_rh_ss.cpp: + + Changed code to generate the right signatures for constructors + and destructors, similar to the way it is done in + be_visitor_operation/amh_rh_ss.cpp. + +Wed Jan 23 09:33:31 2002 Ossama Othman <ossama@uci.edu> + + * tests/ORT/ORT_test_IORInterceptor.cpp + (establish_components, components_established): + + Fixed unused argument warnings. + +Wed Jan 23 09:30:19 2002 Ossama Othman <ossama@uci.edu> + + * tao/Current.pidl: + + Removed backslashes in comments. Some compilers correctly flag + them as potential problems through warnings. + +Wed Jan 23 09:25:31 2002 Ossama Othman <ossama@uci.edu> + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.h: + + Corrected some documentation. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.cpp (is_valid): + + Implemented this method. + +Wed Jan 23 11:05:04 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * examples/Quoter/Quoter.idl: + + Added leading underscore to an operation parameter + named 'object' because it clashes with the IDL + keyword 'Object'. + +Wed Jan 23 16:14:43 2002 Boris Kolpackov <bosk@ipmce.ru> + + * TAO_IDL/be/be_visitor_operation/rettype_vardecl_cs.cpp: + + Fixed mistake in initialization of _tao_retval for valuetypes. + + * tests/OBV/Any/Makefile: + * tests/OBV/Forward/Makefile: + + Fixed few stupid mistakes that made some time ago. + + * tao/ValueBase.h + + Added work around for famous Sun CC "pure virtual function called" + bug. Unfortunately this involves introduction of yet another #define. + See include/makeinclude/platform_sunos5_sunc++.GNU for more information. + +Wed Jan 23 06:43:27 Chad Elliott <elliott_c@ociweb.com> + + * orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushSupplier_i.cpp: + + Added missing include files. + +Wed Jan 23 06:24:33 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.cpp (create): + * orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.h: Fixed warnings in + Borland builds. + +Tue Jan 22 17:21:15 2002 Carlos O'Ryan <coryan@uci.edu> + + * TAO_IDL/be/be_visitor_operation/operation.cpp: + * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: + * TAO_IDL/be/be_visitor_operation/remote_proxy_impl_cs.cpp: + * TAO_IDL/be/be_visitor_operation/rettype_marshal_ss.cpp: + * TAO_IDL/be/be_visitor_operation/rettype_post_invoke_cs.cpp: + * TAO_IDL/be/be_visitor_operation/rettype_pre_invoke_cs.cpp: + * TAO_IDL/be/be_visitor_operation/rettype_return_cs.cpp: + * TAO_IDL/be/be_visitor_operation/rettype_vardecl_cs.cpp: + * TAO_IDL/be/be_visitor_operation/thru_poa_collocated_ss.cpp: + * TAO_IDL/be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp: + Made stupid mistake in last round of changes: I did not test on + a platform without exceptions enabled. + This revealed a number of inconsistencies in the generated code, + as well as very complicated logic to process arrays, sequences + and interfaces as return arguments. + Unfortunately, we were generating '_tao_safe_retval' for some + types, and using _tao_retval for a dummy variable. In yet other + places we generated such a variable but not used it, yuck. + I have made the generated code mode consistent, this allows the + re-use in the last change, but it forces us to always call the + return variable (if any) '_tao_retval'. + +Tue Jan 22 19:14:22 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * TAO_IDL/be/be_interface.cpp: + * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: + * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: + + Shortened some line lengths that were over 80 characters + in both source code and generated code. plus other + cosmetic changes. + +Tue Jan 22 15:32:10 2002 Carlos O'Ryan <coryan@uci.edu> + + * TAO_IDL/be_include/be_visitor_operation/operation.h: + * TAO_IDL/be/be_visitor_operation/operation.cpp: + * TAO_IDL/be/be_visitor_factory.cpp: + * TAO_IDL/be/be_visitor_operation/amh_rh_ss.cpp: + * TAO_IDL/be/be_visitor_operation/amh_ss.cpp: + * TAO_IDL/be/be_visitor_operation/ami_cs.cpp: + * TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp: + * TAO_IDL/be/be_visitor_operation/direct_collocated_ss.cpp: + * TAO_IDL/be/be_visitor_operation/direct_proxy_impl_ss.cpp: + * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: + * TAO_IDL/be/be_visitor_operation/remote_proxy_impl_cs.cpp: + * TAO_IDL/be/be_visitor_operation/thru_poa_collocated_ss.cpp: + * TAO_IDL/be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp: + * TAO_IDL/be_include/be_visitor_operation/ami_cs.h: + * TAO_IDL/be_include/be_visitor_operation/ami_handler_reply_stub_operation_cs.h: + * TAO_IDL/be_include/be_visitor_operation/direct_collocated_ss.h: + * TAO_IDL/be_include/be_visitor_operation/direct_proxy_impl_ss.h: + * TAO_IDL/be_include/be_visitor_operation/remote_proxy_impl_cs.h: + * TAO_IDL/be_include/be_visitor_operation/thru_poa_collocated_ss.h: + * TAO_IDL/be_include/be_visitor_operation/thru_poa_proxy_impl_ss.h: + I found multiple copies of the following routines: + gen_raise_exception(): generate the code to raise exceptions + using either 'throw', 'ACE_THROW' or 'ACE_THROW_RETURN'. + gen_check_interceptor_exception(): generate the code to check + for exceptions (in interceptors) using either + 'TAO_INTERCEPTOR_CHECK or 'TAO_INTERCEPTOR_CHECK_RETURN_RETURN'. + gen_check_exception(): generate the code to check + for exceptions (in interceptors) using either 'ACE_CHECK' or + 'ACE_CHECK_RETURN'. + Interestingly the implementations of these routines were all + slightly different, for example, some did not deal with non-void + routines properly, while others did not deal with the + use_raw_throw() IDL-compiler option. + The changes were motivated by some Borland warnings, another + lesson on why we need to keep looking at warnings carefully, and + not simply shut them up using some hack. + +Tue Jan 22 13:36:05 2002 Ossama Othman <ossama@uci.edu> + + * tao/ClientRequestInfo_i.h (~TAO_ClientRequestInfo_i): + * tao/ClientRequestInfo_i.cpp (~TAO_ClientRequestInfo_i): + + Added a virtual destructor to silence G++ warnings. + +Tue Jan 22 13:19:52 2002 Ossama Othman <ossama@uci.edu> + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.cpp (operator==): + + Fixed problem where a const variable was passed as a non-const + parameter. + +Tue Jan 22 12:42:13 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * tests/OBV/Forward/Makefile: + * docs/tutorials/Quoter/Event_Service/Makefile: + * orbsvcs/tests/Security/Callback/Makefile: + * performance-tests/Cubit/TAO/MT_Cubit/Makefile: + * performance-tests/Cubit/TAO/IDL_Cubit/Makefile: + Regenerated dependencies. + +Tue Jan 22 12:25:31 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * tests/Strategies/simple_test.idl: + + Changed a 'Boolean' to 'boolean'. + +Tue Jan 22 11:25:13 2002 Frank Hunleth <fhunleth@cs.wustl.edu> + + * orbsvcs/orbsvcs/PortableGroup.dsp: + Fixed MSVC warning. + +Tue Jan 22 11:22:33 2002 Frank Hunleth <fhunleth@cs.wustl.edu> + + * orbsvcs/tests/Miop/McastHello/Makefile: + Added check to skip compilation under minimum CORBA + builds. + +Tue Jan 22 11:08:02 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * tests/NestedUpcall/Simple/test.idl: + + Changed several operation parameter types from 'UShort' + to 'unsigned short'. + +Tue Jan 22 10:46:41 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * TAO_IDL/util/utl_idlist.cpp (copy): + + Fixed method to propagate the value of the 'escaped_' + member of each contained instance of class Identifier. + + * TAO_IDL/util/utl_scope.cpp: + + When checking for case difference errors, modified logic + to pass the check if one or the other (but not both) of + the identifiers is escaped. + + * orbsvcs/orbsvcs/LifeCycleService.idl: + + Added an escape to an operation parameter named 'object', + since it clashes with the IDL keyword 'Object'. + +Tue Jan 22 06:52:32 2002 Chad Elliott <elliott_c@ociweb.com> + + * orbsvcs/orbsvcs/Notify/Notify_Default_CO_Factory.cpp: + + Reverting the const_cast change from "Mon Jan 21 08:02:28 2002". + It was not necessary. Thanks to Christopher Kohlhoff + <chris@kohlhoff.com> and Johnny Willemsen <jwillemsen@remedy.nl> + for pointing this out. + +Mon Jan 21 17:37:47 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * orbsvcs/IFR_Service/InterfaceDef_i.cpp: + + Added checks for illegal oneway operation properties + (non-void return type, user exceptions, OUT or INOUT + parameters) that CORBA 2.6 says must cause BAD_PARAM + minor code 31 to be thrown. + +Mon Jan 21 18:03:11 2002 Mayur Deshpande <mayur@ics.uci.edu> + + * tao/TAO_AMH_Response_Handler.cpp + * tao/TAO_AMH_Response_Handler.h + * tao/PortableServer/AMH_Response_Handler.cpp + * tao/PortableServer/AMH_Response_Handler.h + + Removed TAO_AMH_Response_Handler.* files from ORB_CORE and added + them to tao/PortableServer, also renaming them to + AMH_Response_Handler. This was doen to reduce tao orb_core + foot-print. Other changes to the AMH_Response_Handler: + + - The RH methods are now thread-safe. + - Documentation of class, methods and members + - The 'once-only' semantics is now made more + explicit by using an enum to hold the various ststes. + - init_reply and send_reply method names changed with _tao_rh_ + prefix to reduce possibility of user defining similar methods in + IDL and creating a conflict. Thanks to Carlos for all the '@@' + comments regarding the above :-) + + * TAO_IDL/be/be_visitor_operation/amh_rh_sh.cpp + * TAO_IDL/be/be_visitor_operation/amh_rh_ss.cpp + + Changed code-generation to generate _tao_rh_init_reply () and + _tao_init_send_reply () as per changes above. + + * TAO_IDL/be/be_codegen.cpp (start_server_header): + Changed code generation to include the (tao) ResponseHandler + classes from the tao/PortableServer/ rather than from tao/ + +Mon Jan 21 17:15:18 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * TAO_IDL/include/utl_scope.h: + * TAO_IDL/util/utl_scope.cpp: + + Because things like 'CORBA::ULong' and 'CORBA::Float' + are added to the AST automatically, the IDL compiler + was wrongly accepting types like 'ULong' and "Float'. + This was fixed in lookup_by_name_local() and a new + method lookup_pseudo() was added to specialize the + cases 'Object' and 'TypeCode', where we want to find + a match. Thanks to Jerome Julius <julius@erols.com> for + sending in the example IDL file that uncovered this + problem. + +Mon Jan 21 20:59:09 GMT 2002 Boris Kolpackov <bosk@ipmce.ru> + + * tests/OBV/Any/Makefile: + + Fixed minor bug. + +Mon Jan 21 10:51:52 2002 Chad Elliott <elliott_c@ociweb.com> + + * orbsvcs/examples/Notify/Filter/Filter.dsp: + * orbsvcs/examples/Notify/Subscribe/Subscribe.dsp: + * orbsvcs/tests/Notify/Basic/AdminProperties_Test.dsp: + * orbsvcs/tests/Notify/Basic/ConnectDisconnect.dsp: + * orbsvcs/tests/Notify/Basic/Events_Test.dsp: + * orbsvcs/tests/Notify/Basic/IdAssignment.dsp: + * orbsvcs/tests/Notify/Basic/LifeCycleTest.dsp: + * orbsvcs/tests/Notify/Basic/Simple.dsp: + * orbsvcs/tests/Notify/Basic/Updates.dsp: + * orbsvcs/tests/Notify/Blocking/Structured_Consumer.dsp: + * orbsvcs/tests/Notify/Blocking/Structured_Supplier.dsp: + * orbsvcs/tests/Notify/Discarding/Sequence_Consumer.dsp: + * orbsvcs/tests/Notify/Discarding/Sequence_Supplier.dsp: + * orbsvcs/tests/Notify/Discarding/Structured_Consumer.dsp: + * orbsvcs/tests/Notify/Discarding/Structured_Supplier.dsp: + * orbsvcs/tests/Notify/MT_Dispatching/Structured_Consumer.dsp: + * orbsvcs/tests/Notify/MT_Dispatching/Structured_Supplier.dsp: + * orbsvcs/tests/Notify/Ordering/Sequence_Consumer.dsp: + * orbsvcs/tests/Notify/Ordering/Sequence_Supplier.dsp: + * orbsvcs/tests/Notify/Ordering/Structured_Consumer.dsp: + * orbsvcs/tests/Notify/Ordering/Structured_Supplier.dsp: + * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Sequence_Consumer.dsp: + * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Sequence_Supplier.dsp: + * orbsvcs/tests/Notify/Sequence_Multi_Filter/Sequence_Consumer.dsp: + * orbsvcs/tests/Notify/Sequence_Multi_Filter/Sequence_Supplier.dsp: + * orbsvcs/tests/Notify/Structured_Filter/Structured_Consumer.dsp: + * orbsvcs/tests/Notify/Structured_Filter/Structured_Supplier.dsp: + * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Consumer.dsp: + * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Supplier.dsp: + * orbsvcs/tests/Notify/lib/TAO_NotifyTests.dsp: + * orbsvcs/tests/Notify/performance-tests/Filter/Sequence_Consumer.dsp: + * orbsvcs/tests/Notify/performance-tests/Filter/Sequence_Supplier.dsp: + * orbsvcs/tests/Notify/performance-tests/Filter/Structured_Consumer.dsp: + * orbsvcs/tests/Notify/performance-tests/Filter/Structured_Supplier.dsp: + * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen.dsp: + * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.dsp: + + Added the ETCL directory to libpath. + +Mon Jan 21 10:42:41 2002 Chad Elliott <elliott_c@ociweb.com> + + * orbsvcs/Notify_Service/Makefile: + * orbsvcs/examples/Notify/Filter/Makefile: + * orbsvcs/examples/Notify/Subscribe/Makefile: + * orbsvcs/tests/Notify/Basic/Makefile: + * orbsvcs/tests/Notify/Blocking/Makefile: + * orbsvcs/tests/Notify/Discarding/Makefile: + * orbsvcs/tests/Notify/MT_Dispatching/Makefile: + * orbsvcs/tests/Notify/Ordering/Makefile: + * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Makefile: + * orbsvcs/tests/Notify/Sequence_Multi_Filter/Makefile: + * orbsvcs/tests/Notify/Structured_Filter/Makefile: + * orbsvcs/tests/Notify/Structured_Multi_Filter/Makefile: + * orbsvcs/tests/Notify/lib/Makefile: + * orbsvcs/tests/Notify/performance-tests/Filter/Makefile: + * orbsvcs/tests/Notify/performance-tests/RedGreen/Makefile: + * orbsvcs/tests/Notify/performance-tests/Throughput/Makefile: + + Reverse the order of the CosNotification and ETCL libs in order to + link properly with static libraries. + +Mon Jan 21 10:30:38 2002 Chad Elliott <elliott_c@ociweb.com> + + * orbsvcs/Notify_Service/Notify_Service.dsp: + * orbsvcs/orbsvcs/Fault_Tolerance.dsp: + + Added the ETCL directory to libpath. + +Mon Jan 21 08:02:28 2002 Chad Elliott <elliott_c@ociweb.com> + + * orbsvcs/orbsvcs/Notify/Notify_Default_CO_Factory.cpp: + + Added const cast's to appease the Borland compiler. + +Mon Jan 21 07:15:35 2002 Chad Elliott <elliott_c@ociweb.com> + + * orbsvcs/orbsvcs/Notify/Notify_Buffering_Strategy.h: + * orbsvcs/tests/Notify/Blocking/Notify_Structured_Push_Consumer.h: + * orbsvcs/tests/Notify/Blocking/Structured_Consumer.cpp: + * orbsvcs/tests/Notify/Blocking/Structured_Supplier.cpp: + * orbsvcs/tests/Notify/Discarding/Notify_Sequence_Push_Consumer.cpp: + * orbsvcs/tests/Notify/Discarding/Sequence_Supplier.cpp: + * orbsvcs/tests/Notify/Discarding/Structured_Supplier.cpp: + * orbsvcs/tests/Notify/Ordering/Notify_Sequence_Push_Consumer.cpp: + * orbsvcs/tests/Notify/Ordering/Notify_Structured_Push_Consumer.cpp: + * orbsvcs/tests/Notify/Ordering/Sequence_Supplier.cpp: + * orbsvcs/tests/Notify/Ordering/Structured_Supplier.cpp: + * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Notify_Sequence_Push_Consumer.cpp: + * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Sequence_Supplier.cpp: + * orbsvcs/tests/Notify/Sequence_Multi_Filter/Notify_Sequence_Push_Consumer.cpp: + + Fix build errors for Debian Minimum. Added a missing include of + "orbsvcs/TimeBaseC.h". + +Mon Jan 21 06:59:24 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.cpp: + Fixed compile error. Added #include "tao/debug.h". + +Mon Jan 21 04:35:14 2002 Ossama Othman <ossama@uci.edu> + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP.idl: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Vault.h: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Vault.cpp: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.h: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.inl: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.cpp: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ReceivedCredentials.h: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ReceivedCredentials.cpp: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.h: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.cpp: + + Removed all uses of the OpenSSL RSA data structure and related + functions in favor of the OpenSSL EVP_PKEY data structure and + functions. The latter is more generic, and automatically + handles multiple private key types. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.h: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.inl: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.cpp: + + New TAO_SSLIOP_EVP_PKEY_var class that provides CORBA-style + memory management of the OpenSSL "EVP_PKEY" key data structure. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.h: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.inl: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_EVP_PKEY.cpp: + + Removed these files. They have been superseded by the EVP_PKEY + files above. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_X509.inl (_duplicate): + + Do not attempt to increase the reference count if the X509 + pointer is zero. Fixes a segmentation fault. + + * orbsvcs/orbsvcs/Makefile.SSLIOP: + * orbsvcs/orbsvcs/SSLIOP.bor: + * orbsvcs/orbsvcs/SSLIOP.dsp: + + Added new SSLIOP_EVP_PKEY.* files and removed the deprecated + SSLIOP_RSA.* files. + +Mon Jan 21 02:12:34 2002 Ossama Othman <ossama@uci.edu> + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h + (retrieved_credentials): + + Changed the return type to be a Credentials object, thus making + the method act as advertised. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp + (ssliop_connect): + + Once a connection has been made and before it is cached, set the + quality-of-protection, establishment-of-trust and credentials + specific to the connection in the TAO_SSLIOP_Endpoint. They + must be taken into account when searching the transport cache + for suitable SSLIOP connections. + + (retrieve_credentials): + + Returned the retrieved credentials to the caller instead of + attempting to do too much in this method. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.h: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.cpp + (operator==, hash): + + Added these comparison methods for use with TAO's transport + caching mechanism. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.h: + + Added a SSLIOP_Credentials attribute, and accompanying + accessors. + + Removed unnecessary `tao/ORB.h' include. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.i (credentials): + + New "credentials_" member set/get accessor methods. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp + (is_equivalent, hash): + + Use the corresponding methods in the SSLIOP_Credentials class + when comparing/hashing two SSLIOP_Credentials objects. + +Mon Jan 21 01:05:37 2002 Ossama Othman <ossama@uci.edu> + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Vault.cpp + (TAO_SSLIOP_password_callback): + + Fixed static_cast from "void *" to "const char *". Such a cast + is invalid. Instead, static_cast to a "char *" and then assign + to a "const char *". + + (make_X509, make_RSA): + + Corrected misuse of ACE_OS::close() where ACE_OS::fclose() was + expected. + +Sun Jan 20 23:14:47 2002 Ossama Othman <ossama@uci.edu> + + * orbsvcs/orbsvcs/SSLIOP.idl: + + Added structures to be filled in with certificate and key + information. These will be used in conjunction with the + SecurityLevel2::PrincipalAuthenticator object, i.e passed in via + the authenticate() method. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp + (retrieve_credentials): + + Set the RSA private key for the current invocation if one was + set in the retrieved credentials. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_RSA.h: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_RSA.inl: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_RSA.cpp: + + New TAO_SSLIOP_RSA_var class that provides CORBA-style memory + management of the OpenSSL "RSA" key data structure. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.h: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.inl: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.cpp: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ReceivedCredentials.h: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ReceivedCredentials.cpp: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.h: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.cpp: + + The Credentials objects now hold a pointer to an OpenSSL "RSA" + key data structure. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Vault.h (make_X509, make_RSA): + + Added these methods to the TAO_SSLIOP_Vault class. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Vault.cpp (acquire_credentials): + + Completed initial implementation of this method. Support for + ASN.1 and PEM encoded certificates and RSA private keys is + available. + + (make_X509, make_RSA): + + New methods create OpenSSL X509 and RSA data structures, + respectively, based on authentication data supplied by the user. + + (TAO_SSLIOP_password_callback): + + Callback method passed to OpenSSL calls that require passwords + or passphrases to decrypt PEM files. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_X509.h: + + Include "ace/config-all.h" instead of "tao/corbafwd.h." The + former is all that is needed. + + * orbsvcs/orbsvcs/Makefile.SSLIOP: + * orbsvcs/orbsvcs/SSLIOP.bor: + * orbsvcs/orbsvcs/SSLIOP.dsp: + + Added new SSLIOP_RSA.* files to the appropriate file lists. + +Mon Jan 21 00:13:42 2002 Christopher Kohlhoff <chris@kohlhoff.com> + + * orbsvcs/Notify_Service/NT_Notify_Service.bor: + * orbsvcs/Notify_Service/Notify_Service.bor: + Added in ETCL library now required for static linking. + + * orbsvcs/orbsvcs/CosNotification.bor: + Added missing source files Notify_Extensions and + Notify_StructuredEvents. + + * orbsvcs/orbsvcs/Notify/Notify_Default_CO_Factory.cpp: + * orbsvcs/orbsvcs/Security/SecurityManager.cpp: + Added .in()s in places to fix Borland C++ compiler error about + ambiguous conversion. + +Sun Jan 20 17:38:01 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * TAO_IDL/ast/ast_exception.cpp: + * TAO_IDL/ast/ast_sequence.cpp: + * TAO_IDL/ast/ast_structure.cpp: + * TAO_IDL/ast/ast_union.cpp: + * TAO_IDL/be/be_valuetype.cpp: + + Added a check in be_valuetype::in_recursion() to catch + the case where a valuetype contains a valuetype that + is recursive. Also changed in_recursion in each of the + files above to create the scope visitor on the stack + instead of on the heap. Also removed narrowing of return + value from field->field_type() to AST_Type - that method + returns an AST_Type already. + +Sun Jan 20 16:33:39 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * orbsvcs/Notify_Service/Makefile: + + Added orbsvcs/orbsvcs/ETCL to library search path. + +Sun Jan 20 15:56:47 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * tests/OBV/Any/Any.dsw: + * tests/OBV/Any/client.dsp: + * tests/OBV/Any/server.dsp: + + Added some files to server.dsp. Also recreated client.dsp + and added it again to the workspace, since the original + project file wouldn't load. + +Sun Jan 20 09:44:12 2002 Frank Hunleth <fhunleth@cs.wustl.edu> + + * orbsvcs/orbsvcs/PortableGroup.dsp: + Added TAO_CosNaming.lib to link list for Win32 Release. + +Sat Jan 19 18:23:54 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.h: Fixed some more + errors with exception specifications. + +Sat Jan 19 23:57:13 GMT 2002 Boris Kolpackov <bosk@ipmce.ru> + + * tests/OBV/Any/Makefile: + Regenerated dependencies. + +Sat Jan 19 23:30:42 GMT 2002 Boris Kolpackov <bosk@ipmce.ru> + + * TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp: + Fixed some bugs in generated any extraction operator. + +Sat Jan 19 14:15:37 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.h: Not sure why this + was lying in workspace for a long time. Fixed a compile error + with g++. Exceptions were not specified in the signature and + hence the error. + +Sat Jan 19 10:58:53 2002 Ossama Othman <ossama@uci.edu> + + * tao/PortableServer/ServerRequestInfo.cpp (server_id, orb_id): + + Fixed code that didn't conform to the C++ mapping. The caller + owns the storage. Return a string using CORBA::string_dup(). + Don't just return a string with the const-ness casted away. + +Sat Jan 19 11:36:22 2002 Frank Hunleth <fhunleth@cs.wustl.edu> + + * orbsvcs/tests/Miop/McastHello/server.cpp (main): + Fixed a few warnings. Thanks to Venkita for catching them. + +Sat Jan 19 11:16:09 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * utils/nslist/nsdel.cpp: + Fixed (hopefully!!) compile errors. + +Sat Jan 19 09:22:54 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * orbsvcs/orbsvcs/AV/Transport.cpp: Just swapped a couple of + #includes. The dependency generation was getting messed up + somehow. + + * orbsvcs/orbsvcs/Makefile.av: Fixed the dependencies. + +Sat Jan 19 09:03:32 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * performance-tests/Cubit/TAO/MT_Cubit/Makefile: + Fixed Makefile error. + +Sat Jan 19 09:00:16 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * performance-tests/Cubit/TAO/IDL_Cubit/Makefile: + Fixed Makefile error. + +Sat Jan 19 08:52:55 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * tests/OBV/Forward/Test_impl.cpp: + tests/OBV/Forward/Test_impl.h: + Fixed compile errors. + +Sat Jan 19 08:41:01 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * tests/OBV/Factory/FactoryS_impl.cpp: + tests/OBV/Factory/FactoryS_impl.h: + Fixed compile errors. + +Sat Jan 19 08:24:10 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * tao/ValueBase.cpp: + Fixed compile error. Added "#include tao/debug.h". + +Fri Jan 18 21:34:33 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * orbsvcs/orbsvcs/Makefile*: Regenerated dependencies. + +Fri Jan 18 18:46:39 2002 Ossama Othman <ossama@uci.edu> + + * tao/PortableServer/ObjectReferenceTemplate.cpp: + + Removed duplicate template instantiations. They were already + defined in ObjectReferenceTemplateC.cpp. + +Fri Jan 18 18:25:55 2002 Carlos O'Ryan <coryan@uci.edu> + + * tao/TAO_AMH_Response_Handler.cpp: + Fixed inconsistency in _tao_out field name. + +Fri Jan 18 18:02:41 2002 Ossama Othman <ossama@uci.edu> + + * tao/IFR_Client/IFR_BaseC.cpp: + * tao/IFR_Client/IFR_BasicC.cpp: + * tao/IFR_Client/IFR_ComponentsC.cpp: + * tao/IFR_Client/IFR_ExtendedC.cpp: + + Updated with new Portable Interceptor updates. + +Fri Jan 18 16:42:18 2002 Ossama Othman <ossama@uci.edu> + + * tao/ClientInterceptorAdapter.h: + + No need to include corbafwd.h, ClientRequestInfo.h. Forward + declaring classes is sufficient. + + Added a new "TAO_ClientRequestInfo *" member. It is the cached + value of the object retrieved from TSS. + + * tao/ClientInterceptorAdapter.inl: + + Initialize the new "info_" member in the base member initializer + list. + + * tao/ClientInterceptorAdapter.cpp: + + Updated all interception point methods to accept pointers to the + new TAO_ClientRequestInfo_i pointer. + + * tao/ClientRequestInfo_i.h: + * tao/ClientRequestInfo_i.inl: + * tao/ClientRequestInfo_i.cpp: + + New files containing the new "underlying" implementation of the + PortableInterceptor::ClientRequestInfo interface. They + basically contain the implementation that was previously found + in TAO_ClientRequestInfo. This new class, i.e. + "TAO_ClientRequestInfo_i," does not inherit from any class. All + operation-specific ClientRequestInfo subclasses in the client + stubs now inherit from this class. This removes a lock + initialization from the critical path, and replaces it with a + TSS access. This should improve performance on the client side + significantly in both cases where interceptors were registered + and not registered with the ORB. [Bug 874] + + * tao/ClientRequestInfo.h: + + No need to include "StringSeqC.h." + + Added a new "TAO_ClientRequestInfo_Guard" class that is designed + to ensure the swapping of TAO_ClientRequestInfo_i pointers in a + TAO_ClientRequestInfo object is performed in an exception-safe + manner when interception points are being invoked. + + * tao/ClientRequestInfo.inl: + * tao/ClientRequestInfo.cpp: + + Moved implementation code to the new TAO_ClientRequestInfo_i + class. + + Added "TAO_ClientRequestInfo_Guard" class implementation. + + * tao/ORB_Core.h: + * tao/ORB_Core.cpp: + + Store a TAO_ClientRequestInfo object in the ORB_Core's TSS + resources. + + * tao/DomainC.cpp: + * tao/PolicyC.cpp: + * tao/PortableServer/ImplRepoC.cpp: + + Updated to use new TAO_ClientRequestInfo_i class. + + * TAO_IDL/be/be_codegen.cpp: + * TAO_IDL/be/be_visitor_operation/interceptors_cs.cpp: + + Updated generated code to use new TAO_ClientRequestInfo_i class. + [Bug 874] + +Fri Jan 18 17:29:36 2002 Carlos O'Ryan <coryan@uci.edu> + + * tao/TAO_Server_Request.h: + * tao/TAO_Server_Request.cpp: + * tao/TAO_AMH_Response_Handler.h: + * tao/TAO_AMH_Response_Handler.cpp: + The TAO_Server_Request class does not depend on + TAO_AMH_Response_Handler anymore, instead of forsing + ServerRequest to know about AMH and make it copy its state to + the AMH_Response_Handler we make AMH_Response_Handler a + friend. That way the AMH_Response_Handler can copy whatever + state it needs. + Add some comments for Mayur about this stuff. + + * TAO_IDL/be/be_visitor_amh_pre_proc.cpp: + Do not generate AMH_*ResponseHandler nodes for AMI nodes or + other implied-IDL nodes. + + * TAO_IDL/be/be_visitor_interface/amh_rh_sh.cpp: + * TAO_IDL/be/be_visitor_interface/amh_rh_ss.cpp: + Fixed inconsistencies in the generated name for the + TAO_AMH_<InterfaceName>ResponseHandler class. + Change the constructor of those generated classes to take the + TAO_ServerRequest parameter. + + + * TAO_IDL/be/be_visitor_interface/interface_sh.cpp: + * TAO_IDL/be/be_visitor_interface/amh_sh.cpp: + Fixed indentation problems. + + * TAO_IDL/be/be_visitor_operation/amh_rh_ss.cpp: + Fixed class name in operations (made it consistent with the + generated name in be_visitor_interface/amh_rh_*.cpp). + Fixed exception throwing code (it was hardcoded to use + ACE_THROW, but the IDL compiler should be able to generate raw + throws also). + + * TAO_IDL/be/be_visitor_operation/amh_sh.cpp: + Fixed indentation problem in the generated code. + Improved error messages in case of failure. + Set the visitor context state properly for the arglist visitor. + + * TAO_IDL/be/be_visitor_operation/amh_ss.cpp: + Use the right constructor for the TAO_AMH_*ResponseHandler + class. + + * TAO_IDL/be/be_visitor_operation/operation.cpp: + * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: + * TAO_IDL/be_include/be_visitor_operation/operation.h: + * TAO_IDL/be_include/be_visitor_operation/operation_ss.h: + Move several helper methods to the base class + (be_visitor_operation), because we need them in classes that do + not derive from be_visitor_operation_ss + + * TAO_IDL/ast/ast_decl.cpp: + Fixed small compilation warning. + +Fri Jan 18 15:55:59 2002 Ossama Othman <ossama@uci.edu> + + * tests/Portable_Interceptors/ForwardRequest/client.dsp: + * tests/Portable_Interceptors/ForwardRequest/server.dsp: + + Added missing TAO_IDL include flag and ValueType generation + flag. PortableInteceptor.pidl now has support for + ObjectReferenceTemplates, which requires ValueType support. + +Fri Jan 18 22:30:03 GMT 2002 Boris Kolpackov <bosk@ipmce.ru> + + * tests/OBV/Any/*: + * tests/OBV/Factory/Makefile: + * tests/OBV/Forward/Makefile: + * tests/OBV/README: + * tests/OBV/Makefile: + * tests/Makefile: + + Added OBV-and-Any test. Updated relevant Makefile's. + +Fri Jan 18 15:41:22 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * TAO_IDL/fe/idl.ll: + * TAO_IDL/fe/lex.yy.cpp (idl_store_pragma): + + Changed the string "id" to match for #pragma ID to + upper case. + + * TAO_IDL/ast/ast_decl.cpp: + + Changed check in version setting function to correspond to + the CORBA 2.5 change that now allows the version to be reset + if it is reset to the same value. + +Fri Jan 18 13:19:00 2002 Mayur Deshpande <mayur@ics.uci.edu> + + * TAO_IDL/be/be_visitor_operation/amh_rh_sh.cpp: + * TAO_IDL/be/be_visitor_operation/amh_rh_ss.cpp: + * tao/TAO_AMH_Response_handler.h: + * tao/TAO_AMH_Response_handler.cpp: + + Added code that now generates AMH-RH code for operation in + skeleton-source file. Changed 'tao_out' CDR stream in + TAO_AMH_Response_Handler so that the variable names of the + generated IDL code and that in the tao orb_core files match. + +Fri Jan 18 13:47:26 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * TAO_IDL/be_include/be_visitor_valuetype.h: + * TAO_IDL/be/be_visitor_valuetype.cpp: + + Removed duplicate file inclusions. + +Fri Jan 18 13:21:28 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * TAO_IDL/be/be_interface.cpp: + + Added patch sent in by Andy Olsen <olsona@uswest.net> that + limits the last component of the name of the temporary file + used by gperf to no more than 48 characters, when the + platform is QNX. + +Fri Jan 18 22:16:06 2002 Boris Kolpackov <bosk@ipmce.ru> + + * TAO_IDL/be_include/be_visitor_typecode/typecode_decl.h: + * TAO_IDL/be_include/be_visitor_typecode/typecode_defn.h: + * TAO_IDL/be_include/be_visitor_valuetype/any_op_ch.h: + * TAO_IDL/be_include/be_visitor_valuetype/any_op_cs.h: + * TAO_IDL/be_include/be_valuetype.h: + * TAO_IDL/be_include/be_visitor_valuetype.h: + * TAO_IDL/be/be_visitor_module/module.cpp: + * TAO_IDL/be/be_visitor_root/root.cpp: + * TAO_IDL/be/be_visitor_typecode/typecode_decl.cpp: + * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp: + * TAO_IDL/be/be_visitor_valuetype/any_op_ch.cpp: + * TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp: + * TAO_IDL/be/be_visitor_valuetype/valuetype_ch.cpp: + * TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp: + * TAO_IDL/be/be_visitor_factory.cpp: + * TAO_IDL/be/be_valuetype.cpp: + * TAO_IDL/be/be_visitor_valuetype.cpp: + * tao/Typecode.h: + * tao/Marshal.h: + * tao/Marshal.i: + * tao/Marshal.cpp: + * tao/Typecode.cpp: + * tao/ValueBase.cpp: + * tao/append.cpp: + * tao/skip.cpp: + Added Any and TypeCode support for valuetypes. + +Fri Jan 18 11:50:06 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * */Makefile: Regenerated dependencies. + +Fri Jan 18 09:32:57 2002 Carlos O'Ryan <coryan@uci.edu> + + * TAO_IDL/be_include/be_interface.h: + * TAO_IDL/be/be_interface.cpp: + Improved comments in generated code. + New gen_operation_table() helper method, it can generate an + operation table with a different class name (and class flat + name). This is useful for the AMH code generation. + Changed the related methods to take a flat_name argument. + + * TAO_IDL/be/be_visitor_interface/amh_sh.cpp: + Do not create a temporary "AMH_*" node, the visitors deal with + the original interface node directly. + Fixed generation of the _this() method to use the new + TAO_ENV_ARG_* macros. + + * TAO_IDL/be_include/be_visitor_interface/interface_ss.h: + * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: + * TAO_IDL/be_include/be_visitor_interface/amh_ss.h: + * TAO_IDL/be/be_visitor_interface/amh_ss.cpp: + Make the "flat_name" customizable in the be_visitor_interface_ss + vistor. This is used to generate an AMH-specific flat name and + take advantage of the new gen_operation_table() helper method in + be_interface. + + * TAO_IDL/be/be_visitor_operation/amh_sh.cpp: + Since there is no AMH_* node anymore then we need to add the + AMH_ prefix explicitly. + + * TAO_IDL/be/be_visitor_operation/amh_ss.cpp: + Removed traditional visitors, but I still need to add the new + ones. + +Fri Jan 18 09:23:42 2002 Frank Hunleth <fhunleth@cs.wustl.edu> + + * orbsvcs/orbsvcs/PortableGroup.dsp: + Fixed custom build for .idl files for Release builds. + +Fri Jan 18 06:54:48 2002 Chad Elliott <elliott_c@ociweb.com> + + * orbsvcs/orbsvcs/orbsvcs.dsw: + + Added ETCL to the dependencies for the Fault_Tolerance workspace. + +Thu Jan 17 23:31:13 2002 Ossama Othman <ossama@uci.edu> + + * tao/TAO.dsp: + * tao/TAO_Static.dsp: + + Added missing ObjectReferenceTemplateC.* files. + +Fri Jan 18 07:55:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * tao/Makefile.bor: + Added Policy_Validator, ObjectReferenceTemplateC + + * tao/PortableServer/Makefile.bor: + Removed Policy_Validator + + * tao/BiDir_GIOP/Makefile.bor: + Added BiDirPolicy_Validator + +Thu Jan 17 21:46:16 2002 Ossama Othman <ossama@uci.edu> + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.{h,cpp} + (retrieve_credentials): + + New method that extracts SSLIOP-specific credentials from the + SecurityLevel2::InvocationCredentialsPolicy via the ORB's policy + framework. Extracted credentials will be used when establishing + the underlying SSL connection. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp (ssliop_connect): + + Fixed a memory leak that occurred on error before an attempt to + establish a connection was made. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.h: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.cpp: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ReceivedCredentials.h: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ReceivedCredentials.cpp: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.h: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_TargetCredentials.cpp: + + Added downcast related methods that make it possible to downcast + to the TAO_SSLIOP-specific interfaces. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Credentials.inl (x509): + + New file that contains the new x509() accessor method. + +Thu Jan 17 22:02:38 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * orbsvcs/orbsvcs/Notify/Notify_Extensions.h: + * tao/BiDir_GIOP/BiDirPolicy_Validator.h: + Fixed Fuzz compile errors. + +Thu Jan 17 21:52:22 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * utils/nslist/nsdel.cpp: + Fixed compile errors on Win32 builds. + +Thu Jan 17 19:24:24 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + * tao/ObjectReferenceTemplateC.h: + Removed the if-defs around the ValueBase and ValueFactory + includes. The includes are needed in all cases and not just when + minimum_corba=1 + +Thu Jan 17 19:06:58 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + * tests/Portable_Interceptors/IORInterceptor/FOO_IORInterceptor.cpp: + Fixed unused parameter warnings. + +Thu Jan 17 18:59:14 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + * tao/PortableServer/IORInfo.cpp: + Fixes for the KCC statement-not-reachable warnings. + +Thu Jan 17 18:40:49 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + * tao/TAO_Internal.cpp: + Included the missing debug.h + +Thu Jan 17 17:40:55 2002 Mayur Deshpande <mayur@ics.uci.edu> + + * be_include/be_visitor_interface/amh_rh_sh.h: + * be_include/be_visitor_interface/amh_rh_ss.h: + * be_include/be_visitor_operation/amh_rh_sh.h: + * be_include/be_visitor_operation/amh_rh_ss.h: + * be/be_visitor_interface/amh_rh_sh.cpp: + * be/be_visitor_interface/amh_rh_ss.cpp: + * be/be_visitor_operation/amh_rh_sh.cpp: + * be/be_visitor_operation/amh_rh_ss.cpp: + + Most of the 'bugs' have been fixed with the AMH-RH generated + code now. The only known remaining 'to-do' is the generation of + the marshalling code for the RH-parametes in the skeleton source + file. + +Thu Jan 17 17:39:00 2002 Ossama Othman <ossama@uci.edu> + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.h: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.h: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.cpp: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.h: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp: + + Use the Security::QOP type instead of an integer to store the + desired quality-of-protection. The former is more descriptive. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.h (TAO_SSLIOP_Endpoint): + + Cache the quality-of-protection and establishment-of-trust + settings associated with the endpoint object. They are need + when determining if a given cached connection is suitable for an + invocation with a given set of security policies + (e.g. QOPPolicy). + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.i (qop, trust): + + Accessors methods for their cached counterparts. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp (is_equivalent, hash): + + Take into account the quality-of-protection and + establishment-of-trust settings when determining endpoint + equivalence and computing hashes. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp (ssliop_connect): + + Added support for the Security::SecQOPIntegrity + quality-of-protection. Integrity without confidentiality is + achieved by using the "eNULL" SSL cipher. Despite the fact that + encryption is disabled, a secure hash is still used to ensure + integrity. + + Cleaned up the code in this method. + +Thu Jan 17 17:34:10 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + * tao/ObjectReferenceTemplate.pidl: + * tao/PortableInterceptor.pidl: + Moved the ObjectReferenceTemplate stuff from + PortableInterceptor.pidl to the new + ObjectReferenceTemplate.pidl. This is needed to get the builds + straight for the minimum corba. By moving the ORT related part + to a separate pidl, we are making it (ORT) usable irrespective + of the usage of interceptors. + + * tao/PortableInterceptorC.i: + * tao/PortableInterceptorC.h: + * tao/PortableInterceptorC.cpp: + Regenerated and applied patches. + + * tao/ObjectReferenceTemplateC.h: + * tao/ObjectReferenceTemplateC.h: + * tao/ObjectReferenceTemplateC.h: + Generated and made modifications as needed. + + * tao/PortableServer/ObjectReferenceTemplate.cpp: + * tao/PortableServer/ObjectReferenceTemplate.h: + * tao/PortableServer/ObjectReferenceFactory.cpp: + * tao/PortableServer/ObjectReferenceFactory.h: + Since this part is out of the interceptor loop, removed the + if-defines checking for interceptors. Removed the include of + PortableInterceptorC.h and included ObjectReferenceTemplateC.h + instead. + + * tao/PortableServer/POA.cpp: + * tao/PortableServer/POA.h: + Included StringSeqC.h needed for minimum corba builds. + Moved wrongly placed #endif for TAO_HAS_MINIMUM_POA check. + + * tao/Makefile: + Added ObjectReferenceTemplateC to the list of ORB_CORE files. + +Thu Jan 17 16:02:50 2002 Carlos O'Ryan <coryan@uci.edu> + + * TAO_IDL/be_include/be_visitor_interface/amh_sh.h: + * TAO_IDL/be/be_visitor_interface/amh_sh.cpp: + * TAO_IDL/be_include/be_visitor_interface/amh_ss.h: + * TAO_IDL/be/be_visitor_interface/amh_ss.cpp: + Override visit_operation() and visit_attribute() to invoke the + AMH-specific visitors. + + * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: + Improve comments in generated code, instead of saying silly + things like "//constructor" (like I didn't know what a + constructor looks like). Instead we generate a pointer to where + the code is generated from. + Fixed indentation in the generated code also. + + * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: + Do not use CORBA::_tc_Object to get the CORBA::Object interface + repository ID, the string can as easily get hard-coded, is not + like the OMG changes that string every week. + + * TAO_IDL/be/be_visitor_operation/amh_sh.cpp: + The AMH-operations have their AMH_*ResponseHandler argument + generated, however we still need to double check the arglist + because some black magic is going on inside the AMH visitor for + interfaces that seems to create a special operation node. + + * TAO_IDL/be/be_visitor_operation/amh_ss.cpp: + Improved skeletons for AMH-operations. The skeleton is + starting to take shape, it creates the AMH_*ResponseHandler but + no marshaling or demarshaling code is present. + + * TAO_IDL/be/be_visitor_operation/arglist.cpp: + * TAO_IDL/be/be_visitor_operation/operation.cpp: + * TAO_IDL/be_include/be_visitor_operation/operation.h: + Factor out code to generate the TAO_ENV_ARG parameter to a + separate function, that makes it easier to reuse the arglist + visitors. + +Thu Jan 17 17:20:46 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * tao/TAO_Static.dsp: Added the files the Policy_Validator.* + * tao/BiDir_GIOP/TAO_BiDir_GIOP.dsp: Added the policy validator + class files. + +Thu Jan 17 17:09:46 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * tao/TAO.dsp (SOURCE): Added the files the Policy_Validator.* + * tao/PortableServer/*.dsp: Removed the file Policy_Validator.*. + +Thu Jan 17 17:04:25 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * tao/Acceptor_Impl.h: Removed the out_of_sockets_handler () + method as this was not used. Thanks to Andrew + <andrew@activesol.net> for pointing this out. + + * tao/ORB_Core.cpp: + * tao/ORB_Core.h: Removed the method parse_bidir_policy () method + and added a new method load_policy_validators (). + + * tao/orbconf.h: Added a new cached policy for BiDir connections. + + * tao/Policy_Validators.h: + * tao/Policy_Validators.cpp: Moved this class from PortableServer + library. This is very useful in TAO when policy validators from + other libraries needs to be added to the POA policy + validator. We now use this as a basis of a new policy validator + class in BiDir library. The BiDir library would add its policy + validator to the POA policy validator. + + * tao/BiDir_Adapter.h: Added a method load_policy_validators () to + add the policy validator. + + * tao/Makefile: Added the new files. + + * tao/BiDir_GIOP/BiDirPolicy_Validator.h: + * tao/BiDir_GIOP/BiDirPolicy_Validator.cpp: The new policy + validator for BiDir GIOP. + + * tao/BiDir_GIOP/BiDirGIOP.cpp: + * tao/BiDir_GIOP/BiDirGIOP.h: + * tao/BiDir_GIOP/BiDir_Policy_i.cpp: + * tao/BiDir_GIOP/BiDir_Policy_i.h: + * tao/BiDir_GIOP/Makefile: Changes to create and use the validator + properly. + + * tao/PortableServer/Default_Policy_Validator.cpp: + * tao/PortableServer/Default_Policy_Validator.h: Changes to use + the Policy_Validator in TAO. + + * tao/PortableServer/Makefile: Removed the Policy_Validator.* and + generated dependecies. + + * tao/PortableServer/Policy_Validator.h: + * tao/PortableServer/Policy_Validator.cpp: Moved to + $TAO_ROOT/tao. + + * tao/PortableServer/Object_Adapter.h + * tao/PortableServer/Object_Adapter.i + * tao/PortableServer/POA.h: + * tao/PortableServer/POA_Policy_Set.cpp: + * tao/PortableServer/POA_Policy_Set.h: + * tao/PortableServer/Policy_Validator.h: + * tao/RTPortableServer/RT_Policy_Validator.cpp: + * tao/RTPortableServer/RT_Policy_Validator.h: Changes to + accomodate the new policy_Validator class in $TAO_ROOT/tao. + +Thu Jan 17 12:22:32 2002 Ossama Othman <ossama@uci.edu> + + * tao/ORB_Core.cpp (init): + * tao/TAO_Internal.cpp (open_services): + + Moved the parsing code for the "-ORBDebug" and "-ORBDebugLevel" + options to TAO_Internal::open_services() so that Service_Objects + and ORBInitializers may use debugging output dependent on their + values. Note that this change does not affect other debugging + code in the ORB. It simply moves the option parsing code + earlier in the bootstrapping process. + +Thu Jan 17 12:04:41 2002 Ossama Othman <ossama@uci.edu> + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp (init): + + The certificate must be set before the private key since the + ACE_SSL_Context attempts to check the private key for + consistency. That check requires the certificate to be + available in the underlying SSL_CTX. + +Thu Jan 17 13:40:09 2002 Chad Elliott <elliott_c@ociweb.com> + + Added new features to the Notification Service. The following items + have been implemented: Sequence Push Consumers/Suppliers, Pacing + Interval, Maximum Batch Size, Deadline ordering policy, + Deadline, Priority and LIFO discarding policies. + + Tests were written by Chip Jones <jones_c@ociweb.com> and Pete + Maher <maher_p@ociweb.com>. + + * docs/releasenotes/index.html: + + Update the documentation to reflect the current state of the + Notification Service. + + * orbsvcs/Notify_Service/Makefile: + * orbsvcs/Notify_Service/Notify_Service.dsp: + * orbsvcs/examples/Notify/Filter/Filter.dsp: + * orbsvcs/examples/Notify/Filter/Makefile: + * orbsvcs/examples/Notify/Subscribe/Makefile: + * orbsvcs/examples/Notify/Subscribe/Subscribe.dsp: + * orbsvcs/orbsvcs/CosNotification.dsp: + * orbsvcs/orbsvcs/CosNotification_Static.dsp: + * orbsvcs/orbsvcs/Fault_Tolerance.dsp: + * orbsvcs/orbsvcs/Makefile.CosNotification: + * orbsvcs/orbsvcs/orbsvcs.dsw: + + Update Makefiles and project files to use the ETCL library. + + * orbsvcs/orbsvcs/Notify/Notify_AdminProperties.h: + * orbsvcs/orbsvcs/Notify/Notify_AdminProperties.i: + * orbsvcs/orbsvcs/Notify/Notify_AdminProperties.cpp: + * orbsvcs/orbsvcs/Notify/Notify_Buffering_Strategy.h: + * orbsvcs/orbsvcs/Notify/Notify_Buffering_Strategy.cpp: + * orbsvcs/orbsvcs/Notify/Notify_Command.h: + * orbsvcs/orbsvcs/Notify/Notify_Command.i: + * orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.cpp: + * orbsvcs/orbsvcs/Notify/Notify_Default_CO_Factory.cpp: + * orbsvcs/orbsvcs/Notify/Notify_Event.h: + * orbsvcs/orbsvcs/Notify/Notify_Event.cpp: + * orbsvcs/orbsvcs/Notify/Notify_EventChannel_i.h: + * orbsvcs/orbsvcs/Notify/Notify_EventChannel_i.cpp: + * orbsvcs/orbsvcs/Notify/Notify_Event_Manager.h: + * orbsvcs/orbsvcs/Notify/Notify_Event_Manager.cpp: + * orbsvcs/orbsvcs/Notify/Notify_Event_Processor.h: + * orbsvcs/orbsvcs/Notify/Notify_Event_Processor.cpp: + * orbsvcs/orbsvcs/Notify/Notify_Extensions.h: + * orbsvcs/orbsvcs/Notify/Notify_Extensions.cpp: + * orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.h: + * orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.cpp: + * orbsvcs/orbsvcs/Notify/Notify_FilterFactory_i.cpp: + * orbsvcs/orbsvcs/Notify/Notify_Filter_i.h: + * orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp: + * orbsvcs/orbsvcs/Notify/Notify_MT_Worker_Task.h: + * orbsvcs/orbsvcs/Notify/Notify_MT_Worker_Task.cpp: + * orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_T.h: + * orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_T.cpp: + * orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_T.h: + * orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_T.cpp: + * orbsvcs/orbsvcs/Notify/Notify_Proxy_T.h: + * orbsvcs/orbsvcs/Notify/Notify_Proxy_T.cpp: + * orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.h: + * orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.inl: + * orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.cpp: + * orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushConsumer_i.cpp: + * orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushSupplier_i.h: + * orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushSupplier_i.cpp: + * orbsvcs/orbsvcs/Notify/Notify_Signal_Property_T.h: + * orbsvcs/orbsvcs/Notify/Notify_Signal_Property_T.cpp: + * orbsvcs/orbsvcs/Notify/Notify_StructuredEvents.h: + * orbsvcs/orbsvcs/Notify/Notify_StructuredEvents.cpp: + * orbsvcs/orbsvcs/Notify/Notify_Worker_Task.h: + * orbsvcs/orbsvcs/Notify/Notify_Worker_Task.cpp: + + Modifications and additions for the new features. + + * orbsvcs/tests/Notify/Makefile: + * orbsvcs/tests/Notify/Basic/AdminProperties_Test.dsp: + * orbsvcs/tests/Notify/Basic/AdminProperties_Test.h: + * orbsvcs/tests/Notify/Basic/AdminProperties_Test.cpp: + * orbsvcs/tests/Notify/Basic/ConnectDisconnect.dsp: + * orbsvcs/tests/Notify/Basic/ConnectDisconnect.h: + * orbsvcs/tests/Notify/Basic/ConnectDisconnect.cpp: + * orbsvcs/tests/Notify/Basic/Events_Test.dsp: + * orbsvcs/tests/Notify/Basic/Events_Test.h: + * orbsvcs/tests/Notify/Basic/Events_Test.cpp: + * orbsvcs/tests/Notify/Basic/IdAssignment.dsp: + * orbsvcs/tests/Notify/Basic/LifeCycleTest.dsp: + * orbsvcs/tests/Notify/Basic/Makefile: + * orbsvcs/tests/Notify/Basic/Simple.dsp: + * orbsvcs/tests/Notify/Basic/Simple.h: + * orbsvcs/tests/Notify/Basic/Simple.cpp: + * orbsvcs/tests/Notify/Basic/Updates.dsp: + * orbsvcs/tests/Notify/Basic/Updates.h: + * orbsvcs/tests/Notify/Basic/Updates.cpp: + * orbsvcs/tests/Notify/lib/Makefile: + * orbsvcs/tests/Notify/lib/Notify_Test_Client.h: + * orbsvcs/tests/Notify/lib/Notify_Test_Client.cpp: + * orbsvcs/tests/Notify/lib/TAO_NotifyTests.dsp: + * orbsvcs/tests/Notify/performance-tests/RedGreen/Makefile: + * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen.dsp: + * orbsvcs/tests/Notify/performance-tests/Throughput/Makefile: + * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.dsp: + * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.h: + * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.cpp: + + Update the current Nofication tests to allow smooth integration of + the new tests. + + * orbsvcs/tests/Notify/Blocking/Blocking.dsw: + * orbsvcs/tests/Notify/Blocking/Makefile: + * orbsvcs/tests/Notify/Blocking/Notify_Structured_Push_Consumer.h: + * orbsvcs/tests/Notify/Blocking/Notify_Structured_Push_Consumer.cpp: + * orbsvcs/tests/Notify/Blocking/README: + * orbsvcs/tests/Notify/Blocking/Structured_Consumer.dsp: + * orbsvcs/tests/Notify/Blocking/Structured_Consumer.cpp: + * orbsvcs/tests/Notify/Blocking/Structured_Supplier.dsp: + * orbsvcs/tests/Notify/Blocking/Structured_Supplier.cpp: + * orbsvcs/tests/Notify/Blocking/common.h: + * orbsvcs/tests/Notify/Blocking/common.cpp: + * orbsvcs/tests/Notify/Blocking/go.idl: + * orbsvcs/tests/Notify/Blocking/notify.conf: + * orbsvcs/tests/Notify/Blocking/run_test.pl: + * orbsvcs/tests/Notify/Discarding/Discarding.dsw: + * orbsvcs/tests/Notify/Discarding/Makefile: + * orbsvcs/tests/Notify/Discarding/Notify_Sequence_Push_Consumer.h: + * orbsvcs/tests/Notify/Discarding/Notify_Sequence_Push_Consumer.cpp: + * orbsvcs/tests/Notify/Discarding/Notify_Structured_Push_Consumer.h: + * orbsvcs/tests/Notify/Discarding/Notify_Structured_Push_Consumer.cpp: + * orbsvcs/tests/Notify/Discarding/README: + * orbsvcs/tests/Notify/Discarding/Sequence_Consumer.dsp: + * orbsvcs/tests/Notify/Discarding/Sequence_Consumer.cpp: + * orbsvcs/tests/Notify/Discarding/Sequence_Supplier.dsp: + * orbsvcs/tests/Notify/Discarding/Sequence_Supplier.cpp: + * orbsvcs/tests/Notify/Discarding/Structured_Consumer.dsp: + * orbsvcs/tests/Notify/Discarding/Structured_Consumer.cpp: + * orbsvcs/tests/Notify/Discarding/Structured_Supplier.dsp: + * orbsvcs/tests/Notify/Discarding/Structured_Supplier.cpp: + * orbsvcs/tests/Notify/Discarding/common.h: + * orbsvcs/tests/Notify/Discarding/common.cpp: + * orbsvcs/tests/Notify/Discarding/go.idl: + * orbsvcs/tests/Notify/Discarding/notify.conf: + * orbsvcs/tests/Notify/Discarding/run_test.pl: + * orbsvcs/tests/Notify/MT_Dispatching/MT_Dispatching.dsw: + * orbsvcs/tests/Notify/MT_Dispatching/Makefile: + * orbsvcs/tests/Notify/MT_Dispatching/Notify_Structured_Push_Consumer.h: + * orbsvcs/tests/Notify/MT_Dispatching/Notify_Structured_Push_Consumer.cpp: + * orbsvcs/tests/Notify/MT_Dispatching/README: + * orbsvcs/tests/Notify/MT_Dispatching/Structured_Consumer.dsp: + * orbsvcs/tests/Notify/MT_Dispatching/Structured_Consumer.cpp: + * orbsvcs/tests/Notify/MT_Dispatching/Structured_Supplier.dsp: + * orbsvcs/tests/Notify/MT_Dispatching/Structured_Supplier.cpp: + * orbsvcs/tests/Notify/MT_Dispatching/go.idl: + * orbsvcs/tests/Notify/MT_Dispatching/notify_mtdispatching.conf: + * orbsvcs/tests/Notify/MT_Dispatching/notify_mtlistener.conf: + * orbsvcs/tests/Notify/MT_Dispatching/notify_mtsource.conf: + * orbsvcs/tests/Notify/MT_Dispatching/notify_nothreads.conf: + * orbsvcs/tests/Notify/MT_Dispatching/run_test.pl: + * orbsvcs/tests/Notify/Ordering/Makefile: + * orbsvcs/tests/Notify/Ordering/Notify_Sequence_Push_Consumer.h: + * orbsvcs/tests/Notify/Ordering/Notify_Sequence_Push_Consumer.cpp: + * orbsvcs/tests/Notify/Ordering/Notify_Structured_Push_Consumer.h: + * orbsvcs/tests/Notify/Ordering/Notify_Structured_Push_Consumer.cpp: + * orbsvcs/tests/Notify/Ordering/Ordering.dsw: + * orbsvcs/tests/Notify/Ordering/README: + * orbsvcs/tests/Notify/Ordering/Sequence_Consumer.dsp: + * orbsvcs/tests/Notify/Ordering/Sequence_Consumer.cpp: + * orbsvcs/tests/Notify/Ordering/Sequence_Supplier.dsp: + * orbsvcs/tests/Notify/Ordering/Sequence_Supplier.cpp: + * orbsvcs/tests/Notify/Ordering/Structured_Consumer.dsp: + * orbsvcs/tests/Notify/Ordering/Structured_Consumer.cpp: + * orbsvcs/tests/Notify/Ordering/Structured_Supplier.dsp: + * orbsvcs/tests/Notify/Ordering/Structured_Supplier.cpp: + * orbsvcs/tests/Notify/Ordering/common.h: + * orbsvcs/tests/Notify/Ordering/common.cpp: + * orbsvcs/tests/Notify/Ordering/go.idl: + * orbsvcs/tests/Notify/Ordering/notify.conf: + * orbsvcs/tests/Notify/Ordering/run_test.pl: + * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Makefile: + * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Notify_Sequence_Push_Consumer.h: + * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Notify_Sequence_Push_Consumer.cpp: + * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/README: + * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Sequence_Consumer.dsp: + * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Sequence_Consumer.cpp: + * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Sequence_Multi_ETCL_Filter.dsw: + * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Sequence_Supplier.dsp: + * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Sequence_Supplier.cpp: + * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/common.h: + * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/common.cpp: + * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/go.idl: + * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/notify.conf: + * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/run_test.pl: + * orbsvcs/tests/Notify/Sequence_Multi_Filter/Makefile: + * orbsvcs/tests/Notify/Sequence_Multi_Filter/Notify_Sequence_Push_Consumer.h: + * orbsvcs/tests/Notify/Sequence_Multi_Filter/Notify_Sequence_Push_Consumer.cpp: + * orbsvcs/tests/Notify/Sequence_Multi_Filter/README: + * orbsvcs/tests/Notify/Sequence_Multi_Filter/Sequence_Consumer.dsp: + * orbsvcs/tests/Notify/Sequence_Multi_Filter/Sequence_Consumer.cpp: + * orbsvcs/tests/Notify/Sequence_Multi_Filter/Sequence_Multi_Filter.dsw: + * orbsvcs/tests/Notify/Sequence_Multi_Filter/Sequence_Supplier.dsp: + * orbsvcs/tests/Notify/Sequence_Multi_Filter/Sequence_Supplier.cpp: + * orbsvcs/tests/Notify/Sequence_Multi_Filter/common.h: + * orbsvcs/tests/Notify/Sequence_Multi_Filter/common.cpp: + * orbsvcs/tests/Notify/Sequence_Multi_Filter/go.idl: + * orbsvcs/tests/Notify/Sequence_Multi_Filter/notify.conf: + * orbsvcs/tests/Notify/Sequence_Multi_Filter/run_test.pl: + * orbsvcs/tests/Notify/Structured_Filter/Makefile: + * orbsvcs/tests/Notify/Structured_Filter/Notify_Push_Consumer.h: + * orbsvcs/tests/Notify/Structured_Filter/Notify_Push_Consumer.cpp: + * orbsvcs/tests/Notify/Structured_Filter/README: + * orbsvcs/tests/Notify/Structured_Filter/Structured_Consumer.dsp: + * orbsvcs/tests/Notify/Structured_Filter/Structured_Consumer.cpp: + * orbsvcs/tests/Notify/Structured_Filter/Structured_Filter.dsw: + * orbsvcs/tests/Notify/Structured_Filter/Structured_Supplier.dsp: + * orbsvcs/tests/Notify/Structured_Filter/Structured_Supplier.cpp: + * orbsvcs/tests/Notify/Structured_Filter/control.idl: + * orbsvcs/tests/Notify/Structured_Filter/run_test.pl: + * orbsvcs/tests/Notify/Structured_Multi_Filter/Makefile: + * orbsvcs/tests/Notify/Structured_Multi_Filter/Notify_Push_Consumer.h: + * orbsvcs/tests/Notify/Structured_Multi_Filter/Notify_Push_Consumer.cpp: + * orbsvcs/tests/Notify/Structured_Multi_Filter/Notify_Push_Supplier.h: + * orbsvcs/tests/Notify/Structured_Multi_Filter/Notify_Push_Supplier.cpp: + * orbsvcs/tests/Notify/Structured_Multi_Filter/README: + * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Consumer.dsp: + * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Consumer.cpp: + * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Multi_Filter.dsw: + * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Supplier.dsp: + * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Supplier.cpp: + * orbsvcs/tests/Notify/Structured_Multi_Filter/control.idl: + * orbsvcs/tests/Notify/Structured_Multi_Filter/run_test.pl: + * orbsvcs/tests/Notify/performance-tests/Filter/Filter.dsw: + * orbsvcs/tests/Notify/performance-tests/Filter/Makefile: + * orbsvcs/tests/Notify/performance-tests/Filter/Notify_Sequence_Push_Consumer.h: + * orbsvcs/tests/Notify/performance-tests/Filter/Notify_Sequence_Push_Consumer.cpp: + * orbsvcs/tests/Notify/performance-tests/Filter/Notify_Structured_Push_Consumer.h: + * orbsvcs/tests/Notify/performance-tests/Filter/Notify_Structured_Push_Consumer.cpp: + * orbsvcs/tests/Notify/performance-tests/Filter/README: + * orbsvcs/tests/Notify/performance-tests/Filter/Sequence_Consumer.dsp: + * orbsvcs/tests/Notify/performance-tests/Filter/Sequence_Consumer.cpp: + * orbsvcs/tests/Notify/performance-tests/Filter/Sequence_Supplier.dsp: + * orbsvcs/tests/Notify/performance-tests/Filter/Sequence_Supplier.cpp: + * orbsvcs/tests/Notify/performance-tests/Filter/Structured_Consumer.dsp: + * orbsvcs/tests/Notify/performance-tests/Filter/Structured_Consumer.cpp: + * orbsvcs/tests/Notify/performance-tests/Filter/Structured_Supplier.dsp: + * orbsvcs/tests/Notify/performance-tests/Filter/Structured_Supplier.cpp: + * orbsvcs/tests/Notify/performance-tests/Filter/common.h: + * orbsvcs/tests/Notify/performance-tests/Filter/common.cpp: + * orbsvcs/tests/Notify/performance-tests/Filter/go.idl: + * orbsvcs/tests/Notify/performance-tests/Filter/notify.conf: + * orbsvcs/tests/Notify/performance-tests/Filter/run_test.pl: + + Add many new tests to test the various features of the + Notification Service. + +Thu Jan 17 11:03:14 2002 Carlos O'Ryan <coryan@uci.edu> + + * TAO_IDL/be/be_visitor_interface/amh_ss.cpp: + * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: + * TAO_IDL/be_include/be_visitor_interface/amh_ss.h: + * TAO_IDL/be_include/be_visitor_interface/interface_ss.h: + Fixed code generation for the AMH_* classes, at this point the + code for *S.h looks reasonable (and compiles!). + Ditto for the _is_a(), _interface() and similar methods in the + *S.cpp file, but we need to fix the generated skeletons. + +Thu Jan 17 10:40:57 2002 Ossama Othman <ossama@uci.edu> + + * orbsvcs/orbsvcs/Security/EstablishTrustPolicy.cpp + (policy_type, destroy, trust): + * orbsvcs/orbsvcs/Security/QOPPolicy.cpp + (policy_type, destroy, qop): + + Fixed unused parameter warnings. + +Thu Jan 17 10:30:41 2002 Ossama Othman <ossama@uci.edu> + + * orbsvcs/orbsvcs/Security/Security_ORBInitializer.cpp (pre_init): + + Create and register the SecurityManager object with the ORB's + resolve_initial_references() mechanism. + +Thu Jan 17 10:17:18 2002 Carlos O'Ryan <coryan@uci.edu> + + * TAO_IDL/be/be_codegen.cpp: + Add the #include for "tao/TAO_AMH_Response_Handler.h" if needed. + + * TAO_IDL/be/be_visitor_interface/amh_sh.cpp: + Add missing close braces in the generated code. We never + finished the definition of the AMH_* class. + + * TAO_IDL/be/be_visitor_interface/amh_rh_sh.cpp: + We were not closing the definition of the + TAO_AMH_*ResponseHandler class either. + Fixed TAO_AMH_Response_Handler name in generated code. + Fixed indentation in the generated code too. + +Thu Jan 17 10:08:36 2002 Ossama Othman <ossama@uci.edu> + + * orbsvcs/orbsvcs/Security/SecurityManager.cpp + (remove_own_credentials): + + Corrected assignment where equality conditional was expected. + +Thu Jan 17 09:49:23 2002 Carlos O'Ryan <coryan@uci.edu> + + * TAO_IDL/be/be_visitor_amh_pre_proc.cpp: + Fixed the UTL_ScopedName for the AMH_*ResponseHandler, finally + we got the generated code to look like we want (and compiles + too!) + +Thu Jan 17 10:28:54 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * orbsvcs/orbsvcs/ETCL/ETCL_l.cpp: + * orbsvcs/orbsvcs/ETCL/ETCL_l.cpp.diff: + + Initialized two register char* variables in the generated + lex file. Even though they are clearly initialized about + 20 lines down and never skipped, Redhat Static seems to + have a problem with it. + +Thu Jan 17 10:25:54 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * TAO_IDL/be_include/be_interface_strategy.h: + Fixed compile errors. + +Thu Jan 17 09:25:11 2002 Frank Hunleth <fhunleth@cs.wustl.edu> + + * orbsvcs/tests/Miop/Makefile: Added. + +Thu Jan 17 09:25:11 2002 Frank Hunleth <fhunleth@cs.wustl.edu> + + * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.cpp: + Fixed KCC warning. + +Thu Jan 17 00:54:41 2002 Mayur Deshpande <mayur@ics.uci.edu> + + * TAO_IDL/be/be_visitor_interface/amh_rh_sh.cpp: + * TAO_IDL/be/be_visitor_interface/amh_rh_ss.cpp: + * TAO_IDL/be/be_visitor_interface/interface.cpp: + * TAO_IDL/be/be_visitor_interface/interface_sh.cpp: + * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: + + Made code generation logic for AMH-skeletons and AMH-RH + consistent (and symmetric) in the amh_rh and amh_ss files. + +Tue Jan 17 08:12:22 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * orbsvcs/orbsvcs/Security.bor: + Added missing IDL build rule for SecurityReplaceable.idl + +Wed Jan 16 22:46:12 2002 Ossama Othman <ossama@uci.edu> + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h (ssliop_connect): + + Updated this method to accept a "no protection" parameter. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp + (connect, ssliop_connect): + + In the "NoProtection/EstablishTrust" case, establish a + connection using the "eNULL" cipher. This disables encryption + but allows certificate authentication to occur. Previously two + connections were used, one to authenticate over SSL and the + other to invoke requests over plain IIOP, which is clearly + undesirable. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp (init): + + If "NoProtection" is enabled, then add the "eNULL" cipher to the + default cipher list. This allows encryption to be disabled + while allowing certificate authentication to occur. + +Wed Jan 16 20:08:39 2002 Ossama Othman <ossama@uci.edu> + + * orbsvcs/orbsvcs/Security/PrincipalAuthenticator.h: + + Cache a reference to the SecurityManager passed in as a + parameter to the constructor. + + * orbsvcs/orbsvcs/Security/PrincipalAuthenticator.cpp + (authenticate, continue_authentication): + + Register authenticated credentials with the SecurityManager's + "own credentials" list. + + * orbsvcs/orbsvcs/Security/SecurityManager.h: + + Added an "own_credentials" attribute. All credentials + authenticated by the PrincipalAuthenticator will be stored in + it. + + * orbsvcs/orbsvcs/Security/SecurityManager.cpp + (principal_authenticator): + + Pass a pointer to the SecurityManager to the + PrincipalAuthenticator's constructor so that the + PrincipalAuthenticator may call back some of the + SecurityManager's methods. + + (own_credentials, remove_own_credentials): + + Implemented these SecurityLevel2::SecurityManager methods. + + (add_own_credentials): + + New TAO-specific method used internally by the + PrincipalAuthenticator to register authenticated credentials + with SecurityManager's "own credentials" list. + +Wed Jan 16 21:26:14 2002 Frank Hunleth <fhunleth@cs.wustl.edu> + + * orbsvcs/orbsvcs/Makefile: + Disabled compiling PortableGroup when Minimum CORBA is + enabled. + + * orbsvcs/orbsvcs/Makefile.PortableGroup: + Regenerated dependencies. + + * orbsvcs/orbsvcs/PortableGroup/POA_Hooks.cpp: + * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.cpp: + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.cpp: + Fixed a misuses of TAO_ENV_ARG_*. + + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp: + Fixed subtle typo on MIOP packet segmentation. + + * orbsvcs/tests/Makefile: + Added MIOP. + + * tao/PortableServer/POA.cpp: + * tao/PortableServer/POA.h: + * tao/PortableServer/PortableGroup_Hooks.h: + * tao/PortableServer/PortableServerC.cpp: + * tao/PortableServer/PortableServerC.h: + * tao/PortableServer/PortableServerC.i: + * tao/diffs/PortableServerC.cpp.diff: + * tao/diffs/PortableServerC.h.diff: + * tao/diffs/PortableServerC.i.diff: + #ifdef'd out PortableGroup additions to the POA when + minimum CORBA is enabled. + +Wed Jan 16 20:28:56 2002 Frank Hunleth <fhunleth@cs.wustl.edu> + + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Wait_Never.cpp: + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Wait_Never.h: + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp: + * orbsvcs/orbsvcs/PortableGroup.bor: + * orbsvcs/orbsvcs/Makefile.PortableGroup: + * orbsvcs/orbsvcs/PortableGroup.dsp: + Added custom wait strategy for UIPMC to prevent any + one from waiting for a response. Previously, if + someone tried invoking a twoway using MIOP, execution + would hang until a time out. This way, the user + gets a system exception if they ever try to wait for + a response. + +Wed Jan 16 19:18:14 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * performance-tests/AMI_Latency/client.cpp: + Fixed compile errors. + +Wed Jan 16 13:17:04 2002 Mayur Deshpande <mayur@ics.uci.edu> + + * TAO_IDL/be_include/be_visitor_interface/interface.h: + * TAO_IDL/be/be_visitor_interface/interface.cpp: + * TAO_IDL/be/be_visitor_interface/interface_sh.cpp: + * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: + + Added method to check if a particular node is an 'AMH' node that + was added during pre-processing. This check is used to + dynamically create the amh_rh visitors in interface_s{h/s} + visitors. + +Wed Jan 16 12:57:56 2002 Carlos O'Ryan <coryan@uci.edu> + + * TAO_IDL/be/be_visitor_amh_pre_proc.cpp: + The AMH_*ResponseHandler identifier should not include the + Module:: prefix. The fix is incomplete, as I believe that the + Identifier for the implied be_interface node should have the + enclosing scope identifier, but this change makes the *C.h file + compilable. + Also fixed the operations for the implied AMH_*ResponseHandler, + they were supposed to be 'local' too. + +Wed Jan 16 12:22:13 2002 Mayur Deshpande <mayur@ics.uci.edu> + + * TAO_IDL/be/be_visitor_operation/amh_rh_ss.cpp: + * TAO_IDL/be/be_visitor_operation/amh_rh_ss.cpp: + + Fixed Fuzz errors for @file + +Wed Jan 16 14:12:17 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * TAO_IDL/be/be_global.cpp: + + Added initialization of the gen_amh_classes_ member. + + * TAOACE.dsw: + + Restored ETCL project to workspace and updated project + dependencies for this project and for CosNotifcation. My + previous checkin of these changes got clobbered someehow. + + * orbsvcs/orbsvcs/CosNotification.dsp: + + Somehow these settings got clobbered as well. + +Wed Jan 16 12:02:40 2002 Ossama Othman <ossama@uci.edu> + + * tao/PICurrent.cpp (copy): + + Only perform the shallow/logical copy if the source slot table + was modified. Fixes a problem where values logically copied + from the RSC to the TSC were lost after the TSC was copied back + to the RSC, despite the fact the TSC's slot table was not + modifed. Thanks to Greg Hall <Greg.Hall@Australia.Boeing.com> + for discovering the problem. + +Wed Jan 16 11:45:23 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + * tao/PortableServer/ObjectReferenceTemplate.cpp (adapter_name): + Fixed warnings on Debian_NoInline build. + +Wed Jan 16 11:38:21 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + * tests/ORT/server.cpp (main): + * orbsvcs/examples/ORT/Object_Factory_i.cpp: + * orbsvcs/examples/ORT/Gateway_ObjRef_Factory.h: + * orbsvcs/examples/ORT/gateway_server.cpp : + * orbsvcs/examples/ORT/server.cpp : + * orbsvcs/examples/ORT/Server_IORInterceptor_ORBInitializer.cpp: + Fixed fuzz compile errors. + +Wed Jan 16 11:23:04 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + * tests/ior_corbaloc/README (ftp): + Updated the README. + + Thanks to Gerhard Voss <Gerhard_Voss@t-online.de> for + reporting that it is outdated. + +Wed Jan 16 08:37:55 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * utils/nslist/nsdel.cpp: + Fixed compile errors. + +Wed Jan 16 08:33:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * orbsvcs/orbsvcs/ETCL.bor: + Added BCB makefile for this new library + + * orbsvcs/orbsvcs/CosNotification.bor: + Added ETCL and DynamicAny libraries, removed Trading + + * orbsvcs/orbsvcs/Makefile.bor: + Added ETCL + + * orbsvcs/tests/FaultTolerance/IOGRManipulation/Makefile.bor: + * orbsvcs/tests/FaultTolerance/IOGR/Manager.bor: + * orbsvcs/tests/FaultTolerance/IOGR/Server.bor: + Use the FTORB library instead of the FT library + + * tests/Portable_Interceptors/ForwardRequest/server.bor: + * tests/Portable_Interceptors/ForwardRequest/client.bor: + Added -Gv to the TAO_IDL since PortableInterceptor.pidl now + has valuetypes. + +Tue Jan 15 20:24:24 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * TAO_IDL/be/be_visitor_valuetype/any_op_ch.cpp: + * TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp: + * TAO_IDL/be_include/be_visitor_valuetype/any_op_ch.h: + * TAO_IDL/be_include/be_visitor_valuetype/any_op_cs.h: + + New files that generate Any operators for value types. + For now, all that's generated is the TAO_Valuetype_Manager + template class instantiation that takes the value type + as its parameter. The TAO_Object_Manager template + instantiations for interfaces are generated along with + the Any operators, so the same approach is followed for + value types, even though Any operators for value types + are not yet supported. + + * TAO_IDL/be/be_visitor_factory.cpp: + * TAO_IDL/be/be_visitor_valuetype.cpp: + * TAO_IDL/be/be_visitor_module/module.cpp: + * TAO_IDL/be/be_visitor_root/root.cpp: + * TAO_IDL/be_include/be_visitor_valuetype.h: + + Modified files to create and call the visitors in the new + files above. + +Tue Jan 15 17:59:46 2002 Ossama Othman <ossama@uci.edu> + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Vault.cpp: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Vault.h: + + New SSLIOP-specific (no-op) implementation of the + SecurityReplaceable::Vault interface. These files supersede the + SSLIOP_PrincipalAuthenticator.* files. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp: + + Register the SSLIOP-specific Vault object with the Security + Service's PrincipalAuthenticator object. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_PrincipalAuthenticator.cpp: + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_PrincipalAuthenticator.h: + + Removed these files. They have been superseded by the + SSLIOP_Vault* files. + + * orbsvcs/orbsvcs/Security/PrincipalAuthenticator.cpp: + * orbsvcs/orbsvcs/Security/PrincipalAuthenticator.h: + + Updated the PrincipalAuthenticator implementation to use the + Chain-of-Responsibility design pattern on all registered + SecurityReplaceable::Vault implementations until one is found + that recognizes the user-supplied parameters. + + * orbsvcs/orbsvcs/Security/PrincipalAuthenticator_Impl.h: + + Removed this file in favor of the standard + SecurityReplaceable::Vault functionality. + +Tue Jan 15 16:22:48 2002 Carlos O'Ryan <coryan@uci.edu> + + * TAO_IDL/be/be_visitor_amh_pre_proc.cpp: + Use a local interface for the AMH_*ResponseHandler, that + generates *exactly* the right code for the *C.{h,i,cpp} files. + We need different visitors for the implementation class on the + *S.{h,i,cpp} files. + + * TAO_IDL/be_include/be_visitor_interface.h: + * TAO_IDL/be_include/be_visitor_operation.h: + * TAO_IDL/be/be_visitor_interface.cpp: + * TAO_IDL/be/be_visitor_operation.cpp: + Enable compilation of AMH visitors by default. + + * TAO_IDL/be/be_visitor_interface/amh_sh.cpp: + * TAO_IDL/be/be_visitor_interface/amh_ss.cpp: + * TAO_IDL/be/be_visitor_interface/interface_sh.cpp: + * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: + * TAO_IDL/be_include/be_visitor_interface/amh_sh.h: + * TAO_IDL/be_include/be_visitor_interface/amh_ss.h: + * TAO_IDL/be_include/be_visitor_interface/interface_ss.h: + Improved generated AMH code. For starters the IDL compiler does + not crash while generating AMH code :-) But the generated code + does not compile yet. + Mayur and myself factored out the shared code between the + skeleton source visitors (*S.cpp files) for AMH and non-AMH + interfaces. + Also stopped the system from generating any AMH classes for + implied AMH or AMI classes. + + * TAO_IDL/be/be_visitor_operation/amh_rh_ss.cpp: + Fixed warnings. + + * TAO_IDL/Makefile.BE: + * TAO_IDL/Makefile.EXE: + * TAO_IDL/Makefile.FE: + Updated dependencies. + +Tue Jan 15 15:55:54 2002 Ossama Othman <ossama@uci.edu> + + * orbsvcs/orbsvcs/Makefile.Security (IDL_FILES): + + Added the `SecurityReplaceable.idl' file to the IDL file list. + +Tue Jan 15 15:46:20 2002 Ossama Othman <ossama@uci.edu> + + * orbsvcs/orbsvcs/SecurityReplaceable.idl: + + Corrected typo. "Replaceable" not "Replacable." + +Tue Jan 15 15:01:48 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + * tao/PortableServer/ServerRequestInfo.cpp : + * tao/PortableServer/POA.i : + * tao/PortableServer/ObjectReferenceTemplate.h : + * tao/PortableServer/ObjectReferenceFactory.cpp : + * tao/PortableServer/ObjectReferenceTemplate.cpp : + * tao/PortableServer/IORInfo.cpp : + Corrected the usage of TAO_ENV_ARG_DECL and + TAO_ENV_ARG_PARAMETER + + * tao/PortableServer/POA.h : + * tao/PortableServer/POA.cpp : + In addition to correcting the usage of TAO_ENV_ARG_DECL, added a + new protected method so that there is only a single ACE_TRY + block in TAO_POA::establish_components method. + +Tue Jan 15 14:28:50 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + * tao/PortableInterceptorC.h: + Fixed by inserting a space where needed. + +Tue Jan 15 13:30:07 2002 Mayur Deshpande <mayur@ics.uci.edu> + + * TAO_IDL/be_include/be_visitor_amh_pre_proc.h: + * TAO_IDL/be_include/be_visitor_operation.h: + * TAO_IDL/be_include/be_visitor_operation/amh_sh.h: + * TAO_IDL/be_include/be_visitor_operation/amh_ss.h: + * TAO_IDL/be_include/be_visitor_operation/amh_rh_sh.h: + * TAO_IDL/be_include/be_visitor_operation/amh_rh_ss.h: + * TAO_IDL/be_include/be_visitor_interface.h: + * TAO_IDL/be_include/be_visitor_interface/amh_ch.cpp: + * TAO_IDL/be_include/be_visitor_interface/amh_sh.cpp: + * TAO_IDL/be_include/be_visitor_interface/amh_ss.cpp: + * TAO_IDL/be_include/be_visitor_interface/amh_rh_sh.cpp: + * TAO_IDL/be_include/be_visitor_interface/amh_rh_ss.cpp: + * TAO_IDL/be/be_visitor_amh_pre_proc.cpp: + * TAO_IDL/be/be_visitor_factory.cpp: + * TAO_IDL/be/be_visitor_operation.cpp: + * TAO_IDL/be/be_visitor_operation/amh_sh.cpp: + * TAO_IDL/be/be_visitor_operation/amh_ss.cpp: + * TAO_IDL/be/be_visitor_operation/amh_rh_sh.cpp: + * TAO_IDL/be/be_visitor_operation/amh_rh_ss.cpp: + * TAO_IDL/be/be_visitor_interface.cpp: + * TAO_IDL/be/be_visitor_interface/interface.cpp: + * TAO_IDL/be/be_visitor_interface/amh_ch.cpp: + * TAO_IDL/be/be_visitor_interface/amh_sh.cpp: + * TAO_IDL/be/be_visitor_interface/amh_ss.cpp: + * TAO_IDL/be/be_visitor_interface/amh_rh_sh.cpp: + * TAO_IDL/be/be_visitor_interface/amh_rh_ss.cpp: + * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: + * TAO_IDL/be/be_visitor_interface/interface_sh.cpp: + * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: + + This is a snap-shot of the changes to facilitate parallel + working on AMH. The new files and changes to old ones is part + of a new approach to generate AMh code from the IDL-compiler. + In the new approach, only one new implied-idl node is added to + the main AST i.e. the ResponseHandler (RH) node. With this + node, code is generated in the following files: + - The Client Header (Base abstract RH class) + - The Skeleton Header (implementation RH class declaration) + - The Skeleton Source (implementation RH class definition) + In this snapshot, the code for the above is in place and there + are no compilation errors. The implementation is yet to be + tested, though. Also, in keeping with the new approach, + AMH-skeleton code is generated 'on the fly'. In the + interface_{ch/sh/ss} files, AMH_skeleton code is generated if + the be_global->generate_amh_classes () is set. Currently, this + code is commented out and the amh_{ch/sh/ss} files are not + included in the compiltation of TAO_IDL but once the code is in + place amd working, the IDL compiler will include these visitors. + +Tue Jan 15 13:35:07 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + * tao/PortableInterceptorS.h: + Committing the right one. + + * tests/Portable_Interceptors/ForwardRequest/Makefile: + Added -Gv to the TAO_IDLFLAGS since PortableInterceptor.pidl now + has valuetypes. + +Tue Jan 15 12:33:34 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + * tao/ORB_Core.cpp: + Removed stray characters put in by mistake. + +Tue Jan 15 12:28:21 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + * tao/PortableInterceptorC.i: + * tao/PortableInterceptorC.h: + * tao/PortableInterceptorC.cpp: + Regenerated and applied patches. + +Tue Jan 15 12:03:54 2002 Ossama Othman <ossama@uci.edu> + + * docs/releasenotes/index.html: + + Updated Security Service and SSLIOP release notes. + +Tue Jan 15 14:02:04 2002 Frank Hunleth <fhunleth@cs.wustl.edu> + + * orbsvcs/orbsvcs/PortableGroup.bor: + * orbsvcs/orbsvcs/PortableGroup.rc: + Added resource files for the PortableGroup library. Thanks + to Johnny Willemsen <johnny_willemsen@planet.nl> for pointing + this out. + +Tue Jan 15 11:50:37 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu> + + * utils/nslist/nsdel: There were 2 problems with nsdel: + 1. difficult to remove subcontexts + 2. not possible to remove contexts where the name.kind is not null + + We've now fixe this problem so it's possible to do the following: + usage example nsdel --name com/sun/server/app1.service + usage example nsdel --name com/sun/server.context + + Thanks to Paul Caffrey <pcaffrey@iel.ie> for contributing this. + +Tue Jan 15 11:43:48 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * docs/releasenotes/index.html: + + Added items to IDL compiler section about the expanded + support of value types, and about the revamped/expanded + support of the IDL #pragma directives. Also add item in the + Notification Service section about the new support of the + Extended Trader Constraint Language (ETCL) grammar for filter + construction. + +Tue Jan 15 09:08:17 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + * tests/Portable_Interceptors/IORInterceptor/FOO_IORInterceptor.cpp: + * tests/Portable_Interceptors/IORInterceptor/FOO_IORInterceptor.h: + Added new methods to class FOO_IORInterceptor to go along with + the added methods in PortableInterceptor::IORInterceptor. Missed + committing in the first round. + +Tue Jan 15 08:55:52 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + * tao/ORB_Core.cpp (create_stub_object): + Fixed usage of TAO_ENV_ARG_DECL + +Tue Jan 15 09:16:22 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * orbsvcs/orbsvcs/Makefile: + + Added Makefile.ETCL to the list when Makefile>CosNotification + is added. + + * orbsvcs/orbsvcs/ETCL/ETCL_Static.dsp: + + Fixed path errors. + + * orbsvcs/tests/Notify/lib/Notify_Test_Client.cpp: + + Changed an incorrect TAO_ENV_ARG_PARAMETER to + TAO_ENV_ARG_DECL. + +Tue Jan 15 13:22:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * tests/ORT/*.bor: + Added BCB makefiles for this test + + * tests/Makefile.bor: + Added new ORT test + +Tue Jan 15 11:09:13 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * tao/PortableServer/Makefile.bor: + Added PortableGroup_Hooks + + * orbsvcs/orbsvcs/PortableGroup.bor: + Added new BCB makefile for building PortableGroup + + * orbsvcs/orbsvcs/Makefile.bor + Added PortableGroup + +Tue Jan 15 02:51:04 2002 Craig Rodrigues <crodrigu@bbn.com> + + * orbsvcs/orbsvcs/AV/RTCP.cpp: Return 0 in + TAO_AV_RTCP_Callback::handle_destroy(). + +Tue Jan 15 07:35:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * tao/Makefile.bor: + Removed IORInfo + + * tao/PortableServer/Makefile.bor: + Added IORInfo, ObjectReferenceFactory and ObjectReferenceTemplate + +Mon Jan 14 22:08:46 2002 Ossama Othman <ossama@uci.edu> + + From Bruce Trask <trask_b@ociweb.com> + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.h: + + Use the ACE_STATIC_SVC_DECLARE_EXPORT macro instead of + ACE_STATIC_SVC_DECLARE to force the static service descriptor to + be exported on Windows, and thus allow it to be used when the + TAO SSLIOP pluggable protocol is linked statically. + +Tue Jan 15 00:01:09 2002 Rob Ruff <rruff@scires.com> + Craig Rodrigues <crodrigu@bbn.com> + + * orbsvcs/orbsvcs/AV/UDP.: + * orbsvcs/orbsvcs/AV/UDP.cpp: Fix memory leaks of address + and control_address. + + * orbsvcs/orbsvcs/AV/RTCP.cpp: Fix TAO_AV_RTCP_Object::destroy(). + Call send_report() from TAO_AV_RTCP_Callback::handle_stop() and + TAO_AV_RTCP_Callback::handle_destroy(). + +Mon Jan 14 23:51:54 2002 Craig Rodrigues <crodrigu@bbn.com> + + * orbsvcs/tests/AVStreams/server_discovery: Removed. + Depends on files from the old mpeg player which is no longer + in repository. + +Mon Jan 14 19:53:18 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + * tao/PortableServer/IORInfo.cpp (current_factory): + Was a returning a void value. Fixed it. + + * tao/PortableServer/POA.cpp (establish_components): + Modified variable i as variable j to satisfy win. + Also modified a const variable as non-const. + +Mon Jan 14 19:37:03 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + * tao/PortableServer/TAO_PortableServer_Static.dsp (SOURCE): + * tao/PortableServer/TAO_PortableServer.dsp: + Updated to add IORInfor, ObjectReferenceTemplate and + ObjectReferenceFactory. + + * tao/TAO.dsp: + * tao/TAO_Static.dsp: + Updated to remove IORInfo + +Mon Jan 14 18:08:50 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + * tao/ORB_Core.h (TAO_ORB_Core): + Used the correct form of TAO_ENV_ARG_DECL + +Mon Jan 14 17:56:09 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * orbsvcs/orbsvcs/Makefile.CosNotification: + * orbsvcs/orbsvcs/Makefile.ETCL: + + Updated dependencies. + +Mon Jan 14 15:25:25 2002 Carlos O'Ryan <coryan@uci.edu> + + * TAO_IDL/be/be_visitor_interface_fwd/cdr_op_ci.cpp: + * TAO_IDL/be/be_visitor_valuetype/cdr_op_ch.cpp: + * TAO_IDL/be/be_visitor_valuetype/cdr_op_ci.cpp: + * TAO_IDL/be/be_visitor_valuetype_fwd/cdr_op_ch.cpp: + * TAO_IDL/be/be_visitor_valuetype_fwd/cdr_op_ci.cpp: + Fixed syntax error generated in the CDR operators for +` valuetypes. There was no blank after the export macro name. + + * TAO_IDL/be/be_codegen.cpp: + * TAO_IDL/be/be_global.cpp: + * TAO_IDL/be/be_interface.cpp: + * TAO_IDL/be/be_valuetype.cpp: + Cosmetic fixes + +Mon Jan 14 15:19:05 2002 Carlos O'Ryan <coryan@uci.edu> + + * tao/PortableInterceptorC.h: + Fixed compilation problem due to bugs in IDL compiler. + + * tao/PortableServer/ObjectReferenceTemplate.cpp: + Removed bogus #include for ObjectReferenceTemplate.i, the file + does not exist. + + * tao/Makefile: + * tao/BiDir_GIOP/Makefile: + * tao/Domain/Makefile: + * tao/DynamicAny/Makefile: + * tao/DynamicInterface/Makefile: + * tao/IFR_Client/Makefile: + * tao/IORManipulation/Makefile: + * tao/IORTable/Makefile: + * tao/PortableServer/Makefile: + * tao/RTCORBA/Makefile: + * tao/RTPortableServer/Makefile: + * tao/SmartProxies/Makefile: + * tao/Strategies/Makefile: + * tao/TypeCodeFactory/Makefile: + Update dependencies. + +Mon Jan 14 15:03:53 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + * tao/ORB_Core.cpp: + Removed include of IORInfo.h + +Mon Jan 14 14:41:17 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + The following set of changes are wrt to Object Reference Template. + + * tao/IORInfo.h: + * tao/IORInfo.cpp: + Moved these files to PortableServer directory to continue + keeping the TAO library independent of PortableServer. + + * tao/Exception.cpp: + Added a new minor code to the OBJ_ADAPTER_TABLE. + The description of the minor code is "Exception in + IORInterceptor::components_established in call + to POA::create_POA " + + * tao/ClientRequestInfo.cpp (get_service_context_i): + Changed the minor code from 23 to 26 according to the ORT + spec. + + * tao/ORB_Core.h : + * tao/ORB_Core.i : + * tao/ORB_Core.cpp : + + Removed the include of IORInfo.h since ORB_Core doesnt use + IORInfo anymore. + + Added support for the new ORB Configuration Options: + -ORBId: is to set an Id to the ORB as the name suggests. + -ORBServerId: is to uniquely identify a server. + -ORBListenEndpoints: is similar to ORBEndPoint option. + The ORBEndpoint Option will be deprecated later. + -ORBNoProprietaryActivation: is to set a glabal flag so + that none of the ORB's proprietary can be used. + + Added a new method set_endpoint_helper for code reusing purposes + since the two ORB options -ORBEndpoint and -ORBListenEndPoints + are the same. This might not be needed later when the + -ORBEndpoint is deprecated totally. + + New accessor method for the ORBServerId that was passed + using the -ORBServerId Option: + const char *server_id (void) const; + + Added another accessor method is to get the underlying + transport cache: + TAO_Transport_Cache_Manager *transport_cache (void); + + Modified the implementation of create_stub_object method. + The establish_components method should now be invoked + every time a new POA is created and hence should be + invoked even before the create_stub_object is invoked. + Hence the implementation of TAO_ORB_Core::create_stub_object + now doesnt involve invoking the establish components method. + + The establish_components method is now modified and moved to + TAO_POA. + + Added a new method open (TAO_ENV_ARG_DECL) to set endpoints for + listening. + + In the TAO_ORB_Core::run method, the Environment variable is + going to be used. So, changed TAO_ENV_ARG_DECL_NOT_USED to + TAO_ENV_ARG_DECL. Also, invoke the new TAO_ORB_Core::open method + in here. We donot want to setup the listening points + when the RootPOA is created but now. One of the main features of + ORT is the ability to set a new factory (and possibly point the + ior to another endpoint) with the help of interceptors. + If we open an endpoint when the RootPOA is created, then it + would endup costly if another endpoint has to be + opened during run time (i.e. because of the interceptors being + used). So, we are going to open the endpoints during the run + time rather than during the RootPOA creation. + + Private variables: server_id_, open_lock_, open_called_; + + * tao/PortableServer/IORInfo.h: + * tao/PortableServer/IORInfo.h: + Moved the files from tao to PortableServer. And, added new + methods: manager_id, state, adapter_template, current_factory + according to the ORT spec. + + Modified the implementation of add_ior_component and + add_ior_component_to_profile to invoke + TAO_POA::save_ior_component and + save_ior_component_and_profile_id instead of adding them + immediately for reasons explained later. + + * tao/PortableServer/ObjectReferenceTemplate.h : + * tao/PortableServer/ObjectReferenceTemplate.cpp : + * tao/PortableServer/ObjectReferenceFactory.h : + * tao/PortableServer/ObjectReferenceFactory.cpp : + New files for the ObjectReferenceFactory and + ObjectReferenceTemplate classes. + + * tao/RTPortableServer/RT_POA.i (create_reference_with_priority): + Modified the call create_reference_i and + create_reference_with_id_i to go along with the + modified signatures of the respective methods. + + * tao/PortableServer/ServerRequestInfo.h: + * tao/PortableServer/ServerRequestInfo.cpp: + New methods server_id, orb_id and adapter_name from the ORT + spec. Accessor methods to get the server_id of the server + ( passed via -ORBServerId option), orb_id ( ORBId value that + is passed to the ORB_init call) and the name of the related + Object Adapter. + + * tao/PortableServer/POAManager.h: + * tao/PortableServer/POAManager.cpp: + New method adapter_manager_state_changed which calls all + the registered interceptor's adapter_manager_state_changed + methods. Included new header files as needed. + + * tao/PortableServer/Object_Adapter.cpp (open): + As explained in ORB_Core changes, we are going to open + the default resources during run time and not during RootPOA + creation. So, removed the invocation leading to opening the + endpoints. + + * tao/PortableServer/POA.cpp : + This file has a big bunch of changes. + + Included new header files as needed. + + New methods: + + set_obj_ref_factory: Public method to set the private + variable: TAO_ObjectReferenceFactory *obj_ref_factory_ + The value of this variable is initially the same as + TAO_ObjectReferenceTemplate *obj_ref_template_. + The value of obj_ref_factory_ can be reset by the + TAO_IOR_Info::current_factory method. + + tao_establish_components: Helper method for + establish_components. Instantiates the needed variables and + calls establish_components. + + adapter_name: Returns the adapter_name of an object_adapter + (POA). + + adapter_name_i: Helper method for adapter_name. + + get_adapter_template: + set_adapter_template: + get_obj_ref_factory: + set_obj_ref_factory: Accessor methods to ort_template_ and + obj_ref_factory_ member variables related to a POA. + + get_policy_list: + set_policy_list: + get_mprofile: + set_mprofile: Accessor methods to get policy_list_ and + mprofile_ respectively. TAO_IORInfo needs these values. + + save_ior_component: + save_ior_component_and_profile_id: + According to the ORT spec, the Interceptor's + establish_components method should be invoked each time a new + POA is created. And, the establish_components method is where + the IORInfo can get hold of the ior components that are to be + added to the mprofiles. But, we donot add the components to the + profile when the POA is created but rather when the stub object is + to be created. So, to solve this, we save the tagged component + and profile_id that we get via the establish_components method + and use them later when we are actually creating the stub + object. These two methods help save the values, as the name of + the method suggests. + + tao_add_ior_component: + tao_add_ior_component_to_profile: Methods to call the + add_tagged_component of all the registered interceptors. + + get_adapter_state: + set_adapter_state: Accessor methods to the POA state which could + be in one of HOLDING, ACTIVE, DISCARDING, INACTIVE and + NON_EXISTENT states. + + adapter_state_changed: Method to notify the IOR Interceptors + when there is a change in the state of the POA not related to the + POA Manager. + + invoke_key_to_object: The TAO_ObjectReferenceFactory::make_object + creates the object references by default (ie. unless the factory + is changed with the help of interceptors). It invokes the POA's + invoke_key_to_object method for the same purpose. This method + gets all the required values and invokes the key_to_object which + actually creates the object reference. + + get_manager_id: Accessor method to get the manager id. + + The constructor of TAO_POA is also changed. Each POA has an + ObjectReferenceTemplate * and ObjectReferenceFactory * member + variables. The initial values of the ObjectReferenceTemplate is + set in the TAO_POA constructor. The initial value of + obj_ref_factory_ is the same as that of ort_template_. While + the value of ort_template_ is remains the same, the value of the + obj_ref_factory_ can be changed with the help of the + interceptors. + + According to the ORT specification, the interceptor's + establish_components method needs to be invoked each time any + new POA is created. By invoking the tao's + establish_components method from the constructor itself, we + are making sure that this method is called for all the POA's + including the RootPOA. + + Changed the order in which the private variables are + instantiated in the constructor. + + Modified the signature of create_reference_i and + create_reference_with_id_i to not have the priority as + an argument. Where needed, we can get the priority value using + the cached_policies_ variable. + + Modified their implementation to call the this->obj_ref_factory_ + 's make_object method instead of calling the key_to_object + method directly. Made changes accordingly. The implementation of + servant_to_reference method is also modified similarly. + This is because the ObjectReferenceFactory associated with the + POA is the one that is supposed to create the object references. + To generalize between the default case and the case in which the + object reference factory is changed with the help of interceptors, + all the methods that end up creating a object reference (by + invoking key_to_object method) now end up invoking the + associated object reference factory's make_object method. If the + default value of the obj_ref_factory_ is not changed, the + TAO_ObjectReferenceFactory::make_object is invoked. If the value + of obj_ref_factory_ is changed, the make_object of that + particular class in invoked. + + Also, in the servant_to_reference method, instead of setting + value of the priority variable to + this->cached_policies_.server_priority (), am setting it to + TAO_INVALID_PRIORITY. This is because when the control comes to + this method, this->cached_policies_ is nil. By setting it to + TAO_INVALID_PRIORITY doesnt hurt since the priority is actually + set in servant_to_system_id method. + + Added TAO_ObjectReferenceFactory and TAO_ObjectReferenceTemplate + as friend classes to TAO_POA class. + + * tao/PortableServer/Makefile: + Added new files. + IORInfo + ObjectReferenceTemplate + ObjectReferenceFactory + + * tao/PortableInterceptorC.cpp: + * tao/PortableInterceptorC.h: + * tao/PortableInterceptorC.i: + * tao/PortableInterceptorS.h: + Regenerated and applied patches. The diffs are generated and + placed in diffs directory. + + * tao/PortableInterceptor.pidl: + Modified according to the ORT specification. + + + * tao/Makefile: + Removed IORInfo since its now moved to PortableServer. Updated + dependencies. + + * tao/BiDir_GIOP/Makefile: + * tao/Domain/Makefile: + * tao/DynamicAny/Makefile: + * tao/DynamicInterface/Makefile: + * tao/IFR_Client/Makefile: + * tao/IORManipulation/Makefile: + * tao/IORTable/Makefile: + Updated dependencies. + + * orbsvcs/examples/ORT/README : + * orbsvcs/examples/ORT/Makefile : + * orbsvcs/examples/ORT/server.cpp : + * orbsvcs/examples/ORT/client.cpp : + * orbsvcs/examples/ORT/Gateway.idl : + * orbsvcs/examples/ORT/sum_server.idl : + * orbsvcs/examples/ORT/sum_server_i.h : + * orbsvcs/examples/ORT/sum_server_i.cpp : + * orbsvcs/examples/ORT/Server_IORInterceptor.cpp : + * orbsvcs/examples/ORT/Server_IORInterceptor.h : + * orbsvcs/examples/ORT/Server_IORInterceptor_ORBInitializer.cpp : + * orbsvcs/examples/ORT/Server_IORInterceptor_ORBInitializer.h : + * orbsvcs/examples/ORT/Gateway_i.h : + * orbsvcs/examples/ORT/Gateway_i.cpp : + * orbsvcs/examples/ORT/Server_IORInterceptor_ORBInitializer.cpp : + * orbsvcs/examples/ORT/Object_Factory_i.h : + * orbsvcs/examples/ORT/Object_Factory_i.cpp : + * orbsvcs/examples/ORT/Gateway_ObjRef_Factory.h : + * orbsvcs/examples/ORT/Gateway_ObjRef_Factory.cpp : + + Example to show how ORT can be used. + + * tests/ORT/README: + * tests/ORT/Makefile: + * tests/ORT/server.cpp: + * tests/ORT/ORT_test.idl: + * tests/ORT/ORT_test_IORInterceptor.cpp: + * tests/ORT/ORT_test_IORInterceptor.h: + * tests/ORT/ORT_test_IORInterceptor_ORBInitializer.cpp: + * tests/ORT/ORT_test_IORInterceptor_ORBInitializer.h: + * tests/ORT/ORT_test_i.cpp: + * tests/ORT/ORT_test_i.h: + * tests/ORT/client.cpp: + Test for the ORT changes. + +Mon Jan 14 14:46:54 2002 Carlos O'Ryan <coryan@uci.edu> + + * docs/tutorials/Quoter/Event_Service/Makefile: + * docs/tutorials/Quoter/RT_Event_Service/Makefile: + Update dependencies. + +Mon Jan 14 14:44:31 2002 Carlos O'Ryan <coryan@uci.edu> + + * orbsvcs/orbsvcs/Makefile.av: + The dependencies for AV/md5c.c were not generated properly + because the Makefile assumed all sources were .cpp files. + +Tue Jan 15 00:30:30 2002 Boris Kolpackov <bosk@ipmce.ru> + + * TAO_IDL/be/be_valuetype.cpp: + Moved implementation to client stubs for _var and _out classes. + +Mon Jan 14 15:35:13 2002 Rob Ruff <rruff@scires.com> + Craig Rodrigues <crodrigu@bbn.com> + + * orbsvcs/orbsvcs/AV/AV_Core.h: + * orbsvcs/orbsvcs/AV/AV_Core.cpp: Add remove_acceptor(), remove_connector(), + get_control_flowname() methods. + + * orbsvcs/orbsvcs/AV/UDP.h: Add close() method. + * orbsvcs/orbsvcs/AV/UDP.i: Add close() method. + * orbsvcs/orbsvcs/AV/UDP.cpp: Improve cleanup in TAO_AV_UDP_Connector + TAO_AV_UDP_Flow_Handler, and TAO_AV_UDP_Acceptor classes. Close + socket in TAO_AV_UDP_Flow_Handler destructor. + + * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Improve cleanup in destructors + and destroy() method. TAO_Tokenizer::operator[] returns + a const char * instead of dynamically allocated char *. + In TAO_StreamEndpoint::destroy(), call destroy() on protocol + objects AFTER calling remove_connector() on the AV core. + + * orbsvcs/orbsvcs/AV/TCP.h: Add virtual destructor to TAO_AV_TCP_Flow_Handler. + * orbsvcs/orbsvcs/AV/TCP.cpp: Add destructor to TAO_AV_TCP_Flow_Handler, improve cleanup in other classes. + * orbsvcs/orbsvcs/AV/Transport.h: Add close() methods to + TAO_AV_Connector_Registry and TAO_AV_Acceptor_Registry. + * orbsvcs/orbsvcs/AV/Transport.cpp: Add close() methods to + TAO_AV_Connector_Registry and TAO_AV_Acceptor_Registry. + Return result of reactor()->cancel_timer() in + TAO_AV_Flow_Handler::cancel_timer(). + * orbsvcs/orbsvcs/AV/RTCP.cpp: In TAO_AV_RTCP_Object::destroy(), + delete this. + * orbsvcs/orbsvcs/AV/RTP.cpp: In TAO_AV_RTP_Object::destroy(), + delete this. + * orbsvcs/orbsvcs/AV/FlowSpec_Entry.h: Make operator[] return + const char *. Add variables for cleanup. + * orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp: Add variables for cleanup. + * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp: Memory leak fixes. + Comment out calls to activate_with_poa(). + * orbsvcs/tests/AVStreams/Asynch_Three_Stage/receiver.cpp: + Do not call orb->shutdown(), instead set a flag. + + +Mon Jan 14 14:04:36 2002 Frank Hunleth <fhunleth@cs.wustl.edu> + + * orbsvcs/orbsvcs/Makefile.PortableGroup: Regenerated + dependencies. + +Mon Jan 14 13:41:11 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * orbsvcs/orbsvcs/ETCL/ETCL.dsp: + * orbsvcs/orbsvcs/ETCL/ETCL_Static.dsp: + * orbsvcs/orbsvcs/ETCL/ETCL.rc: + * orbsvcs/orbsvcs/ETCL/ETCL_Constraint.inl: + * orbsvcs/orbsvcs/ETCL/ETCL_Constraint_Visitor.h: + * orbsvcs/orbsvcs/ETCL/ETCL_Interpreter.cpp: + * orbsvcs/orbsvcs/ETCL/ETCL_Interpreter.h: + * orbsvcs/orbsvcs/ETCL/ETCL_y.cpp.diff: + * orbsvcs/orbsvcs/ETCL/ETCL_y.h.diff: + + New files added to finish the implementation of the + Extended Trader Constraint Language library that was + begun by Carlos O'Ryan <coryan@uci.edu>. Thanks to + Chad Elliott <elliott_c@ociweb.com> for supplying + ETCL_Static.dsp. + + * orbsvcs/orbsvcs/ETCL/ETCL.ll: + * orbsvcs/orbsvcs/ETCL/ETCL.yy: + * orbsvcs/orbsvcs/ETCL/ETCL_Constraint.cpp: + * orbsvcs/orbsvcs/ETCL/ETCL_Constraint.h: + * orbsvcs/orbsvcs/ETCL/ETCL_l.cpp: + * orbsvcs/orbsvcs/ETCL/ETCL_l.cpp.diff: + * orbsvcs/orbsvcs/ETCL/ETCL_y.cpp: + * orbsvcs/orbsvcs/ETCL/ETCL_y.h: + * orbsvcs/orbsvcs/Notify/Notify_Constraint_Interpreter.cpp: + * orbsvcs/orbsvcs/Notify/Notify_Constraint_Interpreter.h: + * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.cpp: + * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.h: + * orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp: + * orbsvcs/orbsvcs/Notify/Notify_Filter_i.h: + * orbsvcs/orbsvcs/Makefile.CosNotification: + * orbsvcs/orbsvcs/Makefile.ETCL: + * TAOACE_Static.dsw: + + Changes to ETCL and Notification Service files to complete + the implementation of the ETCL library and to make the + Notification Service use this library to filter events, + instead of using the Trading Service's Trader Constraint + Language, as it did previously. + + * orbsvcs/tests/Notify/Notify_Tests.dsw: + * orbsvcs/tests/Notify/Basic/Simple.dsp: + * orbsvcs/tests/Notify/lib/Notify_Test_Client.cpp: + * orbsvcs/tests/Notify/lib/Notify_Test_Client.h: + + Changes to Notification Service test coce submitted by + Chad Elliott <elliott_c@ociweb.com>. + +Mon Jan 14 13:09:31 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * orbsvcs/tests/InterfaceRepo/Application_Test/ifr_dii_client.cpp: + + Added .in() to instances of TAO_String_Manager and + TAO_Object_Manager when used in the rhs of an expression, + and made other cosmetic changes. + + * TAO_IDL/be/be_visitor_valuetype/valuetype_obv_ch.cpp: + + Removed unused local variable in visit_valuetype(). + +Mon Jan 14 10:01:12 2002 Ossama Othman <ossama@uci.edu> + + * tao/PortableServer/PortableServerC.i + (tao_PortableServer_IdUniquenessPolicy_narrow): + * tao/diffs/PortableServerC.i.diff: + + Fixed incorrect use of TAO_ENV_ARG_PARAMETER where + TAO_ENV_ARG_DECL was expected. + + * tao/PortableServer/POA.cpp (reference_to_ids): + + Fixed incorrect use of PortableServer::IDs::_nil(). There is no + such thing. Zero is the correct value. + +Mon Jan 14 10:32:09 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * orbsvcs/tests/FaultTolerance/IOGRManipulation/IOGRTest.dsp: + + * orbsvcs/tests/FaultTolerance/IOGR/Manager.dsp: + * orbsvcs/tests/FaultTolerance/IOGR/server.dsp: Fixed the + libraries that are linked to. + +Mon Jan 14 10:25:22 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * orbsvcs/orbsvcs/Fault_Tolerance.dsp (RSC): Added the right + library for linking in the debug builds. + +Mon Jan 14 09:34:35 2002 Chad Elliott <elliott_c@ociweb.com> + + * tests/IDL_Test/including.idl: + + Prefix the enum value FE with TAO_ to avoid a conflict on HP-UX + 10.20. + +Mon Jan 14 09:27:44 2002 Frank Hunleth <fhunleth@cs.wustl.edu> + + * orbsvcs/orbsvcs/Makefile.PortableGroup: Added missing + PortableGroup directory for POA_Hooks. + +Mon Jan 14 09:19:43 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * performance-tests/AMI_Latency/client.cpp: + Fixed compile error. + +Mon Jan 14 08:49:31 2002 Frank Hunleth <fhunleth@cs.wustl.edu> + + * orbsvcs/orbsvcs/PortableGroup.idl: Changed include + specification to work under Win32 release builds. + +Mon Jan 14 09:52:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * tao/Makefile.bor: + Added Request_Dispatcher + + * orbsvcs/tests/Makefile.bor: + Added new Miop directory + + * orbsvcs/tests/Miop/Makefile.bor: + Added new BCB makefile + + * orbsvcs/orbsvcs/FT_ORB.bor: + Added new BCB makefile for this library + + * orbsvcs/orbsvcs/FaultTolerance.bor: + Updated makefile to use the new FT_ORB library + + * orbsvcs/orbsvcs/Makefile.bor: + Added new FT_ORB.bor makefile + +Sun Jan 13 21:50:22 2002 Frank Hunleth <fhunleth@cs.wustl.edu> + + * tao/TAO_Static.dsp: Added Request_Dispatcher.{cpp,h} to the + file listing. + +Sun Jan 13 21:24:59 2002 Frank Hunleth <fhunleth@cs.wustl.edu> + + * tao/Request_Dispatcher.cpp: Fixed ACE_CHECK typo. Thanks to + Venkita for catching it. + + * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Loader.h: + * orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.h: + Cleaned up two comments. + +Sun Jan 13 18:23:11 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * tests/Two_Objects/Makefile: + Regenerated dependencies. + +Sun Jan 13 16:19:24 2002 Ossama Othman <ossama@uci.edu> + + * orbsvcs/orbsvcs/Security/Security_ORBInitializer.cpp (pre_init): + * orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.cpp + (pre_init): + + Corrected erroneous comments. + +Sun Jan 13 15:22:10 2002 Frank Hunleth <fhunleth@cs.wustl.edu> + + * docs/releasenotes/index.html (MIOP): Added a section for + MIOP. + +Sun Jan 13 14:35:08 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * performance-tests/AMI_Latency/client.cpp: Rearranged the code + a bit to perform better in single-threaded configurations. + Thanks to Sean McCauliff <seanm@Narus.com> for reporting this. + +Sun Jan 13 13:02:41 2002 Frank Hunleth <fhunleth@cs.wustl.edu> + + * TAOACE.dsw: + * orbsvcs/orbsvcs/PortableGroup.dsp + Added PortableGroup (MIOP) to the workspace. + + * orbsvcs/orbsvcs/Makefile: + * orbsvcs/orbsvcs/Makefile.PortableGroup: + Build the PortableGroup code now. + + * orbsvcs/orbsvcs/PortableGroup.idl: + * orbsvcs/orbsvcs/mgm.idl: + * orbsvcs/orbsvcs/miop.idl: + Added new IDL from the MIOP specification: + + * tao/IOP.pidl: + * tao/corbafwd.h: + Added MIOP specification tag identifiers. These need to be + updated to OMG specified numbers as soon as they come out. + + * orbsvcs/orbsvcs/PortableGroup/README: + Readme for the MIOP and PortableGroup code. + + * orbsvcs/orbsvcs/PortableGroup/POA_Hooks.cpp: + * orbsvcs/orbsvcs/PortableGroup/POA_Hooks.h: + * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.cpp: + * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.h: + * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Loader.cpp: + * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Loader.h: + * orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.cpp: + * orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.h: + * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.cpp: + * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Request_Dispatcher.h: + * orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.cpp: + * orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.h: + * orbsvcs/orbsvcs/PortableGroup/portablegroup_export.h: + PortableGroup implementation. Includes hooks to handle + new POA methods to associate group references with normal + references, dispatch code based on group ID, and code to + dynamically open multicast endpoint acceptors when association + is made. + + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.cpp: + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.h: + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Acceptor.i: + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.cpp: + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.h: + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.i: + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connector.cpp: + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connector.h: + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.cpp: + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.h: + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.i: + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Factory.cpp: + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Factory.h: + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.cpp: + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.h: + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.i: + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp: + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.h: + * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.i: + UIPMC (Unreliable IP MultiCast) pluggable protocol + implementation. + + * orbsvcs/tests/Miop/README: + README for MIOP tests. Currently just describes the + McastHello test. + + * orbsvcs/tests/Miop/McastHello/Makefile: + * orbsvcs/tests/Miop/McastHello/Makefile.bor: + * orbsvcs/tests/Miop/McastHello/McastHello.cpp: + * orbsvcs/tests/Miop/McastHello/McastHello.dsw: + * orbsvcs/tests/Miop/McastHello/McastHello.h: + * orbsvcs/tests/Miop/McastHello/README: + * orbsvcs/tests/Miop/McastHello/Test.idl: + * orbsvcs/tests/Miop/McastHello/client.bor: + * orbsvcs/tests/Miop/McastHello/client.conf: + * orbsvcs/tests/Miop/McastHello/client.cpp: + * orbsvcs/tests/Miop/McastHello/client.dsp: + * orbsvcs/tests/Miop/McastHello/run_test.pl: + * orbsvcs/tests/Miop/McastHello/server.bor: + * orbsvcs/tests/Miop/McastHello/server.conf: + * orbsvcs/tests/Miop/McastHello/server.cpp: + * orbsvcs/tests/Miop/McastHello/server.dsp: + Added a simple unit test to try out multicast + request generation, transmission, reception, + and dispatch. + + * tao/CORBALOC_Parser.cpp: + Added check to allow "miop" corbaloc specifiers. + + * tao/GIOP_Message_Base.cpp: + Added call to request dispatcher to strategize how + requests are dispatched to the POA. For MIOP, a + request be identified by a GroupId and be dispatched + to one or more ObjectKeys. + + * tao/GIOP_Message_Generator_Parser.cpp: + * tao/GIOP_Message_Generator_Parser.h: + * tao/GIOP_Message_Generator_Parser_10.cpp: + * tao/GIOP_Message_Generator_Parser_12.cpp: + Moved GIOP 1.2 target address spec demarshal code + to Tagged_Profile.*, so that the TAO_Tagged_Profile could + know what kind of addressing mode it was actually + representing. Previously, it was always assumed that + TAO_Tagged_Profile contained an object key. Now, with + MIOP, it is possible for requests to not have ObjectKeys + in their target specifiers. Instead, they have a profile + that has a GroupID embedded within it. + + * tao/Tagged_Profile.cpp: + * tao/Tagged_Profile.h: + * tao/Tagged_Profile.i: + Added logic to unmarshal target specifications from + GIOP_Message_Generator_Parser*. Note that + TAO_Tagged_Profile is only used to handle the target + specification field and was specialized for this + purpose before this change - despite what it's name + may imply. + + * tao/IIOP_Acceptor.cpp: + * tao/Strategies/DIOP_Acceptor.cpp: + * tao/Strategies/SHMIOP_Acceptor.cpp: + Fixed debug text to indicate the right method name. + + * tao/Makefile: + Added Request_Dispatcher and updated dependencies. + + * tao/Profile.cpp: + * tao/Profile.h: + * tao/Profile.i: + * tao/Stub.cpp + * tao/Stub.h + * tao/Stub.i + * tao/Invocation.cpp: + Changes to maintain the GIOP 1.2 target addressing mode + in the profile as opposed to the stub. This is the needed + since the target addressing mode is decided upon based on + the profile. For example, a UIPMC profile needs to use + the "profile" addressing mode, since it does not have an + object key. Additionally, if a remote ORB sends an + addressing mode exception back, it should only affect the + current profile as opposed to all profiles on a stub, since + those profiles might go to some other ORB. + + * tao/ORB_Core.cpp: + * tao/ORB_Core.h: + * tao/ORB_Core.i: + Added request dispatcher strategy and hooks for the + PortableGroup library to replace functionality in the + PortableServer library. + + * tao/Request_Dispatcher.cpp: + * tao/Request_Dispatcher.h: + Default request dispatcher to send requests to the POA + based on their ObjectKey. (Replaced when the + PortableGroup library is active.) + + * tao/TAO.dsp: + Added Request_Dispatcher.{cpp,h}. + + * tao/TAO_Server_Request.cpp: + Added missing this-> to conform to ACE standard. + + * tao/orbconf.h: + Added MIOP version definitions. + + * tao/PortableServer/POA.cpp: + * tao/PortableServer/POA.h: + Added methods to forward processing of the new group + functionality introduced by the MIOP specification. + + * tao/PortableServer/PortableGroup_Hooks.cpp: + * tao/PortableServer/PortableGroup_Hooks.h: + Base class to implementing the PortableGroup functionality. + + * tao/PortableServer/TAO_PortableServer.dsp: + Added PortableGroup_Hooks.{cpp,h}. + + * tao/BiDir_GIOP/Makefile: + * tao/Domain/Makefile: + * tao/DynamicAny/Makefile: + * tao/DynamicInterface/Makefile: + * tao/IFR_Client/Makefile: + * tao/IORManipulation/Makefile: + * tao/IORTable/Makefile: + * tao/PortableServer/Makefile: + * tao/RTCORBA/Makefile: + * tao/RTPortableServer/Makefile: + * tao/SmartProxies/Makefile: + * tao/Strategies/Makefile: + * tao/TypeCodeFactory/Makefile: + Regenerated dependencies. + + * tao/PortableServer/PortableServer.pidl: + * tao/PortableServer/PortableServerC.cpp: + * tao/PortableServer/PortableServerC.h: + * tao/PortableServer/PortableServerC.i: + * tao/diffs/PortableServerC.cpp.diff: + * tao/diffs/PortableServerC.h.diff: + * tao/diffs/PortableServerC.i.diff: + Updated the POA with the group reference association + methods introduced by the MIOP specification. + +Sun Jan 13 10:52:03 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * orbsvcs/tests/FaultTolerance/IOGManpulation/Makefile: Updated + dependencies. + * orbsvcs/tests/FaultTolerance/IOGManpulation/IOGRTest.cpp: Fixed + a compilation error. + +Sun Jan 13 10:33:18 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * orbsvcs/orbsvcs/Makefile: Added an FTORB option. + * orbsvcs/tests/FaultTolerance/IOGR/Makefile: Updated + dependencies. + +Sun Jan 13 09:35:31 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * TAOACE_Static.dsw (Project): Added FT_ORB.dsp. + +Sun Jan 13 09:03:25 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * tests/Two_Objects/worker.h: + * tests/Two_Objects/server.cpp: + Fixed compile errors on SunCC51. + +Sat Jan 12 21:45:31 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * orbsvcs/orbsvcs/FT_ORB.dsp (RSC): Added a new dsp file + * orbsvcs/orbsvcs/Fault_Tolerance.dsp: Made some slight changes. + + * orbsvcs/orbsvcs/orbsvcs.dsw: + * orbsvcs/orbsvcs/orbsvcs_static.dsw: Added the new dsp file to + the workspace. + +Sat Jan 12 21:14:31 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * orbsvcs/orbsvcs/FT_CORBA_ORB.idl: A new file that contains + additions only to the ORB core. This would be good for a variety + of reasons. Some point in time, users would like to have only + the FT ORB features loaded without the service layer. This + should be useful for such cases. An excellent example is when + the Heartbeats are going to be implemented. Regular users may + need that without any extra stuff, like Notification, DynamicAny + etc. + + * orbsvcs/orbsvcs/FT_CORBA.idl: Has only the service layer + interfaces. + + * orbsvcs/orbsvcs/Makefile.FTORB: A new file for the TAO_FTORB + library. + + * orbsvcs/orbsvcs/Makefile.FaultTolerance: Updated this file. + + * orbsvcs/orbsvcs/Makefile: Added the new Makefile. + + * orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.h: + * orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.cpp: + * orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.cpp: + * orbsvcs/orbsvcs/FaultTolerance/FT_Policy_i.h: + * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.h: Included + FT_CORBA_ORBC.h. + + * orbsvcs/tests/FaultTolerance/IOGR/Makefile: + * orbsvcs/tests/FaultTolerance/IOGRManipulation/Makefile: Updated + the file to include the TAO_FTORB library. + + * orbsvcs/tests/FaultTolerance/IOGR/svc.conf: Used the new library + to load. + +Sat Jan 12 10:46:47 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * tests/Two_Objects/worker.h: + Fixed compile error on Fuzz builds. + +Sat Jan 12 09:46:00 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * tests/Two_Objects/server.cpp: + * tests/Two_Objects/First_i.cpp: + * tests/Two_Objects/Second_i.cpp: + * tests/Two_Objects/Second_i.h: + * tests/Two_Objects/Object_Factory_i.cpp: + Fixed compile errors on certain builds. + +Sat Jan 12 13:06:12 2002 Johnny Willemsen <jwillemsen@remedy.nl> + + * tests/Makefile.bor: + Added new Two_Obects directory to BCB makefile + +Fri Jan 11 17:36:22 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * tao/orbconf.h: Removed the #if defined clause for the + TAO_NAMESPACE definition. Now TAO_NAMESPACE will define + namespace by default with no conditionality associated. The + macro has been left behind for backward compatibility. This + shoudl fix the LynxOS builds. + +Fri Jan 11 12:28:48 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * orbsvcs/tests/Security/Makefile (DIRS): + Added MT_SSLIOP to DIRS section. + +Fri Jan 11 07:50:41 2002 Carlos O'Ryan <coryan@uci.edu> + + * orbsvcs/performance-tests/EC_Colocated_Latency/POA_Destroyer.h: + Fixed some Fuzz warnings. + +Fri Jan 11 09:53:41 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * tests/Makefile: + Added entry for Two_Objects test. + +Thu Jan 10 17:43:22 2002 Carlos O'Ryan <coryan@uci.edu> + + * orbsvcs/orbsvcs/Makefile.RTCORBAEvent: + * orbsvcs/orbsvcs/Event/EC_RTCORBA_Dispatching.h: + * orbsvcs/orbsvcs/Event/EC_RTCORBA_Dispatching.inl: + * orbsvcs/orbsvcs/Event/EC_RTCORBA_Dispatching.cpp: + * orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.h: + * orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.inl: + * orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.cpp: + Add new dispatching strategy based on RT-CORBA. Still + work-in-progress. + + * orbsvcs/performance-tests/EC_Colocated_Latency/Makefile: + * orbsvcs/performance-tests/EC_Colocated_Latency/Consumer.h: + * orbsvcs/performance-tests/EC_Colocated_Latency/Consumer.cpp: + * orbsvcs/performance-tests/EC_Colocated_Latency/POA_Destroyer.h: + * orbsvcs/performance-tests/EC_Colocated_Latency/POA_Destroyer.inl: + * orbsvcs/performance-tests/EC_Colocated_Latency/POA_Destroyer.cpp: + * orbsvcs/performance-tests/EC_Colocated_Latency/Receive_Task.h: + * orbsvcs/performance-tests/EC_Colocated_Latency/Receive_Task.cpp: + * orbsvcs/performance-tests/EC_Colocated_Latency/Send_Task.h: + * orbsvcs/performance-tests/EC_Colocated_Latency/Send_Task.cpp: + * orbsvcs/performance-tests/EC_Colocated_Latency/Servant_var.h: + * orbsvcs/performance-tests/EC_Colocated_Latency/Servant_var.inl: + * orbsvcs/performance-tests/EC_Colocated_Latency/Servant_var.cpp: + * orbsvcs/performance-tests/EC_Colocated_Latency/Supplier.h: + * orbsvcs/performance-tests/EC_Colocated_Latency/Supplier.cpp: + * orbsvcs/performance-tests/EC_Colocated_Latency/driver.cpp: + * orbsvcs/performance-tests/EC_Colocated_Latency/ec.supplier_filter_null.conf: + * orbsvcs/performance-tests/EC_Colocated_Latency/ec.supplier_filter_per_supplier.conf: + * orbsvcs/performance-tests/EC_Colocated_Latency/run_supplier_filtering.sh: + Add new performance test to measure latency in the colocated + case. + +Thu Jan 10 12:48:02 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * tests/Two_Objects/worker.cpp: + * tests/Two_Objects/worker.h: + + Fixed compile errors. + +Thu Jan 10 12:13:28 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * tests/Two_Objects/Two_Objects.idl: + * tests/Two_Objects/server.cpp: + * tests/Two_Objects/client.cpp: + * tests/Two_Objects/worker.h: + * tests/Two_Objects/worker.cpp: + * tests/Two_Objects/First_i.cpp: + * tests/Two_Objects/First_i.h: + * tests/Two_Objects/Second_i.cpp: + * tests/Two_Objects/Second_i.h: + * tests/Two_Objects/Object_Factory_i.h: + * tests/Two_Objects/Object_Factory_i.cpp: + * tests/Two_Objects/Two_Objects.dsw: + * tests/Two_Objects/server.dsp: + * tests/Two_Objects/client.dsp: + * tests/Two_Objects/run_test.pl: + * tests/Two_Objects/Makefile: + * tests/Two_Objects/Makefile.bor: + * tests/Two_Objects/server.bor: + * tests/Two_Objects/client.bor: + * tests/Two_Objects/README: + + Created a new test for bug fix 575. This is a test to show + that there can be concurrent upcalls to two objects in the + same POA on the same connection. + +Thu Jan 10 11:53:22 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * tao/GIOP.pidl: Added come comments. + * tao/GIOPC.h: + * tao/GIOPC.cpp: + * tao/GIOPC.i (Version_var): Added GIOP::Version_var to the + generated code. + + * tao/diffs/GIOPC.cpp.diff: + * tao/diffs/GIOPC.h.diff: + * tao/diffs/GIOPC.i.diff: + * tao/diffs/GIOPS.cpp.diff: + * tao/diffs/GIOPS.h.diff: + * tao/diffs/GIOPS.i.diff: + * tao/diffs/GIOPS_T.cpp.diff: + * tao/diffs/GIOPS_T.h.diff: + * tao/diffs/GIOPS_T.i.diff: Added diffs to the generated code. + + +Wed Jan 9 18:07:55 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * TO_IDL/fe/fe_init.cpp (populate_global_scope): + + Removed the guards around the calls related to valuetypes. + +Wed Jan 9 11:35:58 2002 Ossama Othman <ossama@uci.edu> + + * tao/ORB_Core.cpp (init): + + Removed last remnants of the long deprecated -ORBSetUID and + -ORBSetGID ORB options. + +Wed Jan 9 13:36:14 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * TAO_IDL/be/be_decl.cpp: + + Changed the order of member initialization to match the + order of declaration. + +Wed Jan 9 11:39:02 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * TAO_IDL/be/be_visitor_array/cdr_op_ci.cpp: + * TAO_IDL/be/be_visitor_sequence/cdr_op_ci.cpp: + + Added declaration of CDR operators for anonymous sequence + array element to the stub inline file. When ACE_INLINE is + defined, the declarations of these in the header file is + not included. + +Wed Jan 9 08:46:58 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu> + + * docs/Options.html: Clarified the use of the + -ORBDottedDecimalAddresses option. Thanks to Michael Gillmann + <michael.gillmann@infor.de> for motivating this. + +Tue Jan 8 16:20:37 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp: + * TAO_IDL/be/be_visitor_typecode/typecode_decl.cpp: + + Added '::' to instances of 'CORBA::TypeCode_ptr' in + type code generation. If there is a nested module + named 'CORBA', MSVC gets confused. Thanks to + Tom Howard <tom_howard@yahoo.com> for pointing out + the problem. + +Tue Jan 8 14:52:46 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * TAO_IDL/ast/ast_typedef.cpp: + * TAO_IDL/be/be_array.cpp: + * TAO_IDL/be/be_sequence.cpp: + * TAO_IDL/be/be_type.cpp: + * TAO_IDL/be/be_typedef.cpp: + + Added explicit calls to base class constructors. + + * TAO_IDL/be/be_decl.cpp: + + Added explicit calls to base class constructors, and + added missing member initialization. + + * TAO_IDL/be/be_visitor_array/cdr_op_ch.cpp: + * TAO_IDL/be/be_visitor_array/cdr_op_ci.cpp: + * TAO_IDL/be/be_visitor_typedef/cdr_op_ch.cpp: + * TAO_IDL/be/be_visitor_typedef/cdr_op_ci.cpp: + + Changed the logic for generating CDR operators for + named arrays of anonymous sequences. Some recent + change broke this, and it was showing up in IDL_Test. + Also made cosmetic changes. + + * TAO_IDL/be/be_visitor_sequence/any_op_ch.cpp: + * TAO_IDL/be/be_visitor_typedef/any_op_ch.cpp: + + Added line breaks to strings of output stream operators, + to avoid side effects when a method call is in the string. + Also made cosmetic changes. + + * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: + * TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ch.cpp: + + Changed the logic of the code generation for forward + declared interfaces. The existing logic was a case of two + wrongs making a right, and was causing a problem with the + implementation of AMH in the IDL compiler. Thanks to + Carlos O'Ryan <coryan@uci.edu> and Mayur Deshpande + <mayur@ics.uci.edu> for pointing out the problem. + +Mon Jan 7 10:27:43 2002 Chad Elliott <elliott_c@ociweb.com> + + * tao/PortableServer/PolicyS_T.i: + + Corrected an invalid ENV parameter macro name. This was detected + as an error on HP-UX. Thanks to Rob Martin <martin_r@ociweb.com> + for pointing this out. + +Sun Jan 6 13:18:43 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * TAO_IDL/be/be_operation_strategy.cpp: + + Removed an unused argument, and made cosmetic changes. + +Sun Jan 6 09:45:24 2002 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu> + + * examples/Advanced/ch_8_and_10/client.cpp (main): + Added some casts to make certain C++ compilers happy. + Thanks to Roy Sharon <roysharon@hotmail.com> for + reporting this. + +Sat Jan 5 21:31:43 2002 Mayur Deshpande <mayur@ics.uci.edu> + + * TAO_IDL/be_include/be_visitor_amh_pre_proc.h: + * TAO_IDL/be/be_visitor_amh_pre_proc.cpp: + + Added code to generate the Client side abstract RH class and the + skeleton RH class. For the above two interfaces, there should be + no classes generated on teh 'other side' i.e. for the client RH + interface node, there should be no class generatd in the + skeleton files. Currently there are a few problems with this + and with the exact names and inheritance of the generated + classes. + +Sat Jan 5 18:27:59 2002 Mayur Deshpande <mayur@ics.uci.edu> + + * TAO_IDL/be_include/be_visitor_operation/amh_ss.h: + * TAO_IDL/be/be_visitor_operation/amh_ss.cpp: + + Added code to generate the skeleton-source code for AMH-skelton + operation. The amh-method differs from the original method in + the following ways: + - Return type is always void + - IN and INOUT parameters _only_ are de-marshalled + One part left to be done is the creation and instantiation of + the RH inside the generated method body. + +Sat Jan 5 18:15:34 2002 Mayur Deshpande <mayur@ics.uci.edu> + + * TAO_IDL/be/be_visitor_interface/interface.cpp: + + Added actions for all the AMH states (including amh_rh). + Previously some of them returned 0 or just didn't do anything. + + * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: + + Removed all the code from the visit_interface that generates + code for the this_method and put it into a seperate method + called this_method. This method already existed but for some + reason a part of the code was left in the visit_interface + method. With this in place, the AMH class can now implement all + the changes that are needed in the _this () method. + + * TAO_IDL/be/be_visitor_interface/amh_ss.cpp: + + - Changed the this_method(). This method now generates all the + code for the _this() method in amh-skeleton. Changes include a + narrow of original interface rather than teh AMH-skeleton narrow + and commenting of the generation of the safe_stub.release() + line. - Changed the dispath_method () so that it now generates + a call to asynchronous_upcall_dispatch rather than + synchronous_upcall_dispatch as is generated for a normal + skeleton. + +Sat Jan 5 20:39:25 2002 Ossama Othman <ossama@uci.edu> + + * tao/IIOP_Connection_Handler.cpp (handle_input, handle_output): + + Reverted my change that avoided a function call. Bala correctly + points out that the handled passed in as a parameter may be an + invalid handle if the event handler is dispatched by the + reactor's notification mechanism. Not bueno. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp + (handle_input, handle_output): + + Likewise. + +Sat Jan 5 20:00:21 2002 Ossama Othman <ossama@uci.edu> + + * tao/Connection_Handler.inl (TAO_Connection_Handler): + + Initialize "pending_upcalls_" and "pending_upcall_lock_" in the + base member initializer list. Although this constructor is not + used, it is best to ensure that proper initialization is + performed in the event this constructor is used in the future. + +Sat Jan 5 19:30:08 2002 Ossama Othman <ossama@uci.edu> + + * tao/orbconf.h: + + Include "ace/Basic_Types.h" to pull in the definition of + ACE_LITTLE_ENDIAN. + +Sat Jan 5 17:54:27 2002 Ossama Othman <ossama@uci.edu> + + * tao/LF_Strategy.h: + + No need to include "tao/orbconf.h." Forward declaring + ACE_Time_Value is enough. + + * tao/orbconf.h: + + Instead of "ace/OS.h", include "ace/config-all.h". The latter + is all that is needed. This change should improve compile times + since "config-all.h" does not include the large number of system + headers found in "OS.h," which provides for improved C++ + preprocessing times in TAO. + + (TAO_DEFAULT_ORB_TABLE_SIZE): + + New constant that is used when setting the initial size of the + ORB table. Previously a default of 1024 was used. However, + most applications rarely use more than one ORB, meaning that + an ORB table size of 1024 is overkill. The default is now 16. + This size should be more than adequate for the majority of + applications. + + (MCAST_SERVICE_ID, NO_OF_MCAST_SERVICES): + + Prepend "TAO_" to these macros to avoid polluting the global + namespace. + + * tao/ORB.h (resolve_service): + * tao/ORB.cpp (resolve_service): + * tao/params.h (service_port): + * tao/params.i (service_port): + * tao/params.cpp (TAO_ORB_Parameters): + + Changed the parameter type "MCAST_SERVICEID" to + "TAO_MCAST_SERVICEID," in accordance with the changes made to + `orbconf.h' described above. + + * tao/ORB_Table.cpp (TAO_ORB_Table): + + Initialize the underlying hash map (the ORB table) to a size of + TAO_DEFAULT_ORB_TABLE_SIZE. This change reduces the default ORB + table size from 1024 to 16 (TAO_DEFAULT_ORB_TABLE_SIZE), thus + greatly reducing the initial ORB table memory utilization. + + * tao/IIOP_Connection_Handler.cpp (handle_input, handle_output): + + No need to make a function call to retrieve the handle. Just + use the handle parameter passed in to the method. + +Sat Jan 5 15:04:46 2002 Craig Rodrigues <crodrigu@bbn.com> + + * orbsvcs/orbsvcs/AV/Fill_ACE_QoS.h: Fix comments. + + * orbsvcs/performance-tests/EC_Federated_Scalability/Makefile: + * orbsvcs/performance-tests/EC_Scalability/Makefile: + * orbsvcs/performance-tests/EC_Federated_Latency/Makefile: + * orbsvcs/performance-tests/EC_Latency/Makefile: + + Only build these tests if RTEvent is set in TAO_ORBSVCS. + +Fri Jan 4 17:30:21 2002 Jaiganesh Balasubramanian <jai@kelvar.ece.uci.edu> + + * docs/tutorials/Quoter/RT_Event_Service/index.html: + Corrected some broken links. The errors were pointed out thanks + to Eric Peters <egpeters@u.washington.edu>. + +Fri Jan 4 19:02:41 2002 Balachandran Natarajan <bala@cs.wustl.edu> + + * ChangeLogs/ChangeLog-01c: A new file after splitting from this + one. + +Fri Jan 4 18:28:44 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * TAO_IDL/be/be_decl.cpp: + * TAO_IDL/be_include/be_decl.h: + + Removed compute_repoID(), the version that is always + called in in the base class AST_Decl. Thanks to + Brian Olson <bolson@rtlogic.com> for pointing out + that the be_decl version was not doing the version + part of the string correctly. + +Fri Jan 4 16:30:04 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * tao/DynamicAny/DynCommon.cpp (insert_reference): + + Since the argument is passed in as a CORBA::Object_ptr, + and ultimately inserted into the member Any with the + non-virtual operator <<=, then + dyn_any->to_any()->type ()->id() would always yield + "IDL:CORBA/Object:1.0", no matter what + dyn_any->type()->id() yields. So the insertion into + the memeber Any has been changed to use _tao_replace(), + and passing in the dyn_any's type code, which is + always of the derived type. Thanks to Mahesh Vedantam + <mahesh@ociweb.com> for reporting the problem. + +Fri Jan 4 15:21:33 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * orbsvcs/IFR_Service/ifr_visitor.cpp (visit_factory): + + Removed an unused argument. + + * TAO_IDL/fe/fe_tmplinst.cpp: + + Removed explicit instantiation of ACE_Node<char *>, since + it already appears in ACE. + + * TAO_IDL/fe/lex.yy.cpp: + + Changed isspace() to ACE_OS::ace_isspace(). + + * TAO_IDL/be/be_interface_strategy.cpp (compute_coll_names): + + Changed a local const char[] to static const char*. The + string "POA_" is assigned to this constant, and there + has been a long-standing intermittent problem with + garbage being generated in place of the string. Although + the problem has never been duplicated by the DOC Group, + Sorin Iordachescu <sorin.iordachescu@am-beo.com> has + produced it repeated and has suggested the above fix. + + * TAO_IDL/util/utl_err.cpp: + + Removed all use of ACE_TEXT from methods that return char*. + When compilation is done with ACE_USES_WCHAR, the return + type is incorrect. Thanks to Johnny Willemsen + <johnny_willemsen@planet.nl> for reporting the problem. + +Fri Jan 4 14:32:43 2002 Craig Rodrigues <crodrigu@bbn.com> + + * orbsvcs/orbsvcs/AV/Fill_QoS.h: Add #include <ace/OS_QoS.h>. + +Thu Jan 3 07:18:22 2002 Christopher Kohlhoff <chris@kohlhoff.com> + + * orbsvcs/LifeCycle_Service/LifeCycle_Service.bor: + Added library required for a statically linked build. + + * orbsvcs/Notify_Service/NT_Notify_Service.bor: + * orbsvcs/Notify_Service/Notify_Service.bor: + Reverted the changes made to these files in + Sun Dec 30 20:30:12 2001 Johnny Willemsen <jwillemsen@remedy.nl> + as the trading library is required for a static build. + + * orbsvcs/orbsvcs/*.bor: + * orbsvcs/orbsvcs/Security.rc: + * tao/*/Makefile.bor: + * tao/*/*.rc: + Added Borland makefile support for the new resource files. + +Wed Jan 2 20:48:36 2002 Douglas C. Schmidt <schmidt@siesta.cs.wustl.edu> + + * TAO-INSTALL.html: Fixed a couple of missing links. Thanks to + Patrick Cosmo <Patrick@incognito.com> for reporting this. + +Wed Jan 2 18:00:43 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * TAO_IDL/fe/lex.yy.cpp: + + Changed an instance of != ' ' to !isspace. + +Wed Jan 2 15:57:52 2002 Priyanka Gontla <pgontla@ece.uci.edu> + + * orbsvcs/orbsvcs/Naming/Naming_Context_Interface.cpp (to_url): + The to_url method should actually be returning a corbaname type + URL instead of the corbaloc style URL. According to the + INS specification, the method should return a fully formed URL + along with the key_string and corbaname format is the one that + can have the key_string in it. + + Moved the pointer to the end of the dest string before + concatenating something to it. Previously, it was returning only + escaped key_string. + + * orbsvcs/tests/Interoperable_Naming/ncontextext_client_i.cpp : + Modified the string that is passed to the to_url method to have + a ':' before the dummy address. Now, its in one of the correct + syntaxes. + + Thanks to Scott Harris <harris_s@ociweb.com> for reporting all + these. + +Wed Jan 02 15:25:53 2002 Nanbor Wang <nanbor@cs.wustl.edu> + + * tao/ValueFactory.h: Removed the non-standard tao extension + repository_id(). According to the spec, for valuetypes without + a factory method, the developer supplied ValueFactory class + should inherit from CORBA::ValueFactoryBase directly. + Therefore, we can no longer generate this repository_id() method + in the IDL compiler. + + Changed the TAO_OBV_REGISTER_FACTORY to take the type of + valuetype it handles as an extra parameter. The macro will + simply use the non-standard TAO extension to stick in the + repository_id for the valuetype. This may not be the correct + way to get the repository_id for a valuetype as it is not clear + to me how one can get it. + + * examples/OBV/Typed_Events/Event_Types_impl.h: Changed to inherit + valuetype factories from CORBA::ValueFactoryBase. + + * examples/OBV/Typed_Events/Server_i.cpp: + * examples/OBV/Typed_Events/Client_i.cpp: Added type of valuetype + when registering factory with the TAO_OBV_REGISTER_FACTORY + macro. + +Wed Jan 2 15:27:57 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * TAO_IDL/be/be_valuetype.cpp: + + Added some missing ACE_INLINEs to the _var and _out class + method implementation code generation. + +Wed Jan 2 12:02:35 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * TAO_IDL/fe/lex.yy.cpp (idl_valid_version): + + Had to add a check for trailing whitespace. SunCC's + preprocessor leaves it in, it seems, and this was + leading to version strings being falsely invalidated. + +Wed Jan 2 10:22:59 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * TAO_IDL/be/be_visitor_typedef/typedef_ci.cpp (visit_array): + + Made changes that were overlooked in + + Fri Dec 28 15:41:18 2001 Jeff Parsons <parsons@cs.wustl.edu> + + that correspond to changes made in typedef_ch.cpp. + + * TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp (visit_array): + + Cosmetic changes. + +Wed Jan 2 09:41:03 2002 Jeff Parsons <parsons@cs.wustl.edu> + + * orbsvvcs/IFR_Service/drv_init_ifr.cpp: + * orbsvvcs/IFR_Service/ifr_adding_visitor.cpp: + * orbsvvcs/IFR_Service/ifr_adding_visitor.h: + * orbsvvcs/IFR_Service/ifr_adding_visitor_exception.cpp: + * orbsvvcs/IFR_Service/ifr_adding_visitor_operation.cpp: + * orbsvvcs/IFR_Service/ifr_adding_visitor_structure.cpp: + * orbsvvcs/IFR_Service/ifr_adding_visitor_union.cpp: + * orbsvvcs/IFR_Service/ifr_visitor.cpp: + * orbsvvcs/IFR_Service/ifr_visitor.h: + + Changes related to corresponding changes in the TAO IDL + compiler regarding value types and #pragma prefix. + +Tue Jan 1 17:40:23 2002 Carlos O'Ryan <coryan@uci.edu> + + * orbsvcs/orbsvcs/AV/AVStreams_i.h: + * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: + Remove dummy copy constructor, that should clear some of the + builds. + +Tue Jan 1 09:38:58 2002 Venkita Subramonian <venkita@cs.wustl.edu> + + * examples/RTCORBA/Activity/Activity.cpp: + examples/RTCORBA/Activity/Builder.cpp: + Fixed compile errors. diff --git a/TAO/Makefile.bor b/TAO/Makefile.bor new file mode 100644 index 00000000000..152b2a4826b --- /dev/null +++ b/TAO/Makefile.bor @@ -0,0 +1,54 @@ +# +# Makefile for building ACE and TAO +# + +!ifndef BUILD +BUILD = typical +!endif + +!if $(BUILD) == minimal + +DIRS = \ + ..\ace \ + ..\apps\gperf\src \ + ..\XML \ + tao \ + TAO_IDL \ + orbsvcs + +!elif $(BUILD) == typical + +DIRS = \ + ..\ace \ + ..\apps\gperf\src \ + ..\XML \ + tao \ + TAO_IDL \ + orbsvcs \ + utils + +!elif $(BUILD) == all + +DIRS = \ + ..\ace \ + ..\apps \ + ..\netsvcs \ + ..\tests \ + ..\examples \ + ..\performance-tests \ + ..\XML \ + ..\XML\tests \ + tao \ + TAO_IDL \ + orbsvcs \ + examples \ + tests \ + performance-tests \ + orbsvcs\tests \ + utils + +!else +!error Please set your BUILD variable to one of "minimal", "typical" or "all". +!endif + +!include <$(ACE_ROOT)\include\makeinclude\recurse.bor> diff --git a/TAO/TAOACE.dsw b/TAO/TAOACE.dsw new file mode 100644 index 00000000000..21127c9de88 --- /dev/null +++ b/TAO/TAOACE.dsw @@ -0,0 +1,1115 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ACE DLL"=..\ace\ace_dll.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "ACE_SSL"=..\ace\SSL\ACE_SSL.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name ACE DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "AV"=.\orbsvcs\orbsvcs\AV.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosProperty
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosTrading
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name IORTable
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "BiDirGIOP"=.\tao\BiDir_GIOP\TAO_BiDir_GIOP.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Concurrency_Service"=.\orbsvcs\Concurrency_Service\Concurrency_Service.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosConcurrency
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosConcurrency"=.\orbsvcs\orbsvcs\CosConcurrency.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosEvent"=.\orbsvcs\orbsvcs\CosEvent.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosEvent_Service"=.\orbsvcs\CosEvent_Service\CosEvent_Service.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosEvent
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosLifeCycle"=.\orbsvcs\orbsvcs\CosLifeCycle.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosNaming"=.\orbsvcs\orbsvcs\CosNaming.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name Svc Utils
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name IORTable
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosNotification"=.\orbsvcs\orbsvcs\CosNotification.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosEvent
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name ETCL DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name DynamicAny
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosProperty"=.\orbsvcs\orbsvcs\CosProperty.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name gperf
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosTime"=.\orbsvcs\orbsvcs\CosTime.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosTrading"=.\orbsvcs\orbsvcs\CosTrading.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name DynamicAny
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Domain"=.\tao\Domain\TAO_Domain.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name PortableServer
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name IFR_Client
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "DsLogAdmin"=.\orbsvcs\orbsvcs\DsLogAdmin.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosTrading
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc Utils
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Dump_Schedule"=.\orbsvcs\Dump_Schedule\Dump_Schedule.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTOLDEvent
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTSched
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "DynamicAny"=.\tao\DynamicAny\TAO_DynamicAny.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "DynamicInterface"=.\tao\DynamicInterface\TAO_DynamicInterface.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "ETCL DLL"=.\orbsvcs\orbsvcs\ETCL\ETCL.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Event_Service"=.\orbsvcs\Event_Service\Event_Service.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTEvent
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTOLDEvent
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTSched
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTSchedEvent
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "FT ORB"=.\orbsvcs\orbsvcs\FT_ORB.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name ACE DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name IORManip
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Fault Tolerance"=.\orbsvcs\orbsvcs\Fault_Tolerance.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name ACE DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name FT ORB
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosEvent
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNotification
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name IORManip
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc Utils
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "IFR_Client"=.\tao\IFR_Client\TAO_IFR_Client.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "IFR_Service"=.\orbsvcs\IFR_Service\IFR_Service.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name Svc Utils
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name IORTable
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TypeCodeFactory
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "IORManip"=.\tao\IORManipulation\TAO_IORManip.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "IORTable"=.\tao\IORTable\TAO_IORTable.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "ImplRepo_Service"=.\orbsvcs\ImplRepo_Service\implrepo.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name ACE DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc Utils
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name IORTable
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name DynamicInterface
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "LifeCycle_Service"=.\orbsvcs\LifeCycle_Service\LifeCycle_Service.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosLifeCycle
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosTrading
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "LoadBalancing"=.\orbsvcs\orbsvcs\LoadBalancing.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "NT_Naming_Service"=.\orbsvcs\Naming_Service\NT_Naming_Service.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Naming_Service"=.\orbsvcs\Naming_Service\Naming_Service.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Notify_Service"=.\orbsvcs\Notify_Service\Notify_Service.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNotification
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "PortableGroup"=.\orbsvcs\orbsvcs\PortableGroup.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name PortableServer
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "PortableServer"=.\tao\PortableServer\TAO_PortableServer.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTCORBA"=.\tao\RTCORBA\TAO_RTCORBA.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTEvent"=.\orbsvcs\orbsvcs\RTEvent.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc Utils
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTSched
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTOLDEvent"=.\orbsvcs\orbsvcs\RTOLDEvent.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTEvent
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTSched
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTPortableServer"=.\tao\RTPortableServer\TAO_RTPortableServer.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name PortableServer
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTCORBA
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTSched"=.\orbsvcs\orbsvcs\RTSched.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc Utils
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTSchedEvent"=.\orbsvcs\orbsvcs\RTSchedEvent.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTEvent
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTSched
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "SSLIOP"=.\orbsvcs\orbsvcs\SSLIOP.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name ACE_SSL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Security
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Scheduling_Service"=.\orbsvcs\Scheduling_Service\Scheduling_Service.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTSched
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Security"=.\orbsvcs\orbsvcs\Security.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "SmartProxies"=.\tao\SmartProxies\SmartProxies.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Svc Utils"=.\orbsvcs\orbsvcs\Svc_Utils.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TAO DLL"=.\tao\TAO.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name ACE DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TAO_IDL Compiler"=.\TAO_IDL\tao_idl.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL_BE_DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL_FE_DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TAO_IDL_BE_DLL"=.\TAO_IDL\TAO_IDL_BE_DLL.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL_FE_DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TAO_IDL_FE_DLL"=.\TAO_IDL\TAO_IDL_FE_DLL.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name ACE DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name gperf
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TAO_IFR_BE_DLL"=.\orbsvcs\IFR_Service\TAO_IFR_BE_DLL.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name IFR_Service
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL_FE_DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TAO_Strategies"=.\tao\Strategies\TAO_Strategies.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Trading_Service"=.\orbsvcs\Trading_Service\Trading_Service.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosNaming
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosTrading
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc Utils
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TypeCodeFactory"=.\tao\TypeCodeFactory\TypeCodeFactory.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name IFR_Client
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "gperf"=..\apps\gperf\src\gperf.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name gperf_lib
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name ACE DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "tao_ifr"=.\orbsvcs\IFR_Service\tao_ifr.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL_FE_DLL
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IFR_BE_DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "tao_imr"=.\orbsvcs\ImplRepo_Service\tao_imr.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/TAO/TAOACE_Static.dsw b/TAO/TAOACE_Static.dsw new file mode 100644 index 00000000000..a19365f7e79 --- /dev/null +++ b/TAO/TAOACE_Static.dsw @@ -0,0 +1,686 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ACE LIB"=..\ace\ace_lib.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "AV_Static"=.\orbsvcs\orbsvcs\AV_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosProperty_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc_Utils_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosConcurrency_Static"=.\orbsvcs\orbsvcs\CosConcurrency_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosEvent_Static"=.\orbsvcs\orbsvcs\CosEvent_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosLifeCycle_Static"=.\orbsvcs\orbsvcs\CosLifeCycle_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosNaming_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosNaming_Static"=.\orbsvcs\orbsvcs\CosNaming_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name IORTable_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc_Utils_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosNotification_Static"=.\orbsvcs\orbsvcs\CosNotification_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name PortableServer_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosEvent_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc_Utils_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name ETCL_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosProperty_Static"=.\orbsvcs\orbsvcs\CosProperty_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name PortableServer_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosTime_Static"=.\orbsvcs\orbsvcs\CosTime_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc_Utils_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CosTrading_Static"=.\orbsvcs\orbsvcs\CosTrading_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Domain_static"=.\tao\Domain\TAO_Domain_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name IFR_Client_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "DsLogAdmin_Static"=.\orbsvcs\orbsvcs\DsLogAdmin_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosTrading_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "DynamicInterface_Static"=.\TAO\DYNAMICINTERFACE\TAO_DynamicInterface_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "ETCL_Static"=.\orbsvcs\orbsvcs\ETCL\ETCL_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Event_Service_static"=.\orbsvcs\Event_Service\Event_Service_static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "IFR_Client_Static"=.\tao\IFR_Client\TAO_IFR_Client_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "IORManip_Static"=.\tao\IORManipulation\TAO_IORManip_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "IORTable_Static"=.\tao\IORTable\TAO_IORTable_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "LoadBalancing_Static"=.\orbsvcs\orbsvcs\LoadBalancing_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Naming Service Static"=.\orbsvcs\Naming_Service\Naming_Server_static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name ACE LIB
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name CosNaming_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name gperf
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc_Utils_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name IORTable_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "PortableServer_Static"=.\tao\PortableServer\TAO_PortableServer_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTCORBA_Static"=.\tao\RTCORBA\TAO_RTCORBA_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTEvent_Static"=.\orbsvcs\orbsvcs\RTEvent_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc_Utils_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTOLDEvent_Static"=.\orbsvcs\orbsvcs\RTOLDEvent_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosNaming_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTEvent_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTSched_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTPortableServer_Static"=.\tao\RTPortableServer\TAO_RTPortableServer_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name PortableServer_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTCORBA_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTSchedEvent_Static"=.\orbsvcs\orbsvcs\RTSchedEvent_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosNaming_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTEvent_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name RTSched_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc_Utils_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "RTSched_Static"=.\orbsvcs\orbsvcs\RTSched_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name CosNaming_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name PortableServer_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name Svc_Utils_Static
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "SmartProxies_Static"=.\tao\SmartProxies\SmartProxies_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Svc_Utils_Static"=.\orbsvcs\orbsvcs\Svc_Utils_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL Compiler Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TAO LIB"=.\tao\TAO_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name ACE LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TAO_IDL Compiler Static"=.\TAO_IDL\tao_idl_static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL_BE_LIB
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL_FE_LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TAO_IDL_BE_LIB"=.\TAO_IDL\TAO_IDL_BE_LIB.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO_IDL_FE_LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TAO_IDL_FE_LIB"=.\TAO_IDL\TAO_IDL_FE_LIB.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name ACE LIB
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name gperf
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TAO_Strategies_Static"=.\tao\Strategies\TAO_Strategies_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name TAO LIB
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TypeCodeFactory_Static"=.\tao\TypeCodeFactory\TypeCodeFactory_Static.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name IFR_Client_Static
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "gperf"=..\apps\gperf\src\gperf.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name ACE LIB
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name gperf_lib
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/TAO/rules.tao.GNU b/TAO/rules.tao.GNU new file mode 100644 index 00000000000..5f3716eede8 --- /dev/null +++ b/TAO/rules.tao.GNU @@ -0,0 +1,244 @@ +#---------------------------------------------------------------------------- +# +# $Id$ +# +# Common Makefile rules for all of TAO +# +#---------------------------------------------------------------------------- + +#### +#### Required macros for TAO. +#### +ifndef TAO_ROOT + TAO_ROOT = $(ACE_ROOT)/TAO +endif + +ifndef TAO_IDL + TAO_IDL = $(TAO_ROOT)/TAO_IDL/tao_idl +endif + +TAO_IDL_DEP = $(TAO_IDL)$(EXEEXT) + +ifndef COMSPEC + ifdef ComSpec + #### ACE+TAO use COMSPEC, but ComSpec is defined. + COMSPEC = $(ComSpec) + endif # ComSpec +endif # ! COMPSPEC + +ifdef COMSPEC + #### Assume we're on a WIN32 host. + ifndef TAO_IDL_PREPROCESSOR + #### Assume we have Bourne shell and sed. Otherwise, the user + #### should find out here that the TAO_IDL_PREPROCESSOR environment + #### variable must be set explicitly! + ifneq ($(mingw32),1) + TAO_IDL_PREPROCESSOR := $(shell type $(CXX) | sed 's/.* is //') + else + TAO_IDL_PREPROCESSOR := \ + $(shell cygpath -w $(shell type $(CXX) | sed 's/.* is //')) + endif # !mingw32 + endif # ! TAO_IDL_PREPROCESSOR +endif # COMSPEC + +#### +#### TAO libraries +#### +TAO_BASE_LIBS=-lTAO $(ACELIB) $(LIBS) +RT_TAO_BASE_LIBS=-lTAO_RTCORBA $(TAO_BASE_LIBS) +TAO_SRVR_LIBS=-lTAO_PortableServer $(TAO_BASE_LIBS) +RT_TAO_SRVR_LIBS=-lTAO_RTPortableServer -lTAO_PortableServer $(RT_TAO_BASE_LIBS) +TAO_CLNT_LIBS= $(TAO_BASE_LIBS) +RT_TAO_CLNT_LIBS= $(RT_TAO_BASE_LIBS) +TAO_DYNAMIC_LIBS=-lTAO_DynamicInterface + +#### +#### Macro customization. +#### +ifeq ($(findstring g++,$(CXX)),g++) + ifeq ($(ACE_HAS_GNUG_PRE_2_8),1) + #### g++ < 2.8 complains about unused parameters in generated code. + CCFLAGS += -Wno-unused + ami=0 + endif # g++ < 2.8 +endif # g++ + +ifeq ($(minimum_corba),1) + ifndef rt_corba + rt_corba = 0 + endif # ! rt_corba + ifndef corba_messaging + corba_messaging = 0 + endif # ! corba_messaging + ifndef ami + ami = 0 + endif # ! ami + ifndef interceptors + interceptors = 0 + endif # ! interceptors + CPPFLAGS += -DTAO_HAS_MINIMUM_CORBA=1 +else # minimum_corba + override minimum_corba = 0 +endif # minimum_corba + +ifeq ($(ami),0) + CPPFLAGS += -DTAO_HAS_AMI=0 +else + override ami = 1 + # The following line is not needed, + # the $TAO_ROOT/tao/orbconf.h file defines it by default + # CPPFLAGS += -DTAO_HAS_AMI=1 + ifndef ami_callback + ami_callback = 1 + endif # ! ami_callback + ifndef ami_poller + ami_poller = 1 + endif # ! ami_poller +endif # ami + +ifeq ($(ami_poller),0) + CPPFLAGS += -DTAO_HAS_AMI_POLLER=0 +else # ami_poller + override ami_poller = 1 + # The following line is not needed, + # the $TAO_ROOT/tao/orbconf.h file defines it by default + # CPPFLAGS += -DTAO_HAS_AMI_POLLER=1 +endif # ami_poller + +ifeq ($(ami_callback),0) + CPPFLAGS += -DTAO_HAS_AMI_CALLBACK=0 +else # ami_callback + override ami_callback = 1 + # The following line is not needed, + # the $TAO_ROOT/tao/orbconf.h file defines it by default + # CPPFLAGS += -DTAO_HAS_AMI_CALLBACK=1 +endif # ami_callback + +ifeq ($(rt_corba),0) + CPPFLAGS += -DTAO_HAS_RT_CORBA=0 +else # rt_corba + override rt_corba = 1 + # The following line is not needed, + # the $TAO_ROOT/tao/orbconf.h file defines it by default + # CPPFLAGS += -DTAO_HAS_RT_CORBA=1 +endif # rt_corba + +ifeq ($(corba_messaging),0) + CPPFLAGS += -DTAO_HAS_CORBA_MESSAGING=0 +else # corba_messaging + override corba_messaging = 1 + # The following line is not needed, + # the $TAO_ROOT/tao/orbconf.h file defines it by default + # CPPFLAGS += -DTAO_HAS_CORBA_MESSAGING=1 +endif # corba_messaging + +ifeq ($(interceptors),0) + CPPFLAGS += -DTAO_HAS_INTERCEPTORS=0 +else # interceptors + override interceptors = 1 + # The following line is not needed, + # the $TAO_ROOT/tao/orbconf.h file defines it by default + # CPPFLAGS += -DTAO_HAS_INTERCEPTORS=1 +endif # interceptors + +ifeq (1,$(CROSS-COMPILE)) +else +ifeq (1,$(ACE_HAS_GNUG_PRE_2_8)) +endif # ! ACE_HAS_GNUG_PRE_2_8 +endif # ! CROSS-COMPILE + +#### +#### Event Channel customization. +#### +# Uncomment out the following line (or invoke make with +# TAO_LACKS_EVENT_CHANNEL_ANY=1) +# if you don't want support for anys in the Event Channel. +# TAO_LACKS_EVENT_CHANNEL_ANY = 1 +ifneq ($(TAO_LACKS_EVENT_CHANNEL_ANY),) + override TAO_LACKS_EVENT_CHANNEL_ANY = -DTAO_LACKS_EVENT_CHANNEL_ANY +endif + +# TAO_LACKS_EVENT_CHANNEL_OCTET_SEQUENCE = 1 +ifneq ($(TAO_LACKS_EVENT_CHANNEL_OCTET_SEQUENCE),) + override TAO_LACKS_EVENT_CHANNEL_OCTET_SEQUENCE := \ + -DTAO_LACKS_EVENT_CHANNEL_OCTET_SEQUENCE +endif + +# TAO_LACKS_EVENT_CHANNEL_TIMESTAMPS = 1 +ifneq ($(TAO_LACKS_EVENT_CHANNEL_TIMESTAMPS),) + override TAO_LACKS_EVENT_CHANNEL_TIMESTAMPS := \ + -DTAO_LACKS_EVENT_CHANNEL_TIMESTAMPS +endif + +TAO_IDLFLAGS += \ + $(TAO_LACKS_EVENT_CHANNEL_ANY) \ + $(TAO_LACKS_EVENT_CHANNEL_OCTET_SEQUENCE) \ + $(TAO_LACKS_EVENT_CHANNEL_TIMESTAMPS) + +CPPFLAGS += \ + $(TAO_LACKS_EVENT_CHANNEL_ANY) \ + $(TAO_LACKS_EVENT_CHANNEL_OCTET_SEQUENCE) \ + $(TAO_LACKS_EVENT_CHANNEL_TIMESTAMPS) + +#### +#### Build rules. +#### +IDL_EXT_MINUS=$(IDL_CLIENT_INL_EXT) $(IDL_CLIENT_SRC_EXT) \ + $(IDL_SERVER_HDR_EXT) $(IDL_SERVER_INL_EXT) \ + $(IDL_SERVER_SRC_EXT) $(IDL_SERVER_THDR_EXT) \ + $(IDL_SERVER_TINL_EXT) $(IDL_SERVER_TSRC_EXT) +IDL_EXT=$(IDL_CLIENT_HDR_EXT) $(IDL_EXT_MINUS) +IDL_EXT2_MINUS=Cli.i Cli.cpp Ser.h Ser.i Ser.cpp Ser_T.h Ser_T.i Ser_T.cpp +IDL_EXT2=Cli.h $(IDL_EXT2_MINUS) + +.SUFFIXES: $(IDL_EXT) + +ifneq ($(use_flick),1) +$(foreach ext, $(IDL_EXT_MINUS), %$(ext)): %$(IDL_CLIENT_HDR_EXT) + @ + +ifneq ($(tao_dont_use_idl_make_rule),1) +%C.h: %.idl $(TAO_IDL_DEP) + $(TAO_IDL) $(TAO_IDLFLAGS) $< +endif + +$(foreach ext, $(IDL_EXT2_MINUS), %$(ext)): %Cli.h + @ + +ifneq ($(tao_dont_use_idl_make_rule),1) +%Cli.h: %.idl $(TAO_IDL_DEP) + $(TAO_IDL) $(TAO_IDLFLAGS) $< +endif + +else +#### You can redefine the following in your platform_macros.GNU + +ifndef FLICK_SRCDIR + FLICK_SRCDIR = /project/doc/nanbor/mom +endif +ifndef FLICK_OBJDIR + FLICK_OBJDIR = /project/doc/nanbor/dad +endif + +CCFLAGS += -I$(FLICK_OBJDIR)/runtime/headers -I$(FLICK_SRCDIR)/runtime/headers + +CORBA_FE=$(FLICK_OBJDIR)/bin/flick-fe-newcorba +CORBA_PG=$(FLICK_OBJDIR)/bin/flick-c-pfe-corbaxx +CORBA_BE=$(FLICK_OBJDIR)/bin/flick-c-pbe-iiopxx + +ifneq ($(tao_dont_use_idl_make_rule),1) +$(foreach ext, $(IDL_EXT) $(IDL_EXT2), %$(ext)): %.idl + $(CORBA_FE) $< && \ + $(CORBA_PG) -c -o $*-client.prc $*.aoi && \ + $(CORBA_BE) $*-client.prc -o $*$(IDL_CLIENT_SRC_EXT) -h $*$(IDL_CLIENT_HDR_EXT) -f $*$(IDL_SERVER_HDR_EXT) --presentation_implementation $(FLICK_SRCDIR)/runtime/headers/flick/pres/tao_cxx.scml && \ + echo > $*$(IDL_CLIENT_INL_EXT) + $(CORBA_FE) $< && \ + $(CORBA_PG) -s -o $*-server.prc $*.aoi && \ + $(CORBA_BE) $*-server.prc --no_mu_stubs -o $*$(IDL_SERVER_SRC_EXT) -h $*$(IDL_SERVER_HDR_EXT) -F $*$(IDL_CLIENT_HDR_EXT) --presentation_implementation $(FLICK_SRCDIR)/runtime/headers/flick/pres/tao_cxx.scml && \ + echo > $*$(IDL_SERVER_INL_EXT) && \ + echo > $*$(IDL_SERVER_THDR_EXT) && \ + echo > $*$(IDL_SERVER_TINL_EXT) && \ + echo > $*$(IDL_SERVER_TSRC_EXT) +endif # tao_dont_use_idl_make_rule + +endif # use_flick = 1 diff --git a/THANKS b/THANKS new file mode 100644 index 00000000000..5b02b03071e --- /dev/null +++ b/THANKS @@ -0,0 +1,1454 @@ +ACKNOWLEDGEMENTS + +ACE and TAO have been deeply influenced and improved by the following +members of my research group at Washington University and at the +University of California at Irvine. + +Everett Anderson <eea1@cec.wustl.edu> +Alexander Babu Arulanthu <alex@cs.wustl.edu> +Shawn Atkins <sma1@cs.wustl.edu> +Matt Braun <mjb2@cs.wustl.edu> +Darrell Brunsch <brunsch@uci.edu> +Chris Cleeland <cleeland@cs.wustl.edu> +Angelo Corsaro <corsaro@cs.wustl.edu> +Mayur Deshpande <mayur@ics.uci.edu> +Eric Ding <qnd1@cs.wustl.edu> +Sergio Flores-Gaitan <sergio@cs.wustl.edu> +Chris Gill <cdgill@cs.wustl.edu> +Andrew G. Gilpin <agg1@cs.wustl.edu> +Aniruddha Gokhale <gokhale@cs.wustl.edu> +Priyanka Gontla <pgontla@ece.uci.edu> +Pradeep Gore <pradeep@cs.wustl.edu> +Shawn Hannan <hannan@cs.wustl.edu> +Tim Harrison <harrison@cs.wustl.edu> +John Heitmann <jwh1@cs.wustl.edu> +James Hu <jxh@cs.wustl.edu> +Prashant Jain <pjain@cs.wustl.edu> +Vishal Kachroo <vishal@cs.wustl.edu> +Michael Kircher <Michael.Kircher@mchp.siemens.de> +Yamuna Krishnamurthy <yamuna@cs.wustl.edu> +Fred Kuhns <fredk@cs.wustl.edu> +David Levine <levine@cs.wustl.edu> +Mike Moran <mm4@cs.wustl.edu> +Sumedh Mungee <sumedh@cs.wustl.edu> +Balachandran Natarajan <bala@cs.wustl.edu> +Kirthika Parameswaran <kirthika@cs.wustl.edu> +Krishnakumar Pathayapura <krish@cs.wustl.edu> +Carlos O'Ryan <coryan@uci.edu> +Ossama Othman <ossama@uci.edu> +Jeff Parsons <parsons@cs.wustl.edu> +Irfan Pyarali <irfan@cs.wustl.edu> +Marina Spivak <marina@cs.wustl.edu> +Venkita Subramonian <venkita@cs.wustl.edu> +Nagarajan Surendran <naga@cs.wustl.edu> +Nanbor Wang <nanbor@cs.wustl.edu> +Seth Widoff <sbw1@cs.wustl.edu> +Torben Worm <tworm@cs.wustl.edu> + +I would also like to thank all the following people who have also +contributed to ACE and TAO over the years: + +Paul Stephenson <pstephenson@objectspace.com> +Olaf Kruger <okruger@cssc-melb.tansu.com.au> +Ed Brown <eebrown@netcom.com> +Lee Baker <baker@ctis.af.mil> +Alex Ranous <ranous@nsa.hp.com> +Mark Patton <mark_patton@tx72.mot.com> +Steffen Winther Sorensen <sts@siimnet.dk> +Troy Warner <tnw1@core01.osi.com> +Stacy Mahlon <mcs@contour.mayo.edu> +Charles Eads <eads@synoptics.com> +Mark Frutig <mfrutig@fnbc.com> +Todd Hoff <thm@ictv.com> +George <george@truffula.fp.trw.com> +Brad Needham <bneedham@ix.netcom.com> +Leslee Xu <lxu@ics.uci.edu> +Detlef Becker <Detlef.Becker@med.siemens.de> +Bruce Worden <bruce@betsy.gps.caltech.edu> +Chris Tarr <ctarr@objectspace.co> +Bill Sears <wsears@world.std.com> +Greg Lavender <g.lavender@isode.com> +Steve Warwick <sjw@aesthetic.com> +Mats Sundvall <sundvall@perrier.embnet.se> +Andreas Ueltschi <Andreas.Ueltschi@ska.com> +Nigel Hooke <n.hooke@trl.oz.au> +Medhi Tabatabai <Mehdi.Tabatabai@ed.nce.sita.int> +Stuart Powell <stuartp@ot.com.au> +Bin Mu <mubin@wfg.com> +Andrew McGowan <mcgowan@wg2.waii.com> +Ken Konecki <kenk@wfg.com> +John P. Hearn <jph@ccrl.nj.nec.com> +Giang Hoang Nguyen <yang@titan.com> +Carlos Garcia Braschi <cgarcia@caramba.tid.es> +Jam Hamidi <jh1@osi.com> +Eric Vaughan <evaughan@arinc.com> +Karlheinz Dorn <Karlheinz.Dorn@med.siemens.de>, +Gerhard Lenzer <Gerhard.Lenzer@med.siemens.de> +Steve Ritter <ritter@titan.com> +Chandra Venkatapathy <cvenkat@develop.bsis.com> +Matt Stevens <mstevens@kirk.softeng.infonautics.com> +Bob Vistica <robertv@ims.com> +David Trumble <trumble@cvg.enet.dec.com> +George Reynolds <george@dvcorp.com> +Hans Rohnert <hans.rohnert@mchp.siemens.de> +Alex V. Maclinovsky <alexm@teltrunk1.tait.co.nz> +Todd Blanchard <tblancha@evolving.com> +Rob Clairmont <rclairmo@bnr.ca> +Christian Millour <chris@etca.fr> +Neil B. Cohen <nbc@cisco.com> +Dieter Quehl <Dieter.Quehl@med.siemens.de> +Reginald S. Perry <perry@zso.dec.com> +James Morris <jmorris@aurora.apana.org.au> +Mark Seaborn <mseaborn@itthp1.comm.mot.com> +Phil Brooks <phil_brooks@mentorg.com> +E. Jason Scheck <jasons@ims.com> +Daniel Proulx <daproulx@qc.bell.ca> +Bill Tang <tang@tekats.com> +John Huchinson <hutchiso@epi.syr.ge.com> +Jack Erickson <JErickson@exchange.ml.com> +Byron Walton <bwalton@hughes.scg.hac.com> +Bill Lear <rael@anarchy.cybercom.net> +Mark Zusman <marklz@topaz.technion.ac.il> +Aurelio Nocerino <aurelio@irsipcs2-27-le0.irsip.na.cnr.it> +Walt Akers <akers@cebaf.gov> +Greg Baker <GBaker@p01.az15m.iac.honeywell.com> +Alexandre Karev <karev@vxcern.cern.ch> +Pramod Kumar Singh <pramod@saturn.miel.mot.com> +Bryon Rigg <bryon_rigg@mail.telecorpsys.com> +Brad Brown <Brad.A.Brown@usa.alcatel.com> +Patty Genualdi <genualdp@agcs.com> +Eshel Liran <liran@bimacs.cs.biu.ac.il> +Mick Adams <eeimas@eei.ericsson.se> +Chris Eich <Chris_Eich@optilink.optilink.dsccc.com> +Mike Flinn <mike.flinn@smtpgate.aws.waii.com> +Audun Tornquist <Audun.Tornquist@iu.hioslo.no> +Sandeep Joshi <sandeepj@emailbox.att.com> +Bernd Hofner <hofner@pd.et-inf.uni-siegen.de> +Craig Perras <cperras@watchguard.com> +Kirk Sinnard <kirk.sinnard@lawson.com> +Matthew Newhook <matthew@ooc.com> +Gerolf Wendland <wendland@hpp015.mch2.scn.de> +Phil Mesnier <mesnier_p@ociweb.com> +Ross Dargahi <rossd@krinfo.com> +Richard Orr <rorr@costello.den.csci.csc.com> +Rich Ryan <rryan@mseng.kla.com> +Jan Rychter <jwr@icm.edu.pl> +Tom Marrs <0002104588@mcimail.com> +Bob Olson <olson@mcs.anl.gov> +Jean-Francois Ripouteau <Jean-Francois.Ripouteau@netsurf.org> +Ajit Sagar <asagar@spdmail.spd.dsccc.com> +Ashish Singhai <singhai@delirius.cs.uiuc.edu> +David Sames <David.L.Sames.1@gsfc.nasa.gov> +Gonzalo Diethelm <gonzalo.diethelm@aditiva.com> +Raj <raj@itd.ssb.com> +Darrin Edelman <darrin@aetherworks.com> +Steve Weismuller <spweismu@rsoc.rockwell.com> +Eric C. Newton <ecn@fault-tolerant.org> +Andres Kruse <andres.kruse@creaturelabs.com> +Ramesh Nagabushnam <rcn@nynexst.com> +Antonio Tortorici <antonio@rh0011.roma.tlsoft.it> +Nigel Lowe <nigel@nt.com> +Tom Leith <trl@icon-stl.net> +Michael Fortinsky <mike@vocaltec.com> +Marco Sommerau <sommerau@matisse.informatik.uni-stuttgart.de> +Gary Salsbery <gsalsber@simsun.atsc.allied.com> +Eric Beser <beser@simsun.atsc.allied.com> +Alfred Keller <kellera@pop.eunet.ch> +John Lu <johnlu@f1.telekurs.ch> +James Mansion <james@wgold.demon.co.uk> +Jesper S. M|ller <Jesper.Moller@ameridata.dk> +Chris Lahey <clahey@cccis.com> +Michael R"uger <m_rueger@syscomp.de> +Istvan Buki <istvan.buki@euronet.be> +Greg Wilson <gvwilson@vnet.ibm.com> +Garrett Conaty <gconaty@outbackinc.com> +Brad Flood <BFLOOD@slc.unisysgsg.com> +Marius Kjeldahl <marius@funcom.com> +Steve Huston <shuston@riverace.com> +Eugene K. Plaude <jec@r-style.msk.su> +Joseph DeAngelis <bytor@faxint.com> +Kim Gillies <gillies@noao.edu> +Luca Priorelli <lucapri@mbox.vol.it> +Alan Stewart <axs2@osi.com> +Hani Yakan <hani@i-online.com> +William L. Gerecke <gerecke@rayva.org> +Craig Johnston <johnston@tortilla.ds.boeing.com> +Pierre-Yves Duval <duval@cppm.in2p3.fr> +Rochi Febo Dommarco <rocky@alter.it> +Jonathan Biggar <jon@biggar.org> +Scott Shupe <shupes@mitre.org> +Chuck Gehr <gehr@sweng.stortek.com> +Avi Nash <anash@RedBrick.COM> +Padhu Ramalingam <padhu@magicnet.net> +Jay Denkberg <jay_denkberg@comverse.com> +Ayman Farahat <afarahat@CCGATE.HAC.COM> +Tilo Christ <christ@swl.fh-heilbronn.de> +Ari Erev <Ari_Erev@icomverse.com> +Hamutal Yanay <Hamutal_Yanay@icomverse.com> +Vital Aza <va3@cs.wustl.edu> +Alex Villazon <villazon@cui.unige.ch> +David Artus <david.artus@sbil.co.uk> +Todd Barkalow <todd_barkalow@stortek.com> +Alexander Smundak <sasha@migration.com> +Thilo Kielmann <kielmann@informatik.uni-siegen.de> +Matthias Kerkhoff <make@cs.tu-berlin.de> +Fred LaBar <flabar@fallschurch.esys.com> +Hanan Herzog <hanan@wallenda.stanford.edu> +Eric Parker <eparker@credence.com> +James Michael Dwyer <jdwyer@knox.edu> +Arun Katkere <katkere@praja.com> +Bob Dunmire <bobd@titan.com> +Sandro Doro <doro.s@flashnet.it> +Robert Lyng <rlyng@synertech.highmark.com> +Phil Logan <phill@in.ot.com.au> +John Cosby <John.D.Cosby@cpmx.saic.com> +Wayne Vucenic <wvucenic@netgate.net> +Harry Gunnarsson <hg@carmenta.se> +James CE Johnson <jcej@lads.com> +Samuel_Bercovici <Samuel_Bercovici_at_EFT__AD2@mail.icomverse.com> +Per Andersson <Per.Andersson@hfera.ericsson.se> +Anthony McConnell <Tonym@datel.demon.co.uk> +Mark Rabotnikov <mark@usp.elscintcorp.co.il> +John Bossom <John.Bossom@Cognos.COM> +Rino Simioni <sir@necsy.it> +Slawomir Kuzniar <kuzniar@Bear.COM> +Rob Jordan <jordan@hursley.ibm.com> +Michael Maxie <maxie@acm.org> +John Cosby <John.D.Cosby@cpmx.saic.com> +Nigel Owen <Nigel@voicelink.co.nz> +Jorn Jensen <jornj@funcom.com> +Paul Roman <proman@npac.syr.edu> +Dave Mayerhoefer <davem@lynx.com> +Bert Craytor <Bert_Craytor@peoplesoft.com> +Joey Zhu <joey.zhu@wcom.com> +Arthur J. Lewis <hfdh99a@prodigy.com> +Michael R. MacFaden <mrm@yagosys.com> +Paul Han <phan@CCGATE.HAC.COM> +Jeff Morgan <jeff@audioactive.com> +Arturo Montes <mitosys@colomsat.net.co> +Elliot Lau <eeklau@post1.com> +Mark Wright <markw@odi.com.au> +Michael Newton <michaeln@in.ot.com.au> +Kumar Neelakantan <kneelaka@painewebber.com> +Scott Halstead <scott.halstead@gs.com> +Jean-Marc Strauss <jms97@club-internet.fr> +Adam Porter <aporter@cs.umd.edu> +Hakan Kallberg <hk@simulina.se> +Eric Dean Russell <edrusse@somnet.sandia.gov> +Daniel Montalibet <daniel_montalibet@stortek.com> +Norbert Rapp <norbert.rapp@nexus-informatics.de> +Ganesh Pai <gpai@voicetek.com> +Berni Merkle <merkle@io.freinet.de> +Tom Wright <twright@gem-net.demon.co.uk> +Torbjorn Lindgren <tl@funcom.no> +Mike Bernat <sagmb@sagus.com> +Brian Mendel <brian.r.mendel@boeing.com> +Jeremy Buch <davinci@nortel.ca> +Kevin Boyle <kboyle@sanwafp.com> +Kevin Martindale <kevin_martindale@stortek.com> +Luis Lopes <llopes@tick.rcc.Ryerson.CA> +Adrian Salt <acsalt@magi.com> +Hongbo Xu <hxu@mas.co.nz> +Michael Hartman <c62nt57@ibx.com> +Tom Dobridge <dobridge@persimmon.com> +Rich Christy <rchristy@cccis.com> +Satoshi Ueno <satoshi.ueno@gs.com> +Eugene R. Somdahl <gene@endo.com> +Robert Head <rhead@mail.virtc.com> +Ivan Murphy <Ivan.Murphy@med.siemens.de> +Jan Perman <jan.perman@osd.uab.ericsson.se> +Shankar Krishnamoorthy <kshankar@lucent.com> +Reza Roodsari <reza@sprynet.com> +Jim Crossley <jim@lads.com> +Johannes Gutleber <Johannes.Gutleber@cern.ch> +Marina Spivak <marina@cs.wustl.edu> +Yigong Liu <ygl@emailbox.lucent.com> +Erik Urdang <erik@bhi.com> +Mike Schweiger <mikes@bmo.com> +Anthony Mutiso <amutiso@hughes.cg.hac.com> +Jeff R. Hayes <Jeff.Hayes@osi.com> +David Brackman <dbrackman@OhioEE.com> +Dave Moore <dave.moore@gecm.com> +Joseph Cross <joseph.k.cross@lmco.com> +Cherif Sleiman <sleiman@research.moore.com> +Stefan Ericsson <Stefan.Ericsson@osd.uab.ericsson.se> +Wei Chiang <wei.chiang@horizon.ntc.nokia.com> +Thanh Ma <tma@encore.com> +Oleg Krivosheev <kriol@fnal.gov> +Stephen Coy <stevec@wsa.com.au> +Bob Laferriere <laferrie@gsao.med.ge.com> +Satheesh Kumar MG <satheesh@india.aspectdv.com> +Karen Amestoy <kamestoy@CCGATE.HAC.COM> +Jeff Richard <jrichard@OhioEE.com> +Samuel Melamed <sam@vdo.net> +Vladimir Schipunov <vlad@staff.prodigy.com> +Felix Popp <fxpopp@immd9.informatik.uni-erlangen.de> +Billy Quinn <bquinn@lads.com> +Michael McKnight <mcknight@signalsoftcorp.com> +Huiying Shen <shen@environ.org> +Alex Chan <Alex.Chan@Aspect.com> +Aaron Valdivia <avaldivia@hns.com> +Edan Ayal <edan@bandwiz.com> +Jeffrey Peterson <jpeterson@fallschurch.esys.com> +Neil Lavelle <nlavelle@imcl.com> +Steven Wohlever <wohlever@mitre.org> +Manojkumar Acharya <mja@cvsf325.gpt.co.uk> +Evgeny Beskrovny <evgeny_beskrovny@icomverse.com> +Kirill Rybaltchenko <Kirill.Rybaltchenko@cern.ch> +Laura Paterno <lpaterno@d0chb.fnal.gov> +Ben Eng <ben@jetpen.com> +Mike Kamrad <J.M.KAMRAD.II@cdev.com> +Marios Zikos <zikos@csi.forth.gr> +Mark L Boriack <mboriack@dctc.saic.com> +Mark Hyett <mhyett@dctd.saic.com> +Caleb Epstein <epstein_caleb_unix@jpmorgan.com> +Valik Solrzano Barboza <valik@xs4all.nl> +John Connett <jrc@skylon.demon.co.uk> +Tom Arbuckle <arbuckle@uran.informatik.uni-bonn.de> +Stephen Henry <shenry@mdc.com> +Dani Flexer <danif@ivory-sw.com> +Michael Hoffman <Hoffman_Michael@mac-mailserver.atc.ll.mit.edu> +John Lindal <jafl@cheshire-cat.caltech.edu> +Dustin Laurence <laurence@alice.wonderland.caltech.edu> +Ernie Makris <emakris@ziplink.net> +Timothy A. Brown <tabrown@montana.com> +Patrick J. McNerthney <pat@cartia.com> +Lori Anderson <lori@probita.com> +Erik Margraf <erik@asgard.gud.siemens.co.at> +Bryan Doerr <Bryan.S.Doerr@boeing.com> +Adam Miller <adam@royalblueny.com> +Thomas Jordan <ace@programmer.net> +Keith Nicewarner <knicewar@erg.sri.com> +Frederic Andres <andres@rd.nacsis.ac.jp> +Achint Sandhu <sandhu@nortelnetworks.com> +Mitch Kuninsky <Mitch_Kuninsky@avid.com> +Alex Chan <Alex.Chan@Aspect.com> +Jeff Hellzen <JHellzen@hwdcsaws.cahwnet.gov> +Thomas Venturella <thomas.e.venturella@boeing.com> +Philippe O'Reilly <philippe@robot.ireq.ca> +Stan Leeson <STANLEY.D.LEESON@cdev.com> +Richard Keizer <RICHARD.L.KEIZER@cdev.com> +Edgar Villanueva <edgarvil@ix.netcom.com> +Oliver Kellogg <Oliver.Kellogg@vs.dasa.de> +Dave Meyer <dmeyer@std.saic.com> +Thomas Hampson <thomas.hampson@lmco.com> +Jay Kistler <jjk@pa.dec.com> +Scott Snyder <snyder@d0sgif.fnal.gov> +Mark Evans <mark.evans@tandem.com> +Todd Pack <todd@rwii.com> +Mark Maris <maris@scgp.com> +Jason Katz <Jason@email.rts-inc.com> +Jim Penny <jpenny@universal-fasteners.com> +Chris Ryan <cryan@qualcomm.com> +J. Russell Noseworthy <rnosewor@objectsciences.com> +Carol Sanders <Carol.Sanders@Boeing.com> +Jerry Bickle <glbick@most.fw.hac.com> +Paul von Behren <Paul_von_Behren@stortek.com> +Sudish Joseph <sj@eng.mindspring.net> +Loren Rittle <rittle@comm.mot.com> +Alexander Ovsiankin <sasha@technologist.com> +Fred Kuhns <fredk@arl.wustl.edu> +Ravi Nagabhyru <ravi@future-minds.com> +Tom Brusehaver <tgb@cozy.netco.com> +Dave Tallman <tallman@acsys.com> +Monish Rajpal <monish@cs.jhu.edu> +Garry Brother <gmbroth@romulus.ncsc.mil> +Andreas Schuelke <Andreas.Schuelke@med.siemens.de> +Ganapathi <guns@fs.IConNet.NET> +James Garrison <jhg@austx.tandem.com> +Brad Walton <brad.walton@transnexus.com> +Paul Motuzenko <p_motuzenko@hotmail.com> +Kurt Sussman <kls@best.com> +Rob Thornton <ret1@cec.wustl.edu> +Chanaka Liyanaarachchi <chanaka@ociweb.com> +Saneyasu <sane@sail.t.u-tokyo.ac.jp> +Steve Kay <slk1@icore.ih.lucent.com> +Greg White <gwhite@northlink.com> +Ki-hyun Yoon <abird@nextware.co.kr> +Umar Syyid <usyyid@hotmail.com> +Bill Fulton <Bill_A_Fulton@raytheon.com> +Amancio Hasty <hasty@rah.star-gate.com> +Zoran Ivanovic <Zoran_Ivanovic@i2.com> +Sree Oggu <dharani@sutmyn.com> +James Risinger <jrisinge@cgi.com> +Leo Modica <lmodica@lucent.com> +Bob Scott <bob_scott@broder.com> +Mark Kettner <m.kettner@elsevier.nl> +Kent Watsen <kent@watsen.net> +Chris Healey <chealey@entera.com> +Philippe Klein <Philippe_Klein@vocaltec.com> +William S. Lear <rael@dejanews.com> +John Geiss <jtgb@eci-esyst.com> +Ernesto Guisado <eguisado@saincotrafico.com> +Stuart Myles <smyles@wsj.dowjones.com> +Lothar Werzinger <lwerzinger@krones.de> +Andrew Harbick <aharbick@opentext.com> +Pavel Motuzenko <p_motuzenko@hotmail.com> +Ross J. Lillie <lillie@rsch.comm.mot.com> +Sam Hauer <shauer@nmo.gtegsc.com> +Frank. J. Hodum <fhodum@dctd.saic.com> +David Miron <dxm@crapper.dsto.defence.gov.au> +Anton van Straaten <anton@appsolutions.com> +Joe Covalesky <joe@nowsol.com> +Bill Backstrom <backstr@anubis.network.com> +Jeff Franks <Jeffrey_Franks@i-o.com> +John Mulhern <9107@mn3.lawson.lawson.com> +Johan Lundin <johan@lundin.com> +Eric Powers <powerg@deltanet.com> +Zheng Han <zhan@glenvan.glenayre.com> +Gabriel Lima <gali@enea.se> +Doug Anderson <dla@home.com> +Hongyin Quan <hq1@arl.wustl.edu> +Maximilian Hoferer <mhoferer@krones.de> +Kevin Stanley <kstanley1@mdc.com> +Jeff Greif <jmg@trivida.com> +Jeff McDaniel <jsmpcdani@gte.net> +Andreas Geisler <Andreas.Geisler@erl9.siemens.de> +Bob McWhirter <bob@werken.com> +Daniel Winder <Daniel.Winder@cern.ch> +Zheng Han <zhan@glenvan.glenayre.com> +Christa Schwanninger <christa.schwanninger@mchp.siemens.de> +Byron Harris <harris_b@ociweb.com> +Barney Dalton <barneyd@cyllene.uwa.edu.au> +Peter Gorgia <Peter.Gorgia@libnet.com> +Dirk Broer <Dirk.Broer@gsfc.nasa.gov> +Joseph E. LaPrade <laprade@engw.ana.bna.boeing.com> +Goran Lowkrantz <Goran.Lowkrantz@infologigruppen.se> +Susan Liebeskind <susan.liebeskind@gtri.gatech.edu> +Dana Hackman <upboms@network-one.com> +Margherita Vittone Wiersma <vittone@fndaub.fnal.gov> +Priya Narasimhan <priya@lambda.ece.ucsb.edu> +Jeff Hopper <jhopper@nosc.mil> +Mats Nilsson <mats.nilsson@xware.se> +Dongwook Kim <baksoo@dbserver.kaist.ac.kr> +Don Davis <ded@heart.jhuapl.edu> +Alberto Villarica <Alberto.Villarica.rav@nt.com> +XuYifeng <xuyf@pop.zg169.net> +Ossama Othman <othman@astrosun.tn.cornell.edu> +Tom Shields <Shields@MarsHotel.CMPU.NET> +Krishna Padmasola <pkrishna@cybercash.co.in> +Andre Folkers <folkers@informatik.mu-luebeck.de> +Paul Sexton <pauls@ENTERPRISE.bt.co.uk> +Marc Lehmann <pcg@goof.com> +Anne Blankert <anne@geodan.nl> +Raja Ati <rati@montereynets.com> +Clinton Carr <ccarr@websocket.com> +Peter Liqun Na <liqunna@cs.sunysb.edu> +Frank Adcock <frank@bushlife.com.au> +Xu Yifeng <xuyifeng@www.kali.com.cn> +Valery Arkhangorodsky <valerya@servicesoft.com> +Alan Scheinine <scheinin@crs4.it> +Andrew G. Harvey <agh@cisco.com> +Dann Corbit <DCorbit@SolutionsIQ.com> +James <james@tsunami.com> +Jason Milley <Jason.Milley.jcmilley@nt.com> +Ulf Jaehrig <jaehrig@desys.com> +Peter Nordlund <petern@nada.kth.se> +Mark Weel <weel@lucent.com> +Tres Seaver <tseaver@palladion.com> +Erik Koerber <erik.koerber@siemens.at> +Eric R. Medley <palantir@net56.net> +David O'Farrell <dave@virgo.aersoft.ie> +Amir Bahmanyari <amir@peakstone.com> +Ian Wright <I.Wright@elsevier.co.uk> +David Janello <David.Janello@abnamro.com> +Rich Wellner <rw2@wellner.org> +Fernando D. Mato Mira <matomira@acm.org> +Jonathan Reis <reis@stentor.com> +Seung-Lee Hoon <tarjan@lgsoft.com> +Russell L. Carter <rcarter@pinyon.org> +Bill Hall <hts@gte.net> +Brian Gilstrap <gilstrap_b@ociweb.com> +Balaji Srinivasan <balaji@cplane.com> +Anders W. Tell <anderst@toolsmiths.se> +Larry Lachman <larry@paradigmsim.com> +Terry Rosenbaum <Terry.Rosenbaum@Radiology.MSU.edu> +Rainer Blome <rainer_blome@de.ibm.com> +Kirk Ellett <kellett@mdc.com> +Sunil Kumar <skumar@sutmyn.com> +T Stach <t.stach@inobis.de> +Ron Barack <r.barack@inobis.de> +Daniel Nieten <dnieten@bellsouth.net> +Paul K. Fisher <pfisher@plexware.com> +Jim Buck <jim@nowsol.com> +Olivier Lau <olivier_lau@srtelecom.com> +Achim Stindt <stindt@conbis.de> +Fredrik Lindahl <fredrik.lindahl@ausys.se> +Joseph Weihs <joseph-w@Orbotech.Co.IL> +Serge Kolgan <skolgan@cisco.com> +James Megquier <jmegq@bbn.com> +Martin Krumpolec <krumpolec@asset.sk> +Michael Thomas <Michael.Thomas@Australia.Boeing.com> +Vicentini Emanuele <arena.sci.univr.it> +Bob Price <Bob_Price@tssdc.saic.com> +Ramiro Penataro Blanco <penataro@ll.iac.es> +Sigg Pascal <pascal.sigg@zkb.ch> +Ivan Leong <ivanl@pacific.net.sg> +Virginie Amar<vamar@amadeus.net> +Tom Ziomek <tomz@cc.comm.mot.com> +Hamish Friedlander <hamishf@usa.net> +Mark De Jong <mdj@intervu.net> +Knut Johannessen <knutj@funcom.com> +Leif Jakobsmeier <leif@informatik.uni-frankfurt.de> +Jon Lindgren <jlindgren@SLK.com> +Steve Vinoski <vinoski@iona.com> +Christian Mueffling <cvm@aiss.de> +Victor Yu <victor.yu@computechnics.com.au> +Jeff Donner <JDonner@schedsys.com> +Joe Loyall <jloyall@bbn.com> +Stanislav Meduna <stanom@etm.co.at> +Christian Korn <korn@gate.qaqa.com> +Ron Barack <rab@terminal.cz> +Steve Totten <totten_s@ociweb.com> +Faron Dutton <fdutton@avxus.com> +Gary York <gfyork@ix.netcom.com> +Patty Hair <patty@Lynx.COM> +Ivan Pascal <pascal@info.tsu.ru> +William A. Hoffman <hoffman@crd.ge.com> +Mark Lucovsky <markl@microsoft.com> +Greg Holtmeyer <greg.holtmeyer@windriver.com> +Jody Hagins <jody@atdesk.com> +Patrice Bensoussan <pbensoussan@amadeus.net> +Keith Brown <kalbrown@ix.netcom.com> +Barry Hoggard <hoggard@cfx.com> +Peter J. Mason <peter.mason@retriever.com.au> +Jerry D. De Master <jdemaste@rite-solutions.com> +Greg Gallant <gcg@micrografx.com> +wym <wym@dekang.com> +Karel Zuiderveld <kzuiderveld@vitalimages.com> +Mike Goldman <whig@by.net> +Peter Gross <pgross@signalsoftcorp.com> +Greg Ross <gwross@west.raytheon.com> +Stanford S. Guillory <sguillory@vignette.com> +Peter Weat <weatp@syntron.com> +Magnus Karlsson <magnus.karlsson@syncom.se> +Andreas Tobler <toa@pop.agri.ch> +John Aughey <jha@FreeBSD.ORG> +Knut-Havard Aksnes <knut@orion.no> +Eric Mitchell <emitchell@altaira.com> +Tommy Andreasen <tommy.andreasen@radiometer.dk> +Slava Galperin <galperin@teknowledge.com> +Jeff Olszewski <jolszewski@std.saic.com> +Sudhanshu Garg <sg2@ladybug.cec.wustl.edu> +Mike Preradovic <michael_preradovic@epicdata.com> +Greg Harrison <harrisog@erinet.com> +Sangwoo Jin <swjinjin@sei.co.kr> +Jacques Salerian <Jacques.Salerian@era.ericsson.se> +Steve Coleman <Steve.Coleman@jhuapl.edu> +Diethard Ohrt <Diethard.Ohrt@siemens.at> +Jacob Jones <Jacob.J.Jones@notesmta.gd-is.com> +Phil Ruelle <Phil.Ruelle@adv.sonybpe.com> +Sush Bankapura <Sush.Bankapura@sylantro.com> +Eric Covington <eric@nowsol.com> +Darren Whobrey <whobrey@fecit.co.uk> +Mason Taube <taube@westcon.prc.com> +Rod Joseph <rodjoseph@adt.com> +Hans Horsmann <Hans.Horsmann@icn.siemens.de> +Kevin Royalty <kevin.l.royalty@boeing.com> +Souhad Mcheik <mcheiks@inrs-telecom.uquebec.ca> +Mark Little <M.C.Little@ncl.ac.uk> +Tim Stack <stack@cs.utah.edu> +Marc Engel <engelm@tlse.sofreavia.fr> +Uma Markandu <umam@nortelnetworks.com> +Henrik Nordberg <hnordberg@lbl.gov> +Tad Jarosinski <tadj@qualcomm.com> +Andy Marchewka <AndyM@who.net> +Neal Norwitz <nnorwitz@arinc.com> +Frederic Maria <fmaria@lucent.com> +David Hooker <DHooker@uniview.net> +Christian.Destor <Christian.Destor@alcatel.fr> +Andrew Hobson <ahobson@eng.mindspring.net> +Andre Folkers <folkers@informatik.mu-leubeck.de> +Torsten Kuepper <kuepper2@uni-wuppertal.de> +Hao Ruan <hruan@lucent.com> +Alexander Davidovich <sasha@ms.com> +Cristian Ferretti <cristian_ferretti@yahoo.com> +N Becker <nbecker@fred.net> +Yaolong Lan <lyaolong@cs.sunysb.edu> +Elias Sreih <sealstd1@nortelnetworks.com> +Liang Chen <chenl@nortelnetworks.com> +Mark Laffoon <mark.laffoon@burning-glass.com> +Ti Z <tiz@cisco.com> +Brian Dance <Brian_Dance@UECCS.co.uk> +Alexey Gadzhiev <alg@null.ru> +Francois Bernier <fbernier@gel.ulaval.ca> +Bill Rizzi <rizzi@softserv.com> +Peter Windle <peterw@ugsolutions.com> +Andy Alvarez <axab@eci.esys.com> +Jaepil Kim <jpkim@lgsoft.com> +Dmitry Goldshtain <goldstein@arcormail.de> +Carl Grinstead <grinstea@tsunami.com> +Henric Jungheim <junghelh@pe-nelson.com> +Konstantinos Margaritis <kmargar@cc.uoa.gr> +Michael Preobrazhensky <mikep@xpedite.com> +Gregory D. Fee <gdf2@cec.wustl.edu> +Roland Gigler <roland@mch.pn.siemens.de> +Frank Buschmann <Frank.Buschmann@mchp.siemens.de> +Eric Eide <eeide@cs.utah.edu> +Don Busch <busch_d@ociweb.com> +Thomas Lockhart <Thomas.G.Lockhart@jpl.nasa.gov> +David Hauck <davidh@netacquire.com> +Joe Hoffert <joeh@tango.cs.wustl.edu> +Keith Rohrer <KRohrer@hnv.com> +Tim Rose <trose@bridgewatersys.com> +Sam Rhine <rmsolution20@earchlink.net> +Chris Schleicher <chrissch@cnd.hp.com> +Margaret Reitz <margaret@veritas.com> +Thomas Mehrkam <Thomas_Mehrkam@i-o.com> +Erik Ivanenko <erik.ivanenko@utoronto.ca> +Sarmeesha Reddy <sarmeesha@bigfoot.com> +Steven Tine <stevent@tr.comm.mot.com> +Dave Steele <Dave_Steele@Mitel.COM> +Simeon Simeonov <simeons@allaire.com> +David H. Whittington <david.h.whittington@boeing.com> +Ian MacDonald <ianmacd@bg.com> +Hans Ridder <ridder@veritas.com> +Todd Mullanix <Todd.Mullanix@sylantro.com> +Hai Vu <Hai_Vu@Mitel.Com> +Paul Francis <francip@navcanada.ca> +Kristopher Johnson <kjohnson@gardnersys.com> +Dave Butenhof <butenhof@zko.dec.com> +Dominic Williams <dom@connected-place.co.uk> +Srikumar Kareti <skareti@htc.honeywell.com> +Ian Pepper <ian@aptest.ie> +Kevin Lyda <kevin.lyda@trintech.com> +James D. Rucker <jdrucker@huey.jpl.nasa.gov> +Brian Wallis <Brian.Wallis@sr.com.au> +Sandeep Goyal <sagoyal@hss.hns.com> +englishmalc@my-dejanew.com +Frank O'Dwyer <fod@brd.ie> +Long Hoang <LHoang@hwdcsaws.cahwnet.gov> +Steven D. Chen <sdc2951@aw101.iasl.ca.boeing.com> +Alain Magloire <alain@qnx.com> +Jim Rogers <jrogers@viasoft.com> +Nick Sawadsky <Nick_Sawadsky@BrooksSoftware.com> +David Brownell <david-b@pacbell.net> +Richard Stallman <rms@gnu.org> +Casey Lucas <clucas@sabre.com> +Brian C. Olson <bolson@rtlogic.com> +Joseph A. Condlin <jac@slpmbo.ed.ray.com> +Serge Du <du@lal.in2p3.fr> +Mike Mazurek <mmazurek@std.saic.com> +Christian Schuderer <Christian.Schuderer@erl9.siemens.de> +John R. Taylor <jrtaylor@george.lbl.gov> +Bill Tovrea <gwtovrea@west.raytheon.com> +Wallace Owen <owen@visicom.com> +Vyacheslav A. Batenin <slavikb@iname.com> +Edwin D. Windes <ewindes@usa.net> +Christopher Kohlhoff <chris@kohlhoff.com> +Andreas Terstegge <andreas.terstegge@nokia.com> +Stefaan Kiebooms <stefaan@ghs.com> +Keith Nichol <knichol@syscorp.com.au> +Rebecca Sanford <Rebecca.A.Sanford@gd-is.com> +Ram Vishnuvajjala <rvishnuvajjala@lucent.com> +Tom Bradley <thomas.bradley@maisel-gw.enst-bretagne.fr> +Shaun Ohagan <jk13@dial.pipex.com> +Dale Wood <dale_wood@Mitel.com> +Robert Flanders <rdfa@eci.esys.com> +Gul Onural <Gul_Onural@Mitel.COM> +Stephen E Blake <stephen_e_blake@email.moore.com> +Eric S Rosenthal <esr@netcom.com> +Sridevi Subramanian <subrams@erols.com> +Bruce Trask <brucetrask@aol.com> +Jake Hamby <jehamby@anobject.com> +Rick Weisner <Rick.Weisner@East.Sun.COM> +Dennis C. De Mars <demars@mminternet.com> +V. Lakshmanan <lakshman@doplight.nssl.noaa.gov> +Hata Yoshiaki <hatay@alpha.co.jp> +Vidya Narayanan <CVN065@lmpsil02.comm.mot.com> +Sean Landis <seanl@rsch.comm.mot.com> +Youzhong Liu <yoliu@cise.ufl.edu> +John Weald <John.Weald@sylantro.com> +Gilbert Roulot <gilbert.roulot@tts.thomson-csf.com> +Gildo Medeiros Junior <gildo@siemens.com.br> +Brian Peterson <bpeterson@globalmt.com> +Fabrice Podlyski <podlyski@clrhp04.in2p3.fr> +Darren DeRidder <darren.deridder@bridgewatersys.com> +John Tucker <johnny_tucker@yahoo.com> +Oleg Orlov <orlov@diasoft.ru> +Timothy Canham <Timothy.Canham@jpl.nasa.gov> +Randy Heiland <heiland@ncsa.uiuc.edu> +Joyce Fu <fu@gsao.med.ge.com> +Surender Kumar <csk037@lmpsil02.comm.mot.com> +Pradeep Avasthi <Pradeep.Avasthi@motorola.com> +Guicheney Christophe <guichene@clrhp04.in2p3.fr> +Madhu Konety <madhu.konety@stdc.com> +Isaac Stoddard <i_stoddard@hso.link.com> +Alvarez <alvarez@nagra-kudelski.ch> +Peter Brandstrom <peter.brandstrom@ericsson.com> +Eugene Surovegin <ebs@glasnet.ru> +Thaddeus Olczyk <olczyk@interaccess.com> +John Chludzinski <john_chludzinski@jsims.com> +Pedro Alves Ferreira <pedro.ferreira@inescn.pt> +Bruce Edge <bedge@sattel.com> +Dan Butler <daniel.g.butler@boeing.com> +Ron MacKenzie <ronm@SLAC.Stanford.EDU> +Craig Rodrigues <crodrigu@bbn.com> +Phil Y. Wang <yhwang@cs.columbia.edu> +David Brock <dbrock@momsdesk.com> +John Morey <jmorey@tbi.com> +Dwayne Burns <dburns@isrglobal.com> +Denis Ouellet <douellet@gel.ulaval.ca> +Stefan Ullrich <SUllrich@Heimannsystems.com> +Brian Raven <brianr@liffe.com> +Gheorghe Aprotosoaie <gaprotosoaie@paragonms.com> +Carsten Zerbst <zerbst@tu-harburg.de> +Paul Calabrese <calabrese_p@ociweb.com> +Stephane Chatre <schatre@oresis.com> +James Whitledge <jwhitledge@spyglass.com> +Erik Johannes <ejohannes@oresis.com> +Alex Hornby <alex@anvil.co.uk> +Riaz Syed <syed@Lynx.COM> +Clarence M. Weaver <clarence_m_weaver@md.northgrum.com> +Roger Egbers <regbers@isrglobal.com> +Ralf Kluthe <kluthe@iti.mu-luebeck.de> +Ruud Diterwich<R.M.L.Diterwich@marin.nl> +Bill Nesbitt <bnesbitt@magellan.com> +Will Skunk <willskunk@homemail.com> +David Digby <DWD15274@glaxowellcome.co.uk> +Timothy Schimke <Schimke.Timothy@LittonDSD.com> +Jim Robinson <robinson@wdg.mot.com> +Peter Mueller <pmueller@decrc.abb.de> +Raghu Nambiath <raghun@wipinfo.soft.net> +Mike Gingell <mgingell@istar.ca> +David McCann <david.mccann@alcatel.at> +Ruediger Franke <Ruediger.Franke@decrc.abb.de> +Brian Jones <bjones@edgemail.com> +Michael Garvin <mgarvin@nortelnetworks.com> +Mike Vitalo <mvitalo@sprynet.com> +Kirk Davies <Kirk.Davies@pobox.com> +Arno Pernozzoli <pernozzoli@bigfoot.com> +Trey Grubbs <t-grubbs1@raytheon.com> +Matthias Schumann <matthias.schumann@xcc.de> +John Gathright <johng@keck.hawaii.edu> +Alexander Villatora <alex@cfx.com> +Hoang Duong <hduong@lycosmail.com> +Michael Roth <ombelico@gmx.net> +Craig Anderson <chanders@timing.com> +Mitsuhiko Hara <Mitsuhiko.Hara@gemsa.med.ge.com> +Weihai Yu <weihai@cs.uit.no> +Tal Lev-Ami <tla@tici.co.il> +Chris Zimman <chris@ishiboo.com> +Rick Wesson <wessorh@ar.com> +Sridhara Rao Dasu <dasu@slac.stanford.edu> +Walter Welzel <Walter.Welzel@med.siemens.de> +Anthony Shipman <als@aaii.oz.au> +Tobin Bergen-Hill <tbhill@dctd.saic.com> +Toshio Hori <toshi@etl.go.jp> +John Mink <John.Mink@nl.origin-it.com> +Duane Binder <duane.binder@veritas.com> +Randall Sharo <rasb@eci.esys.com> +Dave Madden <dhm@mersenne.com> +Cliff_H_Campbell <Cliff_H_Campbell@res.raytheon.com> +Narendra Ravi <naren@cs.ualberta.ca> +Krishnakumar B. <kitty@neo.shinko.co.jp> +David Sunwall <das@planet8.tds-eagan.lmco.com> +Brian Wright <bwright@paladyne.com> +Yosi Sarusi <yosi@appstream.com> +Robert Shewan <rshew@peri.com> +Skye Sweeney <ssweeney@sanders.com> +Lars Immisch <lars@ibp.de> +Adrian Mercieca <adrian@anvil.co.uk> +Stefan Wendt <wendts@stud.fh-luebeck.de> +Herbert <herbert@shym.com> +Clarence Bishop <clarence.bishop@na.marconicomms.com> +Giga Giguashvili <gregoryg@ParadigmGeo.com> +Philipp Slusallek <slusallek@graphics.stanford.edu> +Matthew Davis <matthew.davis@solers.com> +Janusz Stopa <jstopa@bear.com> +Rusty Conover <rconover@zootweb.com> +Alex Mintz <amintz@bear.com> +Phillippe Merle <Philippe.Merle@lifl.fr> +Mark Winrock <mwinrock@nortelnetworks.com> +Boris Kaminer <kaminer.boris@cherus.msk.ru> +Martin Botzler <martin.botzler@mchp.siemens.de> +Lorin Hochstein <lmh@xiphos.ca> +Wenli Bai <bai@gsao.med.ge.com> +Harry Forry <harry_l_forry@res.raytheon.com> +Jose Rubio <jrubio@tr.comm.mot.com> +Joerg Pommnitz <pommnitz@darmstadt.gmd.de> +Mogens Hansen <mogens_h@dk-online.dk> +Shafiek Savahl <shafiek.savahl@ericsson.com.au> +Pierre Grondin <pierre_grondin@srtelecom.com> +John Masiyowski <jmasiyowski@fallschurch.esys.com> +Uwe Landrock <Uwe.Landrock@med.siemens.de> +Klaus Banzer <klaus.banzer@mchp.siemens.de> +Probal Bhattacharjya <probal@lucent.com> +Dmitri Katchalov <Dmitri.Katchalov@computershare.com.au> +Alok Gupta <alokg@ssind.stpn.soft.net> +Chien Yueh <cyueh@viasoft.com> +John K. Black <jblack@s22ct.npt.nuwc.navy.mil> +Kamen Penev <penev@earthlink.net> +Gregory Yarmit <Gregory.Yarmit@hboc.com> +Jarek Tomaszewski <jarek-tomaszewski@vertel.de> +Siegurd Weber <siegurdw@hotmail.com> +Fabrizio Giannotti <fabrizio.giannotti@alephinfo.it> +Harald Finster <finster@ave.ac.agit.de> +Fritz Bosch <FBosch@alcatel.de> +Charles Frasch <cfrasch@spawar.navy.mil> +Chris Hafey <chafey@stentor.com> +Rick Hess <rick.hess@lmco.com> +David Dunn <dunn@tripos.com> +Jaymes Galvin <galvinj@agcs.com> +Marat <c_marat@mypad.com> +Sergey Nemanov <sergey.nemanov@intel.com> +Vladimir Kondratiev <vladimir.kondratiev@intel.com> +John Glynn <Jjg9419@bjc.org> +Raymond Wiker <raymond@orion.no> +Michael Pitman <mcp@mira.net> +Joseph Jefferson <jjefferson@relinc.com> +Engelbert Staller <engelbert.staller@siemens.at> +George Ball <george@jgserv.co.uk> +Dennis Noll <Dennis.Noll@MW.Boeing.com> +Ronald Fischer <ronald.fischer@icn.siemens.de> +Marvin Allen Wolfthal <maw@weichi.com> +Dan Gilboa <dgilboa@qualcomm.com> +Sean Boudreau <seanb@qnx.com> +Shalini Yajnik <shalini@research.bell-labs.com> +Matt Thompson <thompsom@stoner.com> +Peter C Chien <peter@nowsol.com> +Bruce Alderson <balderso@triant.com> +Christoph Poggemann <Christoph.Poggemann@ptv.de> +Travis Shirk <travis@pobox.com> +Alain Sauron <sauron@syseca.thomson-csf.com> +Yury Kuznesov <yury@websci.ru> +David Delano <delanod@agcs.com> +Boris Sukholitko <boriss@richfx.com> +Brian Mason <bmason@oresis.com> +Thomas Groth <groth.th@stn-atlas.de> +Damien Dufour <damien.dufour@horoquartz.fr> +Paulo Breda Vieira <breda@inesca.pt> +Samuel Stickland <sps196@hotmail.com> +Bryan Van de Ven <bryanv@arlut.utexas.edu> +Greg Siebers <gsiebers@vignette.com> +Rob Gabbot <rgabbot@sandia.gov> +Paul Carreiro <pcarreir@genuity.com> +Jovan Kilibarda <jovank@realtimeint.com> +Derek Dominish <Derek.Dominish@Australia.Boeing.com> +Devesh Kothari <dkothari@atdsprint.com> +Stephen Moon <smoon@oxmol.co.uk> +Hani Mawlawi <hmawlawi@wecan.com> +Benedikt Eric Heinen <beh@icemark.ch> +Jason Topaz <topaz@panix.com> +Alexander Dergatch <dergy@websci.ru> +Airat A. Sadreev <airat@hq.tatenergo.ru> +Klaus Hofmann <Klaus.Hofmann@astrum.de> +Miroslav Koncar <mkoncar@mail.com> +Extern Chatterji <Extern.Chatterji@kmweg.de> +Zach Frey <zfrey@bright.net> +Ruibiao Qiu <ruibiao@arl.wustl.edu> +Marcelo Matus <mmatus@dinha.acms.arizona.edu> +R Seshardi <rseshadri@lucent.com> +Stephan Kulow <coolo@kde.org> +Alexander Belopolsky <belopolsky@my-deja.com> +Ben Bourner <ben@orion.no> +Lalitha Chinthamani <lchinthamani@oresis.com> +Thomas Huang <Thomas.Huang@jpl.nasa.gov> +Sankaranarayanan K. V <sankar@miel.mot.com> +Ephraim Vider <eff@allot.com> +Reid Spencer <reid@unique2u.com> +Kevin Dalley <kevind@rahul.net> +Jan Nielsen <jnielsen@campuspipeline.com> +Jochen Linkohr <Jochen.Linkohr@stz-rechnereinsatz.de> +Mirko Brandner <mbrandner@yahoo.com> +Yuval Yosef <yuvi@isdn.net.il> +Chad Elliott <elliott_c@ociweb.com> +David X. Callaway <david.x.callaway@intel.com> +Soren Ilsoe <soren.ilsoe@tellabs.com> +Eric Hopper <ehopper@globalmt.com> +Martin Johnson <mjhn@bigpond.net.au> +Pierre Oberson <oberson@nagra-kudelski.ch> +Chris Uzdavinis <chris@atdesk.com> +Ishay Green <ishaygreen@hotmail.com> +Andrey Nechypurenko <andreynech@yahoo.com> +Charlie Duke <cduke@cuseeme.com> +Jonathan Luellen <jluellen@scires.com> +Andrew Psaltis <apsaltis@mho.net> +Erik Jones <ej@pcslink.com> +Ted Burghart <burghart@quoininc.com> +Mike Winter <Mike.Winter@Schwab.com> +Judy Ward <ptr_corp@ptrsv1.pko.dec.com> +Ken Block <ptr_corp@ptrsv1.pko.dec.com> +Jamshid Afshar <jafshar@vignette.com> +Jerry Jiang <javalist@21cn.com> +Rob Ruff <rruff@scires.com> +Hugh Arnold <harnold@itginc.com> +Hessel Idzenga <idzenga@lucent.com> +Mark C. Barnes <marcus@muse3d.com> +Suresh Kannan <kannan@uav.ae.gatech.edu> +Alex Scholte <Alex.Scholte@getronics.com> +Greg Jansen <plaidriver@msn.com> +Raj Narayanaswamy <rnarayanaswamy@hologic.com> +Iain Melville <Iain.Melville@opentrade.co.uk> +Daniel Lang <dl@leo.org> +Chris Leishman <chris_leishman@freeonline.com.au> +Klemen Zagar <klemen.zagar@irj.si> +Rick Ohnemus <rjohnemus@systemware-inc.com> +Adamo, Vince <adamo@vignette.com> +Defang Zhou <dzhou@inktomi.com> +Dave Zumbro <zumbro_d@ociweb.com> +Ted Nolan <ted@ags.ga.erg.sri.com> +Jianfei Xu <jxu@yahoo.com> +Alvin C. Shih <acs@ml.com> +J. Scott Evans <evans@cpi.com> +Alex Luk <fluk7@ie.cuhk.edu.hk> +Kenneth Osenbroch <kennetho@stud.cs.uit.no> +Jason Czavislak <jczavislak@osprey.smcm.edu> +Alex Chachanashvili <achacha@panix.com> +Gilbert Grosdidier <Gilbert.Grosdidier@in2p3.fr> +James Briggs <James.Briggs@dsto.defence.gov.au> +Herbert Wang <herb@nowsol.com> +Anders Olsson <epkanol@s1.epk.ericsson.se>x +Sergey Gnilitsky <SGnilitsky@telesens.com.ua> +David Wicks <wicks@swbell.net> +Girish Birajdar <birajdar@lucent.com> +Hajdukiewicz Markus <MHajdukiewic@heyde.de> +Gerwin Robert <RGerwin@heyde.de> +Alia Atlas <akatlas@bbn.com> +David Hall <David.Hall@grc.nasa.gov> +Todd Gruhn <tgruhn2@mail.com> +John Hickin <hickin@nortelnetworks.com> +Alex Brown <abrown@3com-ne.com> +Rich Seibel <seibel_r@ociweb.com> +Jim Scheller <csoftware@iname.com> +Bob Bouterse <BBouterse@escient.com> +Sandeep Adwankar <adwankar@rsch.comm.mot.com> +W. Craig Trader <ct7@vitelinc.com> +Bruce McIntosh <Bruce.McIntosh@australia.boeing.com> +Natarajan Kalpathy <Natarajan_Kalpathy@mw.3com.com> +David O'Farrell <eeidofl@eei.ericsson.se> +Bob Bouterse <BBouterse@escient.com> +Malcolm Spence <spence_m@ociweb.com> +Dong-Yueh Liu <dyliu@ms1.hinet.net> +Craig Ball <Craig.Ball@megasys.com> +Norbert Krain <krain@lineone.net> +Adrian Miranda <ade@psg.com> +Cody Dean <cody.dean@mindspring.com> +Hans Scharkowitz <hanssch@my-deja.com> +Charles Meier <cmeier@concentus-tech.com> +Tim Sim <tim_sim@optusnet.com.au> +Shalabh Bhatnagar <shalabh_b@hotmail.com> +Charles Scott <Charles.P.Scott@jpl.nasa.gov> +Espen Harlinn <espen@harlinn.no> +mulder <mul@iitb.fhg.de> +Richard L. Johnson <rich@huey.jpl.nasa.gov> +Tam Nguyen <tnguyen@viasat.com> +Jeff Graham <jgraham@lincom-asg.com> +Ralph Loader <suckfish@ihug.co.nz> +Ji Wuliu <jiwuliu0952_cn@sina.com> +Wada Hiroshi <syu-@yhb.att.ne.jp> +Sal Amander <virgis@megagis.lt> +Bill Tonseth <tonseth@shamra.mv.com> +Torsten Pfuetzenreuter <torsten_pf@geocities.com> +John M. Mills <jmills@tga.com> +David McWeeny <davemcw@tr.comm.mot.com> +Florian Lackerbauer <florian.lackerbauer@mchp.siemens.de> +Manuel Benche <mbenche@jazz.cs.utsa.edu> +Steve Luoma <stevel@dvc400.com> +Roger Tragin <r.tragin@computer.org> +Alex Bangs <bangs@entelos.com> +Yangfen Qiu <yqiu@thomas.com> +Johnny Chen <jchen@informatica.com> +John Foresteire <John_J_Foresteire@res.raytheon.com> +Larry Peacock <larry@appsmiths.com> +Francisco Bravo <emefjbm@madrid.es.eu.ericsson.se> +Antti Valtokari <Antti.Valtokari@iocore.fi> +John Smyder <jsmyder@salient.com> +Mathew Samuel <Mathew.Samuel@msdw.com> +Conrad Hughes <conrad@baltimore.ie> +John Rodgers <jrrodgers@acm.org> +Charles Taurines <ctaurines@amadeus.net> +James Lacey <James.Lacey@motorola.com> +Nick Pratt <npratt@microstrategy.com> +Xiaojun Wu <depender@yahoo.com> +George Lafortune <lafortg@res.raytheon.com> +Aoxiang Xu <axu@cim.mcgill.ca> +Dima Skvortsov <dskvortsov@mediasite.com> +Moore Y. Cao <yilincao@lucent.com> +Wai Keung Fung <wkfung@maews69.mae.cuhk.edu.hk> +Michael Laing <mpl@flni.com> +Benoit Viaud <benoit.viaud@artal.fr> +Ken Weinert <kenw@ihs.com> +Ferran Boladeres Salvad <salvadof@iis.fhg.de> +Bill Tonseth <tonseth@shamra.mv.com> +Steve Vranyes <steve.vranyes@veritas.com> +Jim Melton <Jim.Melton@lmco.com> +Ron Klein <rklein@west.raytheon.com> +Anuj Singhal <ASinghal@mediasite.com> +Henrik Kai <hka@ddk.de> +Dominic Hughes <dominic@aersoft.ie> +Lior Shalev <lior@bandwiz.com> +Charlie Duke <cduke@www.cuseemeworld.com> +William Horn <whorn1984@my-deja.com> +Greg Hall <Greg.Hall@Australia.Boeing.com> +Aviad Eden <Aviad_Eden@icomverse.com> +Vianney Lecroart <acegsm@itineris.net> +Russell Mora <rd.mora@router.econz.co.nz> +Samir Shaikh <SamirShaikh@bigfoot.com> +Eric Yee <eyee@authentica.com> +Matt Emerson <memerson@escient.com> +Yiu L. Lee <yiulee@crosskeys.com> +Pedro Brandao <pbrandao@inescn.pt> +Hakon Innerdal <hakoni@funcom.com> +Sami Aario <saempylae@hotmail.com> +Ingo Dahm <ingo.dahm@sun.com> +Vijay Aswadhati <wyseman@planetbazaar.com> +Xiaowen Wang <swangken@cfdlab.ae.utexas.edu> +<vsg@ivl.kiev.ua> +Warren Miller <wmiller@stsci.edu> +Youngkwan Cho <ykcho@ece.arizona.edu> +Dorr H. Clark <dhclark@Lynx.COM> +Dave McNeely <Dave_McNeely@md.northgrum.com> +Eric Malenfant <EMalenfant@interstarinc.com> +Roland Fischer <roli@gugus.com> +Alexander Libman <alibman@ihug.com.au> +Roger Larsson <larssoro@hotmail.com> +Martin Stack <mstack@cambertx.com> +Michael Ravits <miquel@bitsmart.com> +Derek Viljoen <derek@viljoen.com> +Hamed Azizadah <Azizadah@ix.netcom.com> +Keo Kelly <kkelly@fallschurch.esys.com> +Joachim Achtzehnter <joachima@netacquire.com> +Tomer Amiaz <Tomer@bandwiz.com> +Sergey Osokin <osa@freebsd.org.ru> +Nick Logvinov <nl@rpb.ru> +Viatcheslav Batenine <slavikb@infra2000.com> +Shashi Bhushan <Shashi.Bhushan@lmco.com> +Javier Corrales <jcorrales@tcpsi.es> +J. Randy Pitz <james.r.pitz@boeing.com> +Richard Reitmeyer <richard@verecomm.com> +Xavier Montet <montet@cena.fr> +Letha Etzkorn <letzkorn@cs.uah.edu> +James Dabbs <jdabbs_home@mindspring.com> +Matej Sekoranja <matej.sekoranja@ijs.si> +Mattias Eriksson <snaggen@acc.umu.se> +Nicoletta Viale <nicoletta.viale@sodalia.it> +George Reid <greid@entrenet.com> +Kim Lester <Kim_R_Lester@rta.nsw.gov.au> +Wilson Chan <wilson@i-finance.com.hk> +William Rucklidge <wjr@imarkets.com> +Victor Krebss <lopik@delfi.lv> +Chander P. Thareja <cthareja@ssind.stpn.soft.net> +John Mills <jmills@tga.com> +Haifeng Lee <haifeng@dset.com.cn> +Hans Utz <hans.utz@student.uni-ulm.de> +Askok Kumar Kalanithi <k_ashok_kumar@yahoo.com> +Chris Able <cable@scires.com> +John Hiltenbrand <jhiltenb@uiuc.edu> +Steve Hespelt <shespelt@bear.com> +Peter Fischer <fischer@softec.de> +Madhu Ramachandran <mramacha@atdsprint.com> +Caleb Epstein <cae@home.com> +Bruno Marconi <bmarconi@jetstream.com> +Ken Childress <kchildre@uccs.jpl.nasa.gov> +Michael Kramer <kramer@ave.ac.agit.de> +Johnny Willemsen <johnny.willemsen@meco.nl> +Jonathan Astle <JNASTLE@dera.gov.uk> +Javier Lopez Sanchez <jlopez@uida.es> +Nir Drang <Nir@bandwiz.com> +Albert Wijnja <Albert.Wijnja@meco.nl> +Marcel Van Der Weert <mvdweert@aweta.nl> +Mervyn Quah <mquah@guoco.com> +Giovanni Zito <gzito@mbox.thunder.it> +Matthew Adams <madams@bexusa.com> +Sameer Schabungbam <schabungbam@hss.hns.com> +Jeff Butler <jeff@panasas.com> +Roland Rüdenauer <roland.ruedenauer@freenet.de> +John Buckman <john@lyris.com> +Guy Rosen <grosen@bigfoot.com> +<amoderni@viasoft.com> +Bennett R. Stabile <bstabile@home.com> +Paul Caffrey <pcaffrey@iel.ie> +Low Aik long <aiklong@softhome.net> +Michael Rinne <Michael.Rinne@ZN-AG.de> +Jaffar Shaikh <Jaffar_Shaikh@Mitel.com> +Roger Beck <roger_beck@royalsun.com.au> +Trueman Bill <truemanbill@yahoo.com> +Harold Bien <harold_bien@yahoo.com> +Mateu Batle <mbatle@iname.com> +Philip Miller <pwmiller@sarnoff.com> +Base V Paul <basev@wiproge.med.ge.com> +Evghenii Filippov <evghenii.filippov@ngcan.com> +Mike Curtis <mccurry@my-deja.com> +Jessie Ragsdale <jessie.ragsdale@latuslw.com> +Shourya Sarcar <Shourya.Sarcar@geind.ge.com> +Eric Crampton <EricCrampton@worldnet.att.net> +Sandip Patel <spatel@gigabitwireless.com> +ChenXu <chenxu_xjtu@263.net> +Vsevolod Novikov <novikov@df.nnov.rfnet.ru> +Brendan Corcoran <brendan@jenisys.com.au> +Steve Sivier <Steven.Sivier@Eng.Sun.COM> +Rick Schneeman <rschneeman@nist.gov> +Klaus H. Wolf <hw@cyland.com> +Jean-Christophe Dubois <jcd@one.com> +Michael Hampel <michael.hampel@fhs-hagenberg.ac.at> +Wei Zheng <weizheng@uiuc.edu> +Bernd Annamaier <bernd.annamaier@de.adtranz.com> +Joachim Tremouroux <joachim.tremouroux@microresearch.be> +Momchil Velikov <velco@fadata.bg> +Munagala Ramanath <amberarrow@yahoo.com> +Kevin Marshall <KCMarshall@att.net> +Adrian Mercieca <adrian@anvil.co.uk> +David Channon <djc@uq.net.au> +Andy Guy <andy@emory.demon.co.uk> +Oscar Rodriquez <Oscar.Rodriquez@eln.ericsson.se> +Jonathan Cano <jcano@mmcnet.com> +Alain Decamps <Alain.Decamps@PIDPA.be> +Paul Rubel <prubel@bbn.com> +Jon Loeliger <jloeliger@chiaro.com> +Ricardo Chan <ricchan@nortelnetworks.com> +Sarabjeet Duhra <sarabjeet_duhra@hp.com> +Sathish Tiptur <Sathish.Tiptur@geind.ge.com> +Michael Rushton <miker@mbmnz.co.nz> +Arno Pernozzoli <a.bernicchia@tiscalinet.it> +Calum Mitchell <calum.mitchell@cp.net> +Jerry Odenwelder <jerry.o@mindspring.com> +Kent Stewart <kbstew99@hotmail.com> +Alexander Kogan <jk@kogan.nnov.ru> +Michael Lindner <mikel@att.net> +Arnaud Compan <compan@ipanematech.com> +Frank A. Hunleth <fhunleth@cs.wustl.edu> +Michael Searles <msearles@base16.com> +Bogdan Jeram <bjeram@eso.org> +Sebastian Schubert <sschuber@et.htwk-leipzig.de> +Li Zhou <lizhou@doc.ece.uci.edu> +Shivakumar Patil <shivakumar.patil@stdc.com> +Steve Olson <Steve_Olson@illinova.com> +Allen Broadman <broadmana@plural.com> +Yuriy Zaporozhets <zaz@internet-zahav.net> +Joe Guan <jguan@mistwireless.com> +Attilio Dona <dona@sodalia.it> +McGanahan Skjellifetti <cmeier@concentus-tech.com> +Matthias Wittig <m.wittig@com-on.de> +Sharath R. Cholleti <sharath@cs.wustl.edu> +David Allen <dallen@storm.com> +Edwin McKay <mckayea@betalasermike.com> +Scott Bolin <scott.bolin@pgs.com> +Mike Anderson <manderson@sonusnet.com> +David Singer <David_P_Singer@res.raytheon.com> +Nick Lin <nicklin@vantech.com.tw> +Ron Hashimshony <Ron@bandwiz.com> +Max Khon <fjoe@iclub.nsu.ru> +Jonas Nordin <jonas.nordin@syncom.se> +Jonathan Stockdale <Jonathan.Stockdale@locusdialogue.com> +Jean-Francois Daune <Daune@IBA.be> +Wei Chiang <wei.chiang@kolumbus.fi> +Rick Stille <stille_r@ociweb.com> +Kirill Kuolechov <Kirill.Koulechov@gmx.net> +Edwin Wrench <Edwin.Wrench@itt.com> +Yung Trinh <ytrinh@email.com> +Richard Eperjesi <reperjesi@yahoo.com> +Ben Strong <bstrong@bluelark.com> +David Karr <dkarr@bbn.com> +Sathish Tiptur <Sathish.Tiptur@geind.ge.com> +Frank Hunleth <fhunleth@cs.wustl.edu> +Lu Yunhai <luyunhai@huawei.com> +Christian Ewald <christian.ewald@zuehlke.com> +Samuel Qi Luo <Samuel.QiLuo@ericsson.com.au> +Sergey Logvin <S.Logvin@telesens.com.ua> +Orlando Ribeiro <oribeiro@inescporto.pt> +Doug Warner <dougwarner@micron.com> +Kevin Regan <kregan@infoglide.com> +Andy Olson <andrew.olson@lmco.com> +Max Voronoy <m.voronoy@telesens.com.ua> +Alexandr Gavrilov <gavr@trustworks.com> +Scott Gunn <gunns@tvratings.com> +Mason Deaver <mason.deaver@tripointglobal.com> +Richard Huber <rhuber@amadeus.net> +Glen Osterhout <gosterho@elronsw.com> +YingLi <taoace@sina.com> +Haka <newhaka@21cn.com> +Sam Chong <sam@i2i-inc.com> +Virgilijus Globis <virgis@megagis.lt> +Stefan Scherer <stefan_scherer@sepp.de> +Pim Philipse <ppm@rogan-medical.com> +Michael Grove <snowymike@aol.com> +John Mackenzie <John.Mackenzie.extern@icn.siemens.de> +Ricky Marek <ricky@waveip.com> +Patrick Maassen <patrick.maassen@meco.nl> +Christian Schuhegger <Christian.Schuhegger@cern.ch> +David L Smith <david.l.smith@larc.nasa.gov> +Rainer Doerntge <doerntge@kiwilogic.com> +Tompa <safdsfd@adsffda.com> +Derek Horton <trohed@yahoo.com> +Shameek Basu <sbasu@ivast.com> +Dipti Jain <dijain@hss.hns.com> +Eric Zuur <Eric.Zuur@meco.nl> +Jeffrey J. Persch <hyperslug@yahoo.com> +Rahul Shukla <rshukla@ggn.aithent.com> +Pierre Fayolle <fayolle@enseirb.fr> +Greg McCain <greg.mccain@veritas.com> +Matt Cheers <matt.cheers@boeing.com> +Benjamin Fry <ben@thrownet.com> +Ram Ben-Yakir <Ram@bandwiz.com> +Eric Desamore <Eric.Desamore@idtv.bull.net> +John Ashmun <John.ASHMUN@esca.com> +Przemyslaw Marciniak <pmarciniak@lucent.com> +Boris Kolpackov <bosk@ipmce.ru> +Carsten Madsen <com@navicon.dk> +David Sperry <sperryd@res.raytheon.com> +Ted Horst <Ted.Horst@ubsw.com> +Diana Arroyo <darroyo@infoglide.com> +Peter Phillips <pphillip@home.com> +Benny Prijono <bennylp@switchlab.net> +Roland Ziegler <zi@ave-web.de> +Stelios Sfakianakis <ssfak@ics.forth.gr> +Mike Letchworth <mletchwo@cisco.com> +Brian Gilmer <Brian.Gilmer@jhuapl.edu> +James Dunham <James.Dunham@esecurityinc.com> +Juergen Pfreundt <Juergen.Pfreundt@gft.com> +Joel Sherrill <joel@OARcorp.com> +Jules Colding <dsl11814@vip.cybercity.dk> +Stephane Pion <PION_Stephane@stna.dgac.fr> +Raghu Narayan <raghu_narayan@non.hp.com> +Richard Goold <rgoold@inexum.com> +Nathalie D'Amours <nathalie@stentor.com> +Albert Pariante <albert@sw.bev.etn.com> +Stephen Torri <s.torri@lancaster.ac.uk> +Philippe Perrin <perrin@enseirb.fr> +Gunnar Buason <a98gunbu@student.his.se> +David Hanvey <d.hanvey@qub.ac.uk> +Jeff McNiel <Jeff_McNiel@VitalCom.com> +Georg Lohrer <GeorgLohrer@web.de> +Rachel G Smith <Rachel_G_Smith@raytheon.com> +Tom Lake <Tom.Lake@glossa.co.uk> +Logan Modahala <lmodahal@cisco.com> +Jean Malenfant <jean.malenfant@locusdialog.com> +Victor Poznyak <VictorP@Webley.COM> +Juan Jose Comellas <jcomellas@novamens.com> +James Dorsey <James.Dorsey@acxiom.com> +Benot Desmeules <bdesmeules@eurekium.com> +Tom Moog <tmoog@polhode.com> +Stan Pinte <spinte@latinia.com> +Dayisi <dayisi@163.com> +Peter Georgakakis <peterg@gdc.ca> +Richard Hardgrave <hardgrav@ttd.teradyne.com> +Mark Drijver <mdrijver@remedy.nl> +Guy Bolton King <guy_bolton_king@non.agilent.com> +Carlton Teel <teel@signal-analysis.com> +Alexandre Cervieri <alexandre.cervieri@terra.com.br> +Darren Griffith <darren.griffith@esecurityinc.com> +Sam Mok <sam.mok@westwave.com> +Josh Curry <Josh.Curry@lipper.reuters.com> +Norman Wilson <Norman.Wilson@liffe.com> +Itzhak Briskman <ibriskman@ndsisrael.com> +James Kanyok <james.kanyok@lmco.com> +Corey Trager <corey.trager@tradingtechnologies.com> +Kirat Singh <kirat.singh@gs.com> +Oleg Pavliv <oleg_pavliv@yahoo.com> +Frederick Niemi <fniemi@cisco.com> +Andrew Munro <Andrew.Munro@Australia.Boeing.com> +Nicolas Huynh <HUYNH_Nicolas@cena.fr> +Kevin Burge <kcburge@systemware-inc.com> +Wayne Erchak <wayne@stentor.com> +Yew Khong See <seeyk@yahoo.com> +Greg Thompson <gregt@ot.com.au> +Mike Pyle <mike.pyle@burning-glass.com> +Kobi Cohen-Arazi <kobi@mivzak.com> +Israel Illescas Gomez <illescas@dycsa.es> +Brodie Thiesfield <brodie.thiesfield@activesky.com> +Erik Toubro Nielsen <enielsen@mdsproteomics.dk> +Masaoud T. Moonim <masaoud@mailandnews.com> +Steve Witten <steve_witten@hp.com> +Gil Rapaport <grapaport@comgates.co.il> +Boris Temkin <borist@allcharge.com> +Steve Perkins <steve@steveperkins.net> +Jerry Thomas <jto@consegna.co.uk> +cuma <cuma@dslab.csie.ncu.edu.tw> +Ron Heald <rheald@nrao.edu> +Andrew Finnell <Andrew.Finnell@esecurityinc.com> +Dan Levi <DanL@webmap.com> +Rob Andzik <andzik@rtlogic.com> +James Maynard <James.Maynard@ot.com.au> +Francois Rioux <rioux01@gel.ulaval.ca> +Ophir Bleiberg <ophir@personeta.com> +Allen Kelly <akelly@postx.com> +Victor Pitchouc <pitchouc@tlsoft.ru> +Srikanth Vedire <srvedire@yahoo.com> +J Shane Culpepper <pepper@channelogics.com> +Benn Howard <Benn_Howard@raytheon.com> +Steffen Hieber <Steffen.Hieber@erl9.siemens.de> +Craig L. Ching <cching@mqsoftware.com> +Ben Howard <Ben_Howard@raytheon.com> +Rich Newman <RNewman@directv.com> +Kelly F. Hickel <kfh@mqsoftware.com> +David Trusty <david.trusty@westwave.com> +Burkhard Neppert <b.neppert@dr-staedtler.de> +Crawford Lodge <crawford.lodge@xmlglobal.com> +Scott Gaa <scott_a_gaa@md.northgrum.com> +Jenny Kowald <jkowald@oz.agile.tv> +Oren Zeev-Ben-Mordehai <oren@phonedo.com> +Holger P. Krekel <krekel@merlinux.de> +Glenn Popelka <gpp@gpopelka.com> +Marco Kranawetter <Marco.Kranawetter@icn.siemens.de> +Tibor Kiss <tkiss@mindmaker.hu> +Robert Davidson <robert@rdavidson.freeserve.co.uk> +Peter Crowther <peter.crowther@networkinference.com> +Mouna Seri <seri@crhc.uiuc.edu> +Vladimir Chovanec <Vladimir.CHOVANEC@asset.sk> +Alexander Rieger <Alexander.Rieger@inka.de> +Glen Coakley <gcoakley@mqsoftware.com> +Scott Plant <splant@softhome.net> +Wilfried Reinoehl <Wilfried.Reinoehl@WiredMinds.de> +Sangeetha Ramadurai <Sangeetha.Ramadurai@geind.ge.com> +Victor Chernenko <v_chernenko@hotmail.com> +Frank Wolf <fwolf@gum.de> +Christophe Galerne <christophgalerne@earthlink.net> +Scott Harris <harris_s@ociweb.com> +Stefan Kluehspies <Stefan.Kluehspies@gmx.net> +Egon Wuchner <Egon.Wuchner@mchp.siemens.de> +Ugendreshwar Kudupudi <ugenderk@rediffmail.com> +Ekkehard Hoffmann <ehoffman@fzi.de> +Ted Krovetz <ted@digitalfountain.com> +Grzegorz Sikora <GSikora1@era.pl> +Fabris <fabris65@my-deja.com> +Christina Junru <junruli@lucent.com> +Patrick Rabau <Patrick.Rabau@htc.com> +Hyman Rosen <hyrosen@mail.com> +Torbjorn Backstrom <torbjorn.k.backstrom@volvo.com> +Robert Burke <rburke2002@yahoo.com> +Olivier Brunet <obrunet@groupama-ccama.tm.fr> +Bret Clark <clarkbt@tvratings.com> +Steve Rahn <SRahn@rim.net> +Bertrand Motuelle <bertrand.motuelle@effix.fr> +Blair Zajac <blair@gps.caltech.edu> +Gary Duzan <gduzan@bbn.com> +Garry Shammis <Garry.Shamis@kbcfp.com> +Eamonn Saunders <Esaunders@softricity.com> +Yev Omenzel <omenzel@yahoo.com> +John E Hein <jhein@timing.com> +Tino Schwarze <tino.schwarze@informatik.tu-chemnitz.de> +Don Hinton <dhinton@gmx.net> +Gergely Timar <timarok@elender.hu> +Peter Phillips <pphillip@opentext.com> +Kuznesov Yury <yury@newst.net> +Daniel Manfis <dany_100@yahoo.com> +Massimo Pichini <massimo@webbridges.it> +Eyal Neuman <eyal@tradertools.com> +Dave Hale <d.hale@rane.net> +Giulio Agostini <giulio.agostini@db.com> +Werner Buchert <w.buchert@medat.de> +Kevin Cline <krc@one.com> +Mahesh Varadarajan <mahesh.varadarajan@divatv.com> +Olof Lindfors <olof.lindfors@protegrity.com> +Tom Wagner <TomW@CoManage.net> +Kyle Brost <Kyle.Brost@quest.com> +Nicolas Vincent <Vincent.Nicolas@Radiometer.dk> +Jon Wackley <jonw@mountaincable.net> +Jan Kalin <jan.kalin@zag.si> +Andreas Huggel <huggel_andreas@isoftel.com> +Alain Totouom <atotouom@gmx.de> +Tushar Nair <ntushar@yahoo.com> +Sunny Leung <sleung@opentext.com> +Bonifides Bautista <earlboy@my-deja.com> +Brad Hoskins <BHoskins@slo.newport.com +Donald Acton <acton@opentext.com> +Hagen Ulrich <ulrich.hagen@siemens.com> +Adrian Mercieca <adrian@anvilmalta.com> +Lars Steubesand <Lars_Steubesand@hsgmed.com> +Heping He <heping.he@riskmetrics.com> +Leo Kov <leo_kov@hotmail.com> +Suresh N <suresh.n@vergiltech.com> +David Arndt <darndt@oresis.com> +Tad Hetke <thetke@oresis.com> +Graeme Clark <gclark@opentext.com> +Gu Song <gusong_m@yahoo.com> +Chris Hughes <chughes@stentor.com> +Fikri Pribadi <fikri@ugotacall.com> +Ioulia Passynkova <ioulia.passynkova@nettest.com> +Steve Osselton <steve@prismtechnologies.com> +Doron Rajwan <doron@BANDWIZ.COM> +Stuart Jones <sjones@clcsmail.ksc.nasa.gov> +Guillaume Renaud <guillaume.renaud@valtech.fr> +Tommy Svensson <tommysvensson@yahoo.com> +Jstwo <jstwo@writeme.com> +Hartmut Quast <HartmutQuast@t-online.de> +Ulrich Voigt <Ulrich.Voigt@ddg.de> +Syed Wasim Ali <syed.ali@neustar.com> +Bo Balder <bba@post.utfors.se> +Michael Sawczyn <msawczyn@columbus.rr.com> +Ildar Gabdulline <ildar_gabdullin@mailru.com> +David Yongqiang Wang <davidyw@avaya.com> +Andrew Foster <awf@prismtechnologies.com> +C Chan <CChan@md.aacisd.com> +Alexey Chalimov <alexey@allcharge.com> +Andrea Bernicchia <a.bernicchia@acsys.it> +Praphul Menon <praphulm@yahoo.com> +Patrick N <pn@milhouse.co.uk> +Garth Watney <Garth.J.Watney@jpl.nasa.gov> +Jim Connelly <jim.connelly@neustar.com> +Eyal Lubetzky <eyall@BANDWIZ.COM> +Gaoyan Xie <gxie@eecs.wsu.edu> +Michael Brinkmann <michael.brinkmann@materna.de> +Chatchai Khumboa <ckhumboa@gmu.edu> +Andrey Shkinev <andreyshkinev@rogers.com> +Michael Graf <mg@leutek.de> +Justin Michel <michel_j@ociweb.com> +Robert Martin <martin_r@ociweb.com> +Charles Meidinger <Charles.Meidinger@MSFC.NASA.GOV> +Petr Tuma <petr.tuma@mff.cuni.cz> +Greg Burley <Burley@tabq.com.au> +Marvin Greenberg <mgreenberg@dctd.saic.com> +Mike Connors <mike.connors@ghs.com> +Ben Flight <ben.flight@wanadoo.fr> +Bob Jolliffe <bjolliffe@cs.up.ac.za> +Jesse <jesse@thrownet.com> +Robert Handl <Robert.Handl@era.ericsson.se> +Keith Snively <ksnively@d-a-s.com> +Ahmed Riza <Ahmed.Riza@ubsw.com> +Miljenko Norsic <Miljenko.Norsic@etk.ericsson.se> +David Robison <drrobison@openroadsconsulting.com> +Preston Elder <prez@srealm.net.au> +Eric Peters <egpeters@u.washington.edu> +Edward A Thompson <ed4becky_2000@yahoo.com> +Eugene Alterman <eugalt@myrealbox.com> +Patrick Cosmo <Patrick@incognito.com> +Ran Kohavi <ran@kashya.con> +Harvinder Sawhney <harvindersawhney@yahoo.com> +Sorin Iordachescu <sorin.iordachescu@am-beo.com> +Mahesh Vedantam <mahesh@ociweb.com> +Brian Olson <bolson@rtlogic.com> +Roy Sharon <roysharon@hotmail.com> +Charlie Grames <charlie.grames@windriver.com> +Tom Howard <tom_howard@yahoo.com> +Michael Gillmann <michael.gillmann@infor.de> +Yaniv Ben Ari <yanivb@bis.co.il> +Victor Terber <vterber@csksoftware.de> +David Sanders <dsanders@chaincast.com> +Yoram Zini <yoram.zini@emblaze.com> +Sean McCauliff <seanm@Narus.com> +Shmulik Regev <shmul@vself.com> +Andrew L. Shwaika <als@solvo.ru> +Gerhard Voss <Gerhard_Voss@t-online.de> +Gregor Bruce <gregorb@clear.net.nz> +Ian Cahoon <icahoon@cisco.com> +Alexei I. Adamovich <lexa@adam.botik.ru> +Sohail Husain <chulbulla@yahoo.com> +Jerome Julius <julius@erols.com> +William R Volz <WRVO@chevrontexaco.com> + +I would particularly like to thank Paul Stephenson, who worked with me +at Ericsson in the early 1990's. Paul devised the recursive Makefile +scheme that underlies this distribution and also spent countless hours +with me discussing object-oriented techniques for developing +distributed application frameworks. + +Finally, I'd also like to thank Todd L. Montgomery <tmont@cs.wvu.edu>, +fellow heavy metal head, for fulfilling his quest to get ACE to +compile with GCC! + +In conclusion, our goal is to see ACE+TAO continue to evolve and +become a more comprehensive, robust, and well-documented C++ class +library that is freely available to researchers and developers. If +you have any improvements, suggestions, and or comments, we'd like to +hear about it. Please see the instructions in + +$ACE_ROOT/PROBLEM-REPORT-FORM +$TAO_ROOT/PROBLEM-REPORT-FORM + +for instructions on submitting suggestions or fixes. + + Thanks, + + Douglas C. Schmidt + schmidt@uci.edu diff --git a/apps/JAWS2/JAWS/Assoc_Array.h b/apps/JAWS2/JAWS/Assoc_Array.h new file mode 100644 index 00000000000..2adb6de7d0d --- /dev/null +++ b/apps/JAWS2/JAWS/Assoc_Array.h @@ -0,0 +1,102 @@ +/* -*- c++ -*- */ +// $Id$ + +#ifndef JAWS_ASSOC_ARRAY_H +#define JAWS_ASSOC_ARRAY_H + +template <class KEY, class DATA> class JAWS_Assoc_Array_Iterator; + +template <class KEY, class DATA> +class JAWS_Assoc_Array +{ + +friend class JAWS_Assoc_Array_Iterator<KEY, DATA>; + +public: + JAWS_Assoc_Array (int maxsize = 1024); + ~JAWS_Assoc_Array (void); + + int index (const KEY &k); + // Returns the index into the array associated with key k + // Returns -1 if not found. + + DATA * find (const KEY &k); + // Returns the data associated with key k. 0 if not found. + + DATA * find (int i); + // Returns the data associated with array index i. Returns 0 if the + // index is invalid. + + DATA * insert (const KEY &k, const DATA &d); + // Inserts a *copy* of the key and data into the associated array. + // Both KEY and DATA must have well defined semantics for copy + // construction. This method returns a pointer to the inserted item + // copy, or 0 if an error occurred. NOTE: if an identical key + // already exists in the tree, no new item is created, and the + // returned pointer addresses the existing item associated with the + // existing key. + + int remove (const KEY &k); + // Removes the item associated with the given key from the + // tree and destroys it. Returns 1 if it found the item + // and successfully destroyed it, 0 if it did not find the + // item, or -1 if an error occurred. + + void clear (void); + // Destroys all keys and associated data. + +protected: + + int find_i (const KEY &k); + // If k points to an associated data item, then this function + // returns the index into the arrays that hold it. Otherwise, it + // returns an index suitable to insert the item. If the item is not + // found and the table is full, maxsize_ is returned. + +private: + KEY **k_array_; + DATA **d_array_; + int maxsize_; +}; + +template <class KEY, class DATA> +class JAWS_Assoc_Array_Iterator +{ +public: + + JAWS_Assoc_Array_Iterator (const JAWS_Assoc_Array<KEY, DATA> &aa); + ~JAWS_Assoc_Array_Iterator (void); + + KEY * key (void); + DATA * data (void); + + int first (void); + int last (void); + int next (void); + int previous (void); + int is_done (void); + +private: + + // declare private and do not define: explicitly + // prevent assignment and copy construction of iterators + JAWS_Assoc_Array_Iterator (const JAWS_Assoc_Array_Iterator<KEY, DATA> &); + void operator= (const JAWS_Assoc_Array_Iterator<KEY, DATA> &); + +private: + + const JAWS_Assoc_Array<KEY, DATA> &aa_; + + int i_; + // The current item pointed by iterator. + + int j_; + // The next item to be pointed to by iterator. + +}; + +#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) +#include "JAWS/Assoc_Array.cpp" +#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ + +#endif /* !defined (JAWS_ASSOC_ARRAY_H) */ diff --git a/apps/JAWS2/JAWS/Hash_Bucket_T.h b/apps/JAWS2/JAWS/Hash_Bucket_T.h new file mode 100644 index 00000000000..f37c959445f --- /dev/null +++ b/apps/JAWS2/JAWS/Hash_Bucket_T.h @@ -0,0 +1,206 @@ +/* -*- c++ -*- */ +// Hey Emacs! This is a C++ file! +// $Id$ + +#ifndef JAWS_HASH_BUCKET_T_H +#define JAWS_HASH_BUCKET_T_H + +#include "ace/Containers.h" + +#define JAWS_HASH_BUCKET_ITEM JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> +#define JAWS_HASH_BUCKET_DLCSTACK JAWS_Hash_Bucket_DLCStack<EXT_ID, INT_ID> +#define JAWS_HASH_BUCKET_DLCSTACK_ITERATOR \ + JAWS_Hash_Bucket_DLCStack_Iterator<EXT_ID, INT_ID> + + +// Why Hash_Bucket? +// +// This is an attempt to simplify the creation of high-performance +// hash tables with respect to concurrent access by multiple threads. +// To this end, we attempt to raise the amount of concurrency through +// the use or readers/writer locks rather than through mutual +// exclusion. + +template <class EXT_ID, class INT_ID> +class JAWS_Hash_Bucket_Item +{ +public: + JAWS_Hash_Bucket_Item (const EXT_ID &ext_id, const INT_ID &int_id, + JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *next = 0, + JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *prev = 0); + JAWS_Hash_Bucket_Item (JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *next = 0, + JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *prev = 0); + + ~JAWS_Hash_Bucket_Item (void); + // Destructor. + + EXT_ID ext_id_; + // Key used to look up an entry. + + INT_ID int_id_; + // The contents of the entry itself. + + JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *next_; + // Pointer to the next item in the bucket of overflow nodes. + + JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *prev_; + // Pointer to the prev item in the bucket of overflow nodes. + +}; + + +template <class EXT_ID, class INT_ID> class JAWS_Hash_Bucket_DLCStack_Iterator; + +template <class EXT_ID, class INT_ID, class EQ_FUNC> +class JAWS_Hash_Bucket_Manager; + +template <class EXT_ID, class INT_ID> +class JAWS_Hash_Bucket_DLCStack +// Create a doubly linked circular stack to be managed by the +// Hash_Bucket_Manager +{ + friend class JAWS_Hash_Bucket_DLCStack_Iterator<EXT_ID, INT_ID>; + +public: + + JAWS_Hash_Bucket_DLCStack (ACE_Allocator *alloc = 0); + ~JAWS_Hash_Bucket_DLCStack (void); + + int is_empty (void) const; + // Returns 1 if the container is empty, otherwise returns 0. + + JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *push (const EXT_ID &ext_id, + const INT_ID &int_id); + // Adds <new_item> to the head of the list. + // Returns the new item that was inserted. + + JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *pop (void); + // Removes and returns the first <item> in the list. Returns + // internal node's address on success, 0 if the queue was empty. + // This method will *not* free the internal node. + + void reset (void); + // Reset the <JAWS_Hash_Bucket_DLCStack> to be empty. + // Notice that since no one is interested in the items within, + // This operation will delete all items. + + int remove (JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *item); + // If item is still part of the CStack, it is removed. + // In anycase, if there is no error, item is freed. + // Returns 0 if ok, -1 on error. + + ACE_Allocator *allocator_; + +private: + + JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *head_; + JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *tail_; + +}; + + +template <class EXT_ID, class INT_ID> +class JAWS_Hash_Bucket_DLCStack_Iterator +{ +public: + + JAWS_Hash_Bucket_DLCStack_Iterator (const JAWS_HASH_BUCKET_DLCSTACK &dlcstack); + + int first (void); + // Moves to first element in the set, clears done flag. Returns 0 + // if empty, 1 otherwise. + + int last (void); + // Moves to last element in the set, clears done flag. Returns 0 if + // empty, 1 otherwise. + + int advance (void); + // Move forward by one element of set. Returns 0 if empty or we end + // up being the first element in the set, 1 otherwise. If advance + // takes us to the first element, done is set to true. + + int revert (void); + // Move backward by one element of set. Returns 0 if empty or we + // end up being the last element in the set, 1 otherwise. If revert + // takes us to the last element, done is set to true. + + int next (JAWS_HASH_BUCKET_ITEM *&item); + int next (JAWS_HASH_BUCKET_ITEM *&item) const; + // Pass back the next item. Returns 0 if done is true, 1 otherwise. + + int prev (JAWS_HASH_BUCKET_ITEM *&item); + int prev (JAWS_HASH_BUCKET_ITEM *&item) const; + // Pass back the previous item. Returns 0 if done is true, 1 + // otherwise. + + int done (void) const; + // Returns 1 if done_ flag is set, 0 otherwise. done_ flag is set + // if next takes us to first element or prev takes us to last + // element. + +private: + const JAWS_HASH_BUCKET_DLCSTACK &dlcstack_; + JAWS_HASH_BUCKET_ITEM *next_; + JAWS_HASH_BUCKET_ITEM *prev_; + int done_; +}; + + +template <class EXT_ID, class INT_ID, class EQ_FUNC> +class JAWS_Hash_Bucket_Manager +{ +public: + JAWS_Hash_Bucket_Manager (ACE_Allocator *alloc = 0); + int open (ACE_Allocator *alloc = 0); + + ~JAWS_Hash_Bucket_Manager (void); + int close (void); + + int find (const EXT_ID &ext_id) const; + int find (const EXT_ID &ext_id, INT_ID &int_id) const; + // Locate <ext_id> and pass out parameter via <int_id>. If found, + // return 0, returns -1 if not found. + + int bind (const EXT_ID &ext_id, const INT_ID &int_id); + int trybind (const EXT_ID &ext_id, INT_ID &int_id); + // Associate <ext_id> with <int_id> if and only if <ext_id> is not + // in the map. If <ext_id> is already in the map then the <int_id> + // parameter is assigned the existing value in the map. Returns 0 + // if a new entry is bound successfully, returns 1 if an attempt is + // made to bind an existing entry, and returns -1 if failures occur. + + int rebind (const EXT_ID &ext_id, const INT_ID &int_id, + EXT_ID &old_ext_id, INT_ID &old_int_id); + // Associate <ext_id> with <int_id>. If <ext_id> is not in the map + // then behaves just like <bind>. Otherwise, store the old values + // of <ext_id> and <int_id> into the "out" parameters and rebind the + // new parameters. This is very useful if you need to have an + // atomic way of updating <JAWS_Hash_Map_Entrys> and you also need full + // control over memory allocation. Returns 0 if a new entry is + // bound successfully, returns 1 if an existing entry was rebound, + // and returns -1 if failures occur. + + int unbind (const EXT_ID &ext_id); + int unbind (const EXT_ID &ext_id, INT_ID &int_id); + // Break any association of <ext_id>. Returns the value of <int_id> + // in case the caller needs to deallocate memory. Return value is 0 + // if unbind succeeds, -1 otherwise. + +protected: + + JAWS_Hash_Bucket_Item<EXT_ID, INT_ID> *find_i (const EXT_ID &ext_id) const; + // Returns the item associated with ext_id if found in list. + // Returns NULL if not found. + +private: + + JAWS_Hash_Bucket_DLCStack<EXT_ID, INT_ID> dlcstack_; + +}; + + +#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) +#include "JAWS/Hash_Bucket_T.cpp" +#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ + +#endif /* JAWS_HASH_BUCKET_T_H */ diff --git a/apps/gperf/ChangeLog b/apps/gperf/ChangeLog new file mode 100644 index 00000000000..a243474ca76 --- /dev/null +++ b/apps/gperf/ChangeLog @@ -0,0 +1,1990 @@ +Mon Jan 14 14:43:53 2002 Carlos O'Ryan <coryan@uci.edu> + + * tests/Makefile: + Re-generate dependencies. + +Mon Dec 24 12:47:27 2001 Carlos O'Ryan <coryan@uci.edu> + + * src/Options.cpp: + Add temporary fix until something better shows up, at least it + compiles this way! + +Sat Sep 22 09:06:10 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * src/Makefile: Removed the rules.lib.GNU file since it didn't + seem to be needed and was causing problems for MinGW. Thanks to + Jeff McNiel <JMcNiel@datacrit.com> for reporting this. + +Wed Sep 19 02:29:37 2001 Carlos O'Ryan <coryan@uci.edu> + + * tests/Makefile: + Another minor problem in the generated Makefile, i.e. the script + continues to break for filenames that contain a '+' sign in them. + +Wed Sep 12 16:06:46 2001 Krishnakumar B <kitty@cs.wustl.edu> + + * tests/Makefile: + + Added missing dependency in runtests and entry in realclean for + taoout. This fixes a long standing nagging problem. + +Sat Sep 8 22:40:21 2001 Krishnakumar B <kitty@cs.wustl.edu> + + * src/Key_List.cpp (output_lookup_array): + + Removed a compilation warning on 64-bit Linux. + +Sun Jul 29 12:17:55 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu> + + * The following changes fix a bug reported by Karl Proese + <karl.proese@mchp.siemens.de> and Jeff Parsons. + + * tests: Patched the *.exp files to include the new WORDLIST_SIZE + macro. + + * src/Key_List.cpp: Generate a new const/enum that defines the + size of the wordlist array. This is now used to fix a nasty bug + where MAX_HASH_VALUE was used instead of WORDLIST_SIZE. + + * src/Key_List.cpp (output_lookup_array): Reformatted the + debugging output to make it easier to tell what's going on. + + * tests/tao.exp: Updated this file based on the expected output of + the new test example. + + * tests/tao.gperf: Updated this to use a different set of keys since + they exercise the range of screwy inputs better than the earlier + contents of this file. In particular, this should detect + certain nasty bugs that were plaguing GPERF earlier for keyword + sets with a large number of duplicates. + + * src/Key_List.cpp (read_keys): Clarified the debugging message + to indicate the key links are *static*. + + * src/Options.cpp (parse_args): Fixed a stupid typo... + +Sun Jul 1 08:33:56 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu> + + * tests/Makefile: For some strange reason there was a BIN2 macro + but no BIN macro, which caused problems... + + * tests: Added support to check for the condition that caused + TAO's IDL compiler to break on keylists that have a large number + of duplicates! + + * src/Key_List.cpp (output_lookup_function): Fixed a tiny mistake + where "slot < MAX_HASH_VALUE" should have been "slot <= + MAX_HASH_VALUE". Thanks to Vsevolod Novikov + <novikov@df.nnov.rfnet.ru> and Jeff Parsons + <parsons@cs.wustl.edu> for helping to track this down. + +Sat Jun 2 13:30:30 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu> + + * src/Makefile (INSTALL): Fixed several minor problems with the + Makefile so that this will build correctly on mingw. Thanks to + Cristian Ferretti <cristian_ferretti@yahoo.com> for pointing + this out. + +Fri Mar 30 11:30:54 2001 Carlos O'Ryan <coryan@uci.edu> + + * tests/Makefile: + And we need to patch dependencies yet another time. + +Wed Jan 24 13:44:53 2001 Carlos O'Ryan <coryan@uci.edu> + + * tests/Makefile: + And I got nailed by the same problem again: + Just doing 'make depend' generates invalid dependencies for some + reason, had to manually patch them. + +Mon Oct 16 10:34:06 2000 Carlos O'Ryan <coryan@uci.edu> + + * tests/Makefile: + Just doing 'make depend' generates invalid dependencies for some + reason, had to manually patch them. + +Fri Apr 21 20:33:11 2000 Carlos O'Ryan <coryan@uci.edu> + + * tests/Makefile: + Add dependencies for the runtest rule, otherwise parallel builds + fail. + +Thu Apr 20 09:04:27 2000 Carlos O'Ryan <coryan@uci.edu> + + * tests/Makefile: + Just running 'make depend' on this file introduces an spurious + 'c++' string in the middle of the dependencies. Have no time to + figure out why. + +Wed Mar 8 17:26:22 2000 Ossama Othman <ossama@uci.edu> + + * src/Key_List.cpp (Key_List, ~Key_List, output_types): + + Fixed memory leaks related to lack of deallocation of variables + that were initialized with static strings, and then + reinitialized with strings that were dynamically allocated. + [Bug 334] + +Tue Feb 22 18:25:02 2000 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * src/Key_List.cpp, + src/Bool_Array.cpp, + src/Gen_Perf.cpp, + src/Hash_Table.cpp, + src/Options.h, + src/Options.cpp: Renamed the DEBUG enum to DEBUGGING enum + to avoid problems with -DDEBUG is enabled. Thanks to + Tobin Bergen-Hill <tbhill@dctd.saic.com> for reporting this. + +Sat Nov 13 18:43:53 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * src/Key_List.cpp: The code for output_lookup_function() was + not being called if option[GLOBAL] was set. Thanks to Eugene + Surovegin <ebs@glasnet.ru> for reporting the bug and the fix. + +Tue Aug 31 14:47:06 1999 Pradeep Gore <pradeep@flamenco.cs.wustl.edu> + + * Makefile: + Fix for Bug#:250 - The Makefile now uses ACE's build commands. + This also gets rid of the build warning on egcs when compiling + with repo=1. Thanks to David, Ossama, Bala and Yamuna. + +Thu Jul 1 09:31:32 1999 Carlos O'Ryan <coryan@cs.wustl.edu> + + * Makefile: + If we are cross compiling we shouldn't compile gperf, it is not + going to help anyway, because we could not run it. + +Sun Jun 27 20:40:30 1999 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu> + + * src/Key_List.cpp: Added some initializers to keep EGCS from + complaining. + +Wed Jun 23 07:24:58 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * src/Key_List.cpp (output_hash_function): Use conditional + compilation rather than a runtime check to test if + ACE_STANDARD_CHARACTER_SET_SIZE == ACE_EBCDIC_SIZE. This + suppresses a warning on DEC UNIX. Thanks to David Levine for + reporting this. + +Fri Jun 18 16:54:43 1999 Irfan Pyarali <irfan@cs.wustl.edu> + + * apps/gperf/src/Key_List.cpp (output_lookup_array): Prefixed + debug message with "GPERF". + +Thu Jun 17 18:04:30 1999 Douglas C. Schmidt <schmidt@mambo.cs.wustl.edu> + + * tests/test-[1-5].exp: Fixed all the tests to account for the new + EBCDIC output. + +Thu Jun 17 17:25:00 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * src/Key_List.cpp (output_hash_function): Generate an asso_values + table that will have the appropriate values for both EBCDIC or + ASCII, depending on the platform. + + * src/Key_List.cpp (output_hash_function), + src/Gen_Perf.cpp (Gen_Perf), + src/Vectors.h: Replaced the use of ALPHA_SIZE with + ACE_STANDARD_CHARACTER_SET_SIZE, which works correctly for + EBCDIC platforms, as well as ASCII ones. Thanks to + Jim Rogers <jrogers@viasoft.com> for this suggestion. + +Wed Jun 16 19:08:01 1999 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * src/Key_List.cpp: Fixed the key_word table generation so that it + generates the "default fill" string for the null entries in the + table. Thanks to Irfan and Naga for helping in this. + +Sun Jun 6 15:47:23 1999 Douglas C. Schmidt <schmidt@danzon.cs.wustl.edu> + + * src/Key_List.cpp (output_switch): Make sure to generate "const + char *resword;" rather than "char *resword" since otherwise C++ + compilers correctly complain. + + * tests: Fixed a bunch of warnings related to misuses of "const + char *". + +Sun Jun 6 10:30:09 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/test-4.exp: Fixed another use of "index". Thanks to David + Levine for reporting this. + +Sat Jun 5 23:17:39 1999 Douglas C. Schmidt <schmidt@danzon.cs.wustl.edu> + + * Replaced all uses of "index" with "slot" to avoid problems with + broken C++ compilers that define a macro called "index". + +Tue May 4 14:24:27 1999 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * src/Options.cpp (parse_args): Removed %a flag from -v option and + used ACE_OS::exit (0) instead. + +Mon Apr 26 15:42:54 1999 Ossama Othman <othman@cs.wustl.edu> + + * tests/test-{1,2,3,4,5}.exp: Forgot to update the expected test + output to reflect the version string update listed below. + +Mon Apr 26 10:42:08 1999 Ossama Othman <othman@cs.wustl.edu> + + * src/Version.cpp (version_string): Updated version string to "2.8 + (ACE version)" since 2.7 is used by the old Cygnus maintained + gperf. + + * src/*.{h,cpp}: Updated copyright/distribution information to GPL + v2 style notice. + +Sun Apr 25 16:16:12 1999 Ossama Othman <othman@cs.wustl.edu> + + * mdate-sh: Added this file to the CVS repository. It will be + used once the auto{conf,make} integrations are in place. + +Sun Apr 25 16:13:40 1999 Ossama Othman <othman@cs.wustl.edu> + + * COPYING: Updated to GPL version 2. + +Sat Apr 24 18:18:35 1999 Ossama Othman <othman@cs.wustl.edu> + + * gperf.1: + * gperf.info: + * gperf.texi: Added missing quote, cosmetic fix, regenerated + gperf.info. + + * src/Key_List.cpp + * src/Options.h: + * src/Options.cpp: Merged Cygnus patch that allows the user to + specify a default fill expression/value in the keyword table. + Updated help message with new `-F' option. Made some cosmetic + fixes to the help message, too. + + * tests/test.cpp: Minor spelling correction in comment + + * tests/test-6.exp: Updated with new expected gperf output. + +Mon Nov 9 23:37:09 1998 Vishal Kachroo <vishal@cs.wustl.edu> + + * src/Key_List.cpp: Fixed the problem with Binary and Linear + Search code. + +Sat Oct 10 18:40:56 1998 Vishal Kachroo <vishal@merengue.cs.wustl.edu> + + * tests/test-6.exp (Usage): copied the output of gperf -h option + into test-6.exp. This test was failing because it didn't have + the -b option previously. Thanks to David for reporting the + failure of tests. + + * src/Options.cpp : Changed the option case 'h' to include the + following line " -b/t Code for Linear Search". + +Fri Oct 9 01:06:56 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * src/Options.cpp : + * src/Key_List.cpp (output_linear_search_function): Changed option + -z to -b for generating linear search. Removed <len> parameter + from the lookup code. We dont need <len> in the generated code + in the case of linear/binary search options. + +Thu Oct 8 17:40:19 1998 Vishal Kachroo <vishal@merengue.cs.wustl.edu> + + * src/Gen_Perf.cpp (run): added the linear search changes. + * src/Gen_Perf.h : added the linear search changes. + * src/Options.cpp : added the linear search changes. + * src/Options.h : added the linear search changes. + * src/Key_List.cpp : added the linear search changes. + * src/Key_List.h : added the linear search changes. + + +Wed Oct 7 01:20:35 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * tests/test-6.exp: + Updated thif file to the current help message. Thanks to Hans + for reporting this. + +Tue Oct 6 11:51:47 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * src/Key_List.cpp (Key_List): Fixed g++ warnings. + +Tue Oct 6 02:48:37 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + Thanks to Vishal the following things have been done to get Binary + Search code generated from GPERF. + + * src/Options.cpp (parse_args): Added the -B option for the binary + search. + + * src/Options.h (enum Option_Type): Added the BINARYSEARCH in the + enumeration. + + * src/Key_List.cpp : Added the function + output_binary_search_function(void). Changed the output function + to include the Binary Search option. Used option[BINARYSEARCH] + to distinguish the binary search case from the hashing case. + + * src/Key_List.h : Added the prototype for + output_binary_search_function. Also added the key_sort variable + to enable sorting based on key values. + +Mon Oct 5 18:24:15 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * src/Gen_Perf: Created a new function that allows us to split the + binary search and perfect hash logic apart. Thanks to Vishal + and Alex for reporting this. + + * src/Key_List.cpp (dump): Fixed the unsigned problems with line + 1502 YET again... Thanks to David/Darrell for reporting this. + +Sun Oct 4 20:42:56 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * src: Fixed yet another problem with switching from array-based + lookups to switch-based lookups. Thanks to Carlos for reporting + this. + +Sat Oct 3 19:36:52 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * src/Options.h: + * src/Options.cpp: + * src/Key_List.h: + * src/Key_List.cpp: Reverted all the changes done for Binary + Search. + +Sat Oct 3 17:51:10 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * tests/test-6.exp: Added the new -B option. + +Sat Oct 3 13:47:40 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * src/Key_List.cpp (output_binary_search_function): Added a new + line after binary search code. + +Sat Oct 3 10:11:15 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * src/Options.cpp (parse_args): Changed the option for binary + search to '-B' + +Fri Oct 2 21:38:54 1998 Vishal Kachroo <vishal@merengue.cs.wustl.edu> + + * src/Options.cpp (parse_args): Added the -b option for the binary + search. + + * src/Options.h (enum Option_Type): Added the BINARYSEARCH in the + enumeration. + + * src/Key_List.cpp : Added the function + output_binary_search_function (void). Changed the output + function to include the Binary Search option. Used + option[BINARYSEARCH] to distinguish the binary search case from + the hashing case. + + * src/Key_List.h : Added the prototype for + output_binary_search_function. Also added the key_sort variable + to enable sorting based on key values. + +Thu Oct 1 12:40:59 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * src/Options.cpp (parse_args): Comments for Vishal to incorporate + Binary Seach on to GPERF. + +Wed Sep 30 16:55:53 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * tests/Makefile: Updated dependencies, added a realclean target + to remove the output from the tests. + +Wed Sep 30 12:41:29 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * src/Key_List.cpp (dump): Fixed another signed/unsigned int + mismatch. Thanks to David Levine for reporting this. + +Mon Sep 28 13:18:05 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests: Updated all the test-*.exp files to reflect the latest + "unsigned" changes. + + * src/Key_List.cpp (output_hash_function): Fixed another use of + int to be unsigned int. + + * tests/test.cpp: Fixed the signature of in_word_set() to be + consistent with the new gperf. Thanks to David Levine and + Carlos O'Ryan for this fix. + +Sun Sep 27 00:04:18 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * src/Key_List.cpp (dump): Reverted back to using int for + keyword_width to keep certain compilers happy. Thanks to David + Levine for reporting this. + + * src/Key_List: MAke sure that we don't generate the lookup table + twice if we're forced to change to the switch format. + + * src/Key_List: Replaced the use of "int" with "unsigned int" for + parameters and hash values. + + * src/Key_List: Fixed the code so that if we change over to using + the switch statement then we use the already generated keyword + table appropriately. This prevents unnecessary warnings from + some C++ compilers. Thanks to David Levine for reporting this. + + * src/Key_List.cpp (output): If it's not possible to use the + lookup_array implementation of -D (e.g., because there aren't + enough empty slots in the lookup_array), then default to using + -S1 option... This fixes a nasty bug that's been in gperf for + years.... + + * src/Key_List.cpp: (output_lookup_array): Added a "return 0" to + make the C++ compiler happy. Thanks to David for noticing this. + + * tests/c++-res.exp: Added a new test for C++ keywords. + + * tests/corba.gperf: Added a proper test for CORBA keywords. + +Sat Sep 26 15:32:56 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * src/Hash_Table.cpp (find): Fixed a bug in the increment + computation that arose if the -n option was given. + + * src: Removed all set_ and get_ prefixes to be more consistent + with ACE programming guidelines. + + * src: GPERF now Purifies cleanly. + + * src/Gen_Perf: Cleaned up the code so that if errors occur they + get handled properly. + + * src/List_Node: Added a destructor to remove the memory when + we're done. + + * src: Continued to tidy up the source code so that it is better + designed and Purifies cleanly on shutdown. + + * src/Makefile: Removed the need for libGperf.{a,so}. + + * src/Key_List: Changed read_keys() to return a value so that we + can check for errors. + +Fri Sep 25 08:54:41 1998 David L. Levine <levine@cs.wustl.edu> + + * src/Key_List.cpp (Key_List ctor): reordered initializers to + match declaration order. + +Thu Sep 24 18:20:36 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * src/Key_List: Changed char_set field to keysig to be consistent + with the paper. + + * src/Hash_Table: Renamed operator() to find(). What the heck was + I thinking in '92?! + + * src/gperf.cpp (main): Removed the LARGE_STACK_ARRAYS option. + This was annoying... + +Tue Sep 22 21:30:59 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/corba.exp: added this file, it hadn't been checked in. + +Tue Sep 22 18:02:01 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/Makefile: Added a new test for CORBA keywords. + + * tests: Added a new test for the type of input that is causing + problems with TAO's IDL compiler. + + * src/Key_List.cpp (output_lookup_array): Changed the assertion + from assert (i != 0) to assert (i >= 0) since I think that's + correct... (ah, so THAT's why comments are important thinks the + '92 Doug... ;-)). + + * src/Options: Improved the comments for the '-h' option to + reflect current reality... + +Thu Sep 17 11:42:53 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * src/Key_List.cpp (output_lookup_array): Put 'signed' keyword + before 'char lookup' to avoid problems on platforms where char + is defined as unsigned. Thanks to Margherita Vittone Wiersma + <vittone@fndaub.fnal.gov> for reporting this. + +Wed Sep 16 19:08:13 1998 David L. Levine <levine@cs.wustl.edu> + + * Makefile: don't run build/run tests on CROSS-COMPILE platforms. + Thanks to Raja Ati <rati@montereynets.com> for reporting this + problem. + +Wed Sep 16 18:18:41 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/Makefile: Changed CFLAGS to CCFLAGS to make aCC happy on + HP/UX. Thanks to John Mulhern for reporting this. + +Tue Sep 15 18:14:08 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/test-6.exp (Usage): Fixed the usage so diff should no + longer complain... Thanks to David for reporting this. + +Tue Sep 15 21:54:07 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/Makefile: filter timestamps from test output so that + diffs will pass. + +Tue Sep 15 18:14:08 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests: Updated the expected output to look for 2.7 vs 2.6 + of gperf. + +Thu Sep 10 16:50:21 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * tests/Makefile: + The test programs were not linking against ACE. + +Tue Sep 8 12:45:53 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/test.cpp: Added #include "ace/OS.h" so that the ACE_RCSID + macro is defined. Thanks to Arturo Montes + <mitosys@colomsat.net.co> for reporting this. + +Sat Aug 22 08:44:15 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * src/Options.cpp : Fixed the typo (-V instead of -v) under 'case + h' print string. + +Fri Aug 21 11:57:57 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * src/Key_List.cpp (set_output_types): Make sure that we leave an + extra space between the struct tag and the wordlist so the + compiler doesn't complain. Thanks to Andy Gokhale for reporting + this. + + * src/gperf.cpp: Modified the main() program so that it doesn't + print the starting time until AFTER we've parsed the arguments. + + * src/Version.cpp: Updated the version to 2.7 to reflect the + new changes. + + * src/Options.cpp (operator): Added a new -V option, which just + exits with a value of 0. This is useful for checking if gperf + exists in the search path. We use the feature in TAO. + + * src: Removed the globally overloaded new operator. This was a + portability pain and didn't really improve performance very + much. + + * src/Options.cpp (operator): Fixed '%e' to be '%r' to come up to + speed with ACE changes. + +Sat Aug 15 07:59:58 1998 David L. Levine <levine@cs.wustl.edu> + + * src/gperf.cpp (main): added ACE_UNUSED_ARGS for argc and + argv if ! ACE_HAS_GPERF. + +Fri Aug 14 13:47:00 1998 David L. Levine <levine@cs.wustl.edu> + + * src/new.cpp (delete): aded ACE_UNUSED_ARG (ptr). + +Fri Jul 31 18:28:45 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu> + + * src/Bool_Array.cpp: + * src/Gen_Perf.cpp: + * src/Hash_Table.cpp: + * src/Iterator.cpp: + * src/Key_List.cpp: + * src/List_Node.cpp: + * src/Options.cpp: + * src/Vectors.cpp: + * src/Version.cpp: + * src/gperf.cpp: + * src/new.cpp: + * tests/test.cpp: + Added ACE_RCSID to these files. + +Tue Jul 21 09:30:51 1998 David L. Levine <levine@cs.wustl.edu> + + * src/gperf.cpp (main): added a trivial main () if ! ACE_HAS_GPERF, + so that the link succeeds. + +Mon Jul 20 16:02:18 1998 David L. Levine <levine@cs.wustl.edu> + + * src/Makefile: fixed INSTALL. It works with the latest + $ACE_ROOT/include/makeinclude/rules.lib.GNU. + +Mon Jul 20 15:35:59 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * Wrapped all the files with "#if defined (ACE_HAS_GPERF)" so that + it compiles on appropriate platforms. + +Sun Jul 19 22:21:17 1998 David L. Levine <levine@cs.wustl.edu> + + * src/new.cpp (new): wrapped assignment with parens where used + as a conditional. + + * src/Iterator.cpp (Iterator), List_Node.cpp (List_Node), + Hash_Table.cpp (Hash_Table): + reordered initializers to match declaration order. + + * src/Hash_Table.cpp (~Hash_Table), + * src/Bool_Array.cpp (init): cast sizeof + to int to avoid compiler (g++/Linux alpha) warning about + mismatch with %d format specifier. + + * src/new.cpp (new): use ACE_THROW_SPEC instead of + _RWSTD_THROW_SPEC. + +Sun Jul 19 13:11:59 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * src/new.cpp: Added support for the _RWSTD_THROW_SPEC macro for + DEC UNIX. Thanks to David Levine for reporting this. + + * src/Key_List.cpp: Fixed one of those nasty "for loop counter + scoping glitches. Again, thanks to David Levine and DEC C++ for + catching this. * src/Key_List.cpp (reorder): Clarified the code + so that we don't write horrible C-style hacks. Thanks to David + Levine and the DEC C++ compiler for finding this one! + +Tue Jun 30 15:43:16 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * src/Options.h : + * src/Options.cpp : + * src/Key_List.cpp : Added the following options to gperf. + - "-m" To mute warnings. (If -D option is enabled, + gperf doesnt say anything about duplicate hash + values etc. + - "-M" To skip class definition while in C++ mode. + - "-J" To skip the line "#include <string.h>" in the + output. + +Thu May 14 16:37:39 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * src: ACE'ifed most of the gperf source code, yow! + +Sun Apr 14 14:31:10 1996 Douglas C. Schmidt (schmidt@tango.cs.wustl.edu) + + * src: Changed things so that there's no longer any use of the + Read_Line and Std_Err code. All of this has been pushed into + the ACE components, which is where it belongs... + + * src: Changed things so that there's no longer any use of the + pointless inheritance in the code. This was a result of my not + understanding inheritance back in 1989... ;-) + + * Began to integrate GNU gperf into the ACE release. Started off + by bringing the standard GNU version up to date wrt to the + changes I made back in 1991! + +Tue Oct 10 16:37:28 1995 Mike Stump <mrs@cygnus.com> + + * src/new.cc: Since malloc/delete are not paired, we cannot call + free. + +Wed Jan 4 12:40:14 1995 Per Bothner <bothner@kalessin.cygnus.com> + + * src/Makefile.in ($(TARGETPROG)): Link with $(LDFLAGS). + Patch from John Interrante <interran@uluru.stanford.edu>. + +Sat Nov 5 19:12:48 1994 Jason Merrill (jason@phydeaux.cygnus.com) + + * src/Makefile.in (LIBS): Remove. + +Tue Oct 18 17:51:14 1994 Per Bothner <bothner@kalessin.cygnus.com> + + * src/std-err.cc: Use stderror, instead of the non-standard + sys_nerr and sys_errlist. + +Sat Sep 17 22:02:13 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * src/key-list.cc (output_hash_function): + Patch from William Bader <wbader@CSEE.Lehigh.Edu>. + +Fri Jul 15 09:38:11 1994 Per Bothner (bothner@cygnus.com) + + * src/std-err.cc: #include <errno.h>, and only declare + extern int errno if errno is not a macro. + +Mon May 30 17:29:34 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * Makefile.in (src_all, install): Make sure to add '/' after + `pwd` in $rootme, as expected by FLAGS_TO_PASS. + +Wed May 11 00:47:22 1994 Jason Merrill (jason@deneb.cygnus.com) + + Make libg++ build with gcc -ansi -pedantic-errors + * src/options.h: Lose commas at end of enumerator lists. + +Sun Dec 5 19:16:40 1993 Brendan Kehoe (brendan@lisa.cygnus.com) + + * src/hash-table.cc (Hash_Table::~Hash_Table): Don't pass an + argument to fprintf, since it's not expecting one. + +Fri Nov 26 19:03:18 1993 Per Bothner (bothner@kalessin.cygnus.com) + + * src/list-node.cc: #undef index, for the sake of broken NeXT, + +Thu Nov 4 11:16:03 1993 Per Bothner (bothner@kalessin.cygnus.com) + + * Makefile.in (install): Use INSTALL_DATA for gperf.1. + +Mon Oct 25 18:40:51 1993 Per Bothner (bothner@kalessin.cygnus.com) + + * src/key-list.cc (Key_List::read_keys): Use POW macro + to increase hash table size to power of 2. + + * options.h (LARGE_STACK_ARRAYS): New flag. Defaults to zero. + * gen-perf.cc, key-list.cc, read-line.cc: + Only stack-allocate large arrays if LARGE_STACK_ARRAYS is set. + * main.cc (main): Only call setrlimit (RLIMIT_STACK, ...) + if LARGE_STACK_ARRAYS. + +Mon Oct 4 17:45:08 1993 Per Bothner (bothner@kalessin.cygnus.com) + + * src/gen-perf.cc: Always use ANSI rand/srand instead of BSDisms. + +Wed Aug 18 12:19:53 1993 Per Bothner (bothner@kalessin.cygnus.com) + + * Makefile.in (src_all): Make less verbose output. + +Fri May 28 14:01:18 1993 Per Bothner (bothner@rtl.cygnus.com) + + * src/gen-perf.cc (Gen_Perf::change): Don't use gcc-specific + 2-operand conditional expression. + * src/key-list.cc (Key_List::output_lookup_array): + Don't use variable-size stack arrays, unless compiled by g++. + +Tue May 4 14:08:44 1993 Per Bothner (bothner@cygnus.com) + + Changes (mostly from Peter Schauer) to permit compilation + using cfront 3.0 and otherwise be ARM-conforming. + * src/key-list.h: class Key_List must use public derivation + of base class Std_Err (because Gen_Perf::operator() in gen-perf.cc + calls Std_Err::report_error). + * src/gen-perf.cc (Gen_Perf::affects_prev), src/hash-table.cc + (Hash_Table::operator()): Don't use gcc-specific 2-operand + conditional expression. + * src/iterator.cc (Iterator::operator()): Don't use gcc-specific + range construct in case label. + * key-list.cc (Key_List::output_lookup_array, Key_List::read_keys), + src/gen-perf.cc (Gen_Perf::operator(), src/read-line.cc + (Read_Line::readln_aux): If not gcc, don't allocate + variable-sized arrays on stack. + * src/new.cc (operator new): Argument type should be size_t. + * key-list.cc (Key_List::output_lookup_array, Key_List::read_keys), + new/cc (::operator new): Don't use non-standard >?= operator. + +Tue Apr 27 20:11:30 1993 Per Bothner (bothner@cygnus.com) + + * src/Makefile.in: Define TARGETPROG, and use it. + +Mon Apr 19 00:29:18 1993 Per Bothner (bothner@cygnus.com) + + * Makefile.in, configure.in: Re-vamped configure scheme. + * gperf.texinfo: Renamed to gperf.texi. + * src/bool-array.{h,cc}: ANSIfy bzero->memset. + +Sat Jan 30 20:21:28 1993 Brendan Kehoe (brendan@lisa.cygnus.com) + + * tests/Makefile.in (mostlyclean): Also delete aout, cout, m3out, + pout, and preout. + +Tue Dec 29 08:58:17 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in: pass $(FLAGS_TO_PASS) to all calls to make. + (FLAGS_TO_PASS): added INSTALL, INSTALL_DATA, INSTALL_PROGRAM. + +Mon Dec 21 18:46:46 1992 Per Bothner (bothner@rtl.cygnus.com) + + * tests/expected.* renamed to *.exp to fit in 14 chars. + * tests/Makefile.in: Update accordingly. + Also rename output.* to *.out. + * src/Makefile.in (clean): Remove gperf program. + +Wed Dec 9 14:33:34 1992 Per Bothner (bothner@cygnus.com) + + * src/hash-table.cc, src/bool-array.h: ANSIfy bzero->memset. + +Thu Dec 3 19:34:12 1992 Per Bothner (bothner@cygnus.com) + + * Makefile.in (distclean, realclean): Don't delete + Makefile before recursing. + +Fri Nov 6 13:41:49 1992 Per Bothner (bothner@rtl.cygnus.com) + + * key-list.{h,cc}: Remove MAX_INT (and similar) constant + fields from Key_List class, and use INT_MAX (etc) from limits.h. + * key-list.{h,cc}, options.{h,cc}, vectors.h: Removed all + uses of initialized const fields, as they are non-standard + - and their use was easy to do away with. Mostly, just + made the constants static non-fields in the .cc file. + +Mon Nov 2 13:10:11 1992 Per Bothner (bothner@cygnus.com) + + * tests/Makefile.in: When generating cinset.c, don't pass -C, + since -C assumes an ANSI compiler. Add the -C flag (with -a) + when generating test.out.3 instead. + * tests/expected.out.3: Update accordingly. + +Wed Aug 12 11:47:54 1992 Per Bothner (bothner@cygnus.com) + + * Makefile.in: Factor out common flags into $(FLAGS_TO_PASS). + * Makefile.in: 'install-info' depends on gperf.info. + +Mon Aug 10 11:39:52 1992 Ian Lance Taylor (ian@dumbest.cygnus.com) + + * Makefile.in, src/Makefile.in: always create installation + directories. + +Mon Jul 20 15:33:21 1992 Mike Stump (mrs@cygnus.com) + + * src/new.cc (operator new): Add cast from void * to char *, + since it is not a standard conversion. + +Wed Jun 17 16:25:30 1992 Per Bothner (bothner@rtl.cygnus.com) + + * src/gen-perf.cc: #include <_G_config.h> for _G_SYSV. + * src/key-list.cc: alloca() hair. + * src/main.cc (main): Only call getrlimit if _G_HAVE_SYS_RESOURCE. + * Makefile,in, {src,test}/Makefile.in: Fix *clean rules. + +Fri May 29 13:21:13 1992 Per Bothner (bothner@rtl.cygnus.com) + + * src/gen-perf.cc: Replace USG -> _G_SYSV. + +Thu May 14 13:58:36 1992 Per Bothner (bothner@rtl.cygnus.com) + + * src/Makefile.in: Don't pass obsolete flag -DUNLIMIT_STACK. + * tests/Makefile.in (clean): Fix. + +Sat Mar 7 00:03:56 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * gperf.texinfo: added menu item hook. + +Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in, configure.in: removed traces of namesubdir, + -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced + copyrights to '92, changed some from Cygnus to FSF. + +Sun Jan 26 19:21:58 1992 Per Bothner (bothner at cygnus.com) + + * tests/Makefile.in: Use re-directed stdin instead of file + name in argv. This allows us to remove the filename + from the output, the expected output, and hence the diffs. + (Note that the input file is in $(srcdir), which we cannot + place in the expected out files.) + * tests/expected.out.[1235]: Edit out input filename, + to match new output. + +Mon Nov 4 15:04:41 1991 Douglas C. Schmidt (schmidt at bastille.ics.uci.edu) + + * Need to do something about the end-of-line marker being + hard-coded to '\n'... + + * Need to do something about the comment character being + hard-coded to '#'... + +Fri Sep 27 09:30:15 1991 Douglas C. Schmidt (schmidt at net4.ics.uci.edu) + + * Fixed a stupid problem with printout out a local enum with the + -E option (I forgot to check for the case of 0 duplicates, so it + was saying 1 duplicate instead!). + +Mon Aug 19 00:39:40 1991 Douglas C. Schmidt (schmidt at javel.ics.uci.edu) + + * Yow, all finished making gperf run with cfront/Saber C++. Not + really all that hard, actually, though did need to remove some + GNU specific hacks, like dynamically sized arrays and + initializing class data members in their declarations, etc. + + * Bumped up the version # to reflect the recent changes. + +Sun Aug 18 22:25:32 1991 Douglas C. Schmidt (schmidt at javel.ics.uci.edu) + + * Changed passage of Options::usage function in Options.C to have + a leading `&' so that Saber C++ wouldn't complain... + + * Added a new header file called gperf.h that includes system-wide + info. + + * Hacked up the release to work with Saber C++! Changed all *.cc + files to *.C. + +Mon Aug 5 21:18:47 1991 Douglas C. Schmidt (schmidt at net1.ics.uci.edu) + + * Yow, hacked in the nifty changes to the Std_Err error handling + abstraction. This now adds format string support for printing + out signals and the name of the function when things go wrong. + Make changes throughout the source to make use of the new + facilities and also to make sure all previous uses of + Std_Err::report_error are now prefixed by the name of the class. + +Tue Jul 30 00:02:39 1991 Douglas C. Schmidt (schmidt at net4.ics.uci.edu) + + * Make sure to add 1 to the Key_List::total_duplicates value when + printing it out since any time we have more than zero duplicates + we really have two or more duplicates! + + * Added support for the -O (optimize option). This option + optimizes the generated lookup function by assuming that all + input keywords are members of the keyset from the keyfile. + + * Added #define DUPLICATES and #define HASH_VALUE_RANGE (and of + course the enum equivalent) to the generated output. Don't know + how useful this will be, but it allows us to determine at a + glance whether we've got a minimal perfect hash function (in + which case TOTAL_KEYWORDS = HASH_VALUE_RANGE, and DUPLICATES = + 0). + + * Fixed a small bug in the Key_List::output_keyword_table routine + that caused an extra newline to be printed if there where no + leading blank entries... (who cares, right?!) + +Mon Jul 29 22:05:40 1991 Douglas C. Schmidt (schmidt at net4.ics.uci.edu) + + * Modified the handling of the -E (emit enums rather than + #defines) option in conjunction with the -G option. Now, if -G + and -E are given the enums are generated outside the lookup + function, rather than within it! + + * Yow, as part of my Software Practice and Experience submission + writeup I realized I needed to make the # comment character work + correctly. Now if you put a backslash character ('\') in front + of the # it treats the first character as a #. Naturally, to + put a '\' character on the front of the line you need to escape + it also, i.e., + \\I'm a line that starts with only one \ + # I'm a comment line + \#define I'm walking a fine line... ;-) + +Wed Jun 26 11:21:02 1991 Douglas C. Schmidt (schmidt at bastille.ics.uci.edu) + + * Changed all uses of the identifier `iteration_number' to + `generation_number' (also updated the paper!). + +Tue Apr 9 07:59:42 1991 Doug Schmidt (schmidt at net4.ics.uci.edu) + + * Had to change a whole bunch of little thangs in key-list.cc and + list-node.cc to make the -I option work. + + * Changed an alloca statement in key-list.cc to reflect the + strncasecmp modification (i.e., we now need to be able to + allocate a longer buffer if the -I option is used). + +Mon Apr 8 18:17:04 1991 Doug Schmidt (schmidt at net4.ics.uci.edu) + + * Yucko, there was a bug in the handling of -c (and of course the + new -I command in key-list.cc). Apparently when I added the + super-duper hack that provided support for duplicate keys I + forgot to update the strcmp output... + + * Boy, it has been a *long* time since I hacked this puppy. Let's + see, I'm about to add long-overdue support for case-insensitive + string comparisons to gperf's generated output code. We are + going to employ the hitherto unused option -I to indicte this! + +Thu Jun 28 16:17:27 1990 Doug Schmidt (schmidt at brilliant) + + * Wow, first fix on the new job! There was a dumb error + in Key_List::output_lookup_function, where I printed the + string "&wordlist[key]" instead of the correct "&wordlist[index]". + + * Added a couple of #ifdefs for USG support. + +Sun Jun 3 17:16:36 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu) + + * Updated the version number to 2.5 and sent to Doug Lea for release + with the latest GNU libg++. + + * Changed the error handling when a keyword file cannot be opened + (now calls perror). + +Wed May 30 14:49:40 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu) + + * Instrumented the source code with trace statements automagically + inserted using my new automated trace instrumentation tool! + +Wed May 9 11:47:41 1990 Doug Schmidt (schmidt at siam.ics.uci.edu) + + * Really fixed the previous bug. Turns out that a small amount + of logic had to be duplicated to handle static links that occur + as part of dynamic link chains. What a pain!!! + +Tue May 8 23:11:44 1990 Doug Schmidt (schmidt at siam.ics.uci.edu) + + * Fixed a stupid bug in Key_List::output_lookup_array that was + causing incorrect counts to be generated when there were both + static and dynamic links occurring for the same hash value. + Also simplified the code that performs the logic in this routine. + +Mon Apr 30 17:37:24 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu) + + * Fixed stupid bug in Key_List::output_lookup_array that was + making the generated lookup[] array contain `chars' even + when the values stored in the chars are greater than 127! + + * Changed the behavior of the -G (global table) option so that it + will output the `length[]' array in the global scope along with + the `word_list[]' array. + + * Fixed a stupid bug in Key_List::output_lookup_function that + would always output the complicated `duplicate-handling' lookup + logic, even when there were no duplicates in the input! + + * Yikes, had to modify a bunch of stuff in key-list.cc to correctly + handle duplicate entries. Changed the generated code so that + the MIN_HASH_VALUE is no longer subtracted off when calculating + the hash value for a keyword. This required changing some other + code by substituting MAX_HASH_VALUE for TOTAL_KEYS in several places. + Finally, this means that the generated tables may contain leading + null entries, but I suppose it is better to trade-off space to get + faster performance... + +Mon Mar 26 13:08:43 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu) + + * Updated version number to 2.4 to reflect the latest changes. + + * Changed the main program so that it always prints out gperf's + execution timings to the generated output file. + +Sun Mar 25 12:39:30 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu) + + * Added the -Z option so that users can specify the name of the + generated class explicitly. Updated documentation to reflect + this change. + + * Modified the generated C++ class interface so that the functions + are declared static (to remove the overhead of passing the `this' + pointer). This means that operator()() can no longer be used, + since it only works on non-static member functions. + Also changed things so that there is no constructor (why waste + the extra call, when it doesn't do anything, eh?) + + * Modified the behavior of Key_List::output when the -L C++ option + is enabled. Previously the code generated use const data members + to record MIN_WORD_LENGTH, MIN_HASH_VALUE, etc. However, as + pointed out by James Clark this may result in suboptimal behavior + on the part of C++ compilers that can't inline these values. + Therefore, the new behavior is identical to what happens with + -L C, i.e., either #defines or function-specific enums are used. + Why sacrifice speed for some abstract notion of `code purity?' ;-) + +Tue Mar 6 18:17:42 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu) + + * Added the -E option that defines constant values using an enum + local to the lookup function rather than with #defines. This + also means that different lookup functions can reside in the + same file. Thanks to James Clark (jjc@ai.mit.edu). + +Sat Mar 3 20:19:00 1990 Doug Schmidt (schmidt at zola.ics.uci.edu) + + * Added a special case to key_list::output_switch that doesn't + generate extra comparisons when the `-S' is given an argument + of 1 (the normal case). This should speed up the generated + code output a tad... + +Fri Feb 23 14:21:28 1990 Doug Schmidt (schmidt at zola.ics.uci.edu) + + * Renamed all instances of member function get_keysig_size + to get_max_keysig_size, since this is more precise... + + * Changed all occurrences of charset to keysig (stands for ``key + signature'') to reflect the new naming convention used in the + USENIX paper. + +Thu Feb 22 11:28:36 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu) + + * Changed the name of the generated associated values table from + asso_value to asso_values to reflect conventions in the USENIX + C++ paper. + +Thu Feb 15 23:29:03 1990 Doug Schmidt (schmidt at zola.ics.uci.edu) + + * Updated the gperf.texinfo file to fix some formatting problems + that had crept in since last time. + +Wed Feb 14 23:27:24 1990 Doug Schmidt (schmidt at zola.ics.uci.edu) + + * Fixed stupid bug in key-list.cc (get_special_input), wher + gperf replaced each '%' with the succeeding character. + + * Added support for multiple target language generation. Currently + handled languages are C and C++, with C as the default. Updated + documentation and option handler to reflect the changes. + + * Added a global destructor to new.cc and removed the #ifdef, since + the bloody thing now works with libg++. + +Mon Feb 14 13:00:00 1990 Doug Schmidt (schmidt at zola.ics.uci.edu) + + * Found out that my gperf paper was accepted at the upcoming + USENIX C++ Conference in San Francisco. Yow! + +Tue Jan 30 09:00:29 1990 Doug Schmidt (schmidt at zola.ics.uci.edu) + + * #ifdef'd out the new.cc memory allocator, since there are + problems with this and the libg++ stuff. + + * Changed key-list.h so that class Vectors is a public (rather + than private) base class for class Key_List. The previous + form was illegal C++, but wasn't being caught by the old + g++ compiler. Should work now... ;-) + +Sun Dec 10 14:08:23 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Added several changes from rfg@ics.uci.edu. These changes + help to automate the build process. + +Wed Nov 15 15:49:33 1989 Doug Schmidt (schmidt at zola.ics.uci.edu) + + * Removed conditional compilation for GATHER_STATISTICS. There's + really no good reason to avoid collecting this info at run-time, + since that section of code is *hardly* the bottleneck... ;-) + + * Simplified the C output routines in Key_List::set_output_types + and Key_List::output_keyword_table a bit in order to + speed-up and clean up the code generation. + + * Modified function Key_List::get_special_input so that it does + not try to `delete' a buffer that turned out to be too short. + This is important since the new memory management scheme + does not handle deletions. However, adding a small amount of + garbage won't hurt anything, since we generally don't do this + operation more than a couple times *at most*! + + * Created a new file (new.cc) which includes my own overloaded + operator new. This function should dramatically reduce the + number of calls to malloc since it grabs large chunks and + doles them out in small pieces. As a result of this change + the class-specific `operator new' was removed from class List_Node. + +Tue Nov 14 21:45:30 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Continued to refine the great hack. The latest trick is to + try and replace most uses of dynamic memory (i.e., calls to + new) with uses of gcc dynamic arrays (i.e., an alloca solution). + This makes life much easier for the overall process-size, since + it reduces the amount of overhead for memory management. As a + side-effect from this change there is no reason to have the + Bool_Array::dispose member function, so it's outta here! + + * Fixed a stupid bug that was an disaster waiting to happen... + Instead of making the boolean array large enough to index + max_hash_value it was only large enough to index max_hash_value + - 1. Once again, an off-by-one mistake in C/C++!!!! + +Mon Nov 13 19:38:27 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Added the final great hack! This allows us to generate hash tables + for near-perfect hash functions that contain duplicates, *without* + having to use switch statements! Since many compilers die on large + switch statements this feature is essential. Furthermore, it appears + that the generated code is often *smaller* than that put out by + compilers, even though a large, sparse array must be created. + Here's the general idea: + + a. Generate the wordlist as a contiguous block of keywords, + just as before when using a switch statement. This + wordlist *must* be sorted by hash value. + + b. Generate the lookup array, which is an array of signed + {chars,shorts,ints}, (which ever allows full coverage of + the wordlist dimensions). If the value v, where v = + lookup[hash(str,len)], is >= 0 and < TOTAL_KEYWORDS, then we + simply use this result as a direct access into the wordlist + array to snag the keyword for comparison. + + c. Otherwise, if v is < -TOTAL_KEYWORDS or > TOTAL_KEYWORDS + this is an indication that we'll need to search through + some number of duplicates hash values. Using a hash + linking scheme we'd then index into a different part of + the hash table that provides the starting index and total + length of the duplicate entries to find via linear search! + +Sun Nov 12 13:48:10 1989 Doug Schmidt (schmidt at zola.ics.uci.edu) + + * Simplified Key_List::output_min_max considerably by recognizing + that since the keyword list was already sorted by hash value finding + the min and max values is trivial! + + * Improved the debugging diagnostics considerably in classes Key_List, + Hash_Table, and Gen_Perf. + + * Modified the `-s' option so that a negative argument is now + interpreted to mean `allow the maximum associated value to be + about x times *smaller* than the number of input keys.' This + should help prevent massive explosion of generated hash table + size for large keysets. + +Sat Nov 11 11:31:13 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Added a field in class Key_List that counts the total number + of duplicate keywords, both static and dynamic. + + * Added a new member function Bool_Array that deletes the dynamic + memory allocated to Bool_Array::storage_array. This space may + be needed for subsequent options, so it made sense to free it as + soon as possible... + + * Renamed file/class Alpha_Vectors to Vectors, to avoid problems + with 14 character length filenames on SYSV. Also changed file + adapredefined.gperf to adadefs.gperf in the ./tests directory. + + * Modified class Options by changing the member function + Options::total_positions to Options::get_charset_size and + Options::set_charset_size. These two routines now either return + the total charset size *or* the length of the largest keyword + if the user specifies the -k'*' (ALLCHARS) option. This change + cleans up client code. + + * Merged all the cperf changes into gperf. + + * Made sure to explicitly initialize perfect.fewest_collisions to + 0. + + * Cleaned up some loose ends noticed by Nels Olson. + 1. Removed `if (collisions <= perfect.fewest_collisions)' + from Gen_Perf::affects_prev since it was superfluous. + 2. Removed the fields best_char_value and best_asso_value + from Gen_Perf. There were also unnecessary. + 3. Fixed a braino in the Bool_Array::bool_array_reset + function. Since iteration numbers can never be zero + the `if (bool_array.iteration_number++ == 0)' must be + `if (++bool_array.iteration_number == 0).' + 4. Modified Std_Err::report_error so that it correctly handles + "%%". + + * It is important to note that -D no longer enables -S. + There is a good reason for this change, which will become + manifested in the next release... (suspense!). + + * Made some subtle changes to Key_List::print_switch so that if finally + seems to work correctly. Needs more stress testing, however... + + * Made a major change to the Key_List::print_switch function. + The user can now specify the number of switch statements to generate + via an argument to the -S option, i.e., -S1 means `generate 1 + switch statement with all keywords in it,' -S2 means generate + 2 switch statements with 1/2 the elements in each one, etc. + Hopefully this will fix the problem with C compilers not being + able to generate code for giant switch statements (but don't + hold your breath!) + + * Changed Key_List::length function to Key_List::keyword_list_length. + + * Added a feature to main.c that prints out the starting wall-clock + time before the program begins and prints out the ending wall-clock + time when the program is finished. + + * Added the GATHER_STATISTICS code in hash-table.c so we can + keep track of how well double hashing is doing. Eventually, + GATHER_STATISTICS will be added so that all instrumentation + code can be conditionally compiled in. + + * Fixed a stupid bug in Key_List::print_switch routine. This + was necessary to make sure the generated switch statement worked + correctly when *both* `natural,' i.e., static links and dynamic + links, i.e., unresolved duplicates, hash to the same value. + + * Modified Bool_Array::~Bool_Array destructor so that + it now frees the bool_array.storage_array when it is no longer + needed. Since this array is generally very large it makes sense + to return the memory to the freelist when it is no longer in use. + + * Changed the interface to constructor Hash_Table::Hash_Table. This + constructor now passed a pointer to a power-of-two sized buffer that + serve as storage for the hash table. Although this weakens information + hiding a little bit it greatly reduces dynamic memory fragmentation, + since we can now obtain the memory via a call to alloca, rather + than malloc. This change modified Key_List::read_keys calling + interface. + + * Since alloca is now being used more aggressively a conditional + compilation section was added in main.c. Taken from GNU GCC, + this code gets rid of any avoidable limit on stack size so that + alloca does not fail. It is only used if the -DRLIMIT_STACK + symbol is defined when gperf is compiled. + + * Added warnings in option.c so that user's would be informed + that -r superceeds -i on the command-line. + + * Rewrote Gen_Perf::affects_prev. First, the code structure + was cleaned up considerably (removing the need for a dreaded + goto!). Secondly, a major change occurred so that Gen_Perf::affects_prev + returns FALSE (success) when fewest_hits gets down to whatever + it was after inserting the previous key (instead of waiting for + it to reach 0). In other words, it stops trying if it can + resolve the new collisions added by a key, even if there are + still other old, unresolved collisions. This modification was + suggested by Nels Olson and seems to *greatly* increase the + speed of gperf for large keyfiles. Thanks Nels! + + * In a similar vein, inside the Gen_Perf::change routine + the variable `perfect.fewest_collisions is no longer initialized + with the length of the keyword list. Instead it starts out at + 0 and is incremented by 1 every time change () is called. + The rationale for this behavior is that there are times when a + collision causes the number of duplicates (collisions) to + increase by a large amount when it would presumably just have + gone up by 1 if none of the asso_values were changed. That is, + at the beginning of change(), you could initialize fewest_hits + to 1+(previous value of fewest_hits) instead of to the number of + keys. Thanks again, Nels. + + * Replaced alloca with new in the Gen_Perf::change function. + This should eliminate some overhead at the expense of a little + extra memory that is never reclaimed. + + * Renamed Gen_Perf::merge_sets to Gen_Perf::compute_disjoint_union + to reflect the change in behavior. + + * Added the -e option so users can supply a string containing + the characters used to separate keywords from their attributes. + The default behavior is ",\n". + + * Removed the char *uniq_set field from LIST_NODE and modified + uses of uniq_set in perfect.c and keylist.c. Due to changes + to Gen_Perf::compute_disjoint_sets this field was no longer + necessary, and its removal makes the program smaller and + potentially faster. + + * Added lots of changes/fixes suggested by Nels Olson + (umls.UUCP!olson@mis.ucsf.edu). In particular: + 1. Changed Bool_Array so that it would dynamically create + an array of unsigned shorts rather than ints if the + LO_CAL symbol was defined during program compilation. + This cuts the amount of dynamic memory usage in half, + which is important for large keyfile input. + 2. Added some additional debugging statements that print extra + info to stderr when the -d option is enabled. + 3. Fixed a really stupid bug in Key_List::print_switch + A right paren was placed at the wrong location, which broke + strlen (). + 4. Fixed a subtle problem with printing case values when keylinks + appear. The logic failed to account for the fact that there + can be keylinks *and* regular node info also! + 5. Changed the behavior of Key_List::read_keys so that it would + honor -D unequivocally, i.e., it doesn't try to turn off dup + handling if the user requests it, even if there are no + immediate links in the keyfile input. + 6. Modified the -j option so that -j 0 means `try random values + when searching for a way to resolve collisions.' + 7. Added a field `num_done' to the Gen_Perf struct. This is used + to report information collected when trying to resolve + hash collisions. + 8. Modified the merge_sets algorithm to perform a disjoint + union of two multisets. This ensures that subsequent + processing in Gen_Perf::affect_prev doesn't + waste time trying to change an associated value that is + shared between two conflicting keywords. + 9. Modified Gen_Perf::affects_prev so that it doesn't try + random jump values unless the -j 0 option is enabled. + 10. Fixed a silly bug in Gen_Perf::change. This problem caused + gperf to seg fault when the -k* option was given and the + keyfile file had long keywords. + +Sun Oct 29 00:18:55 1989 Doug Schmidt (schmidt at siam.ics.uci.edu) + + * Modified class-specific new operations for Read_Line and + List_Node so they don't fail if SIZE is larger than twice + the previous buffer size. Note we double buffer size + everytime the previous buffer runs out, as a heuristic + to reduce future calls to malloc. + +Sun Oct 22 13:49:43 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Updated gperf version number to 2.0. Send to Doug Lea for + incorporation into the long-awaited `official' libg++ 1.36 + release! + + * Thanks to Nels Olson a silly bug in Gen_Perf::change () + was fixed. This problem caused gperf to seg fault when + the -k* option was given and the keyfile file had long + keywords. + + * Modified Key_List::print_hash_function so that it output + max_hash_value + 1 (rather than just max_hash_value) for + any associated value entries that don't correspond to + keyword charset characters. This should speed up rejection + of non-keyword strings a little in some cases. + +Sat Oct 21 19:28:36 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu) + + * Fixed Key_List::print_hash_function so that it no longer output + things like `return 0 + ...' Although this probably gets + optimized away by even the worst C compilers there isn't any + point tempting fate... ;-) + + * Fixed class List_Node's constructor so that it wouldn't a priori + refuse to consider trying to hash keys whose length is less + than the smallest user-specified key position. It turns out + this is not a problem unless the user also specifies the -n + (NOLENGTH) option, in which case such keys most likely + don't have a prayer of being hashed correctly! + + * Changed the name of the generated lookup table from `Hash_Table' + to `asso_value' to be consistent with the gperf paper. + +Tue Oct 17 14:19:48 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Added a flag GATHER_STATISTICS in the Makefile. If defined + during compilation this turns on certain collection facilities + that track the performance of gperf during its execution. In + particular, I want to see how many collisions occur for the + double hashing Hash_Table. + + * Added a safety check so that we don't screw up if the total + number of `resets' of the Bool_Array exceeds MAX_INT. Since + this number is around 2^31 it is unlikely that this would ever + occur for most input, but why take the risk? + + * Changed the behavior for the -a (ANSI) option so that the + generated prototypes use int rather than size_t for the LEN + parameter. It was too ugly having to #include <stddef.h> all + over the place... + +Mon Oct 16 11:00:35 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu) + + * Continued to work on the gperf paper for the USENIX C++ + conference. At some point this will be merged back into + the gperf documentation... + +Sat Oct 14 20:29:43 1989 Doug Schmidt (schmidt at siam.ics.uci.edu) + + * Added a majorly neat hack to Bool_Array, suggested by rfg. + The basic idea was to throw away the Ullman array technique. + The Ullman array was used to remove the need to reinitialize all + the Bool_Array elements to zero everytime we needed to determine + whether there were duplicate hash values in the keyword list. + The current trick uses an `iteration number' scheme, which takes + about 1/3 the space and reduces the overall program running a + time by about 20 percent for large input! The hack works as + follows: + + 1. Dynamically allocation 1 boolean array of size k. + 2. Initialize the boolean array to zeros, and consider the first + iteration to be iteration 1. + 2. Then on all subsequent iterations we `reset' the bool array by + kicking the iteration count by 1. + 3. When it comes time to check whether a hash value is currently + in the boolean array we simply check its index location. If + the value stored there is *not* equal to the current iteration + number then the item is clearly *not* in the set. In that + case we assign the iteration number to that array's index + location for future reference. Otherwise, if the item at + the index location *is* equal to the iteration number we've + found a duplicate. No muss, no fuss! + +Mon Oct 2 12:30:54 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Changed some consts in options.h to enumerals, since g++ + doesn't seem to like them at the moment! + +Sat Sep 30 12:55:24 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Fixed a stupid bug in Key_List::print_hash_function that manifested + itself if the `-k$' option was given (i.e., only use the key[length] + character in the hash function). + + * Added support for the -C option. This makes the contents of + all generated tables `readonly'. + + * Changed the handling of generated switches so that there is + only one call to str[n]?cmp. This *greatly* reduces the size of + the generated assembly code on all compilers I've seen. + + * Fixed a subtle bug that occurred when the -l and -S option + was given. Code produced looked something like: + + if (len != key_len || !strcmp (s1, resword->name)) return resword; + + which doesn't make any sense. Clearly, this should be: + + if (len == key_len && !strcmp (s1, resword->name)) return resword; + +Tue Sep 26 10:36:50 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Changed class Read_Line's definition so that it no longer + needs to know about the buffering scheme used to speed up + dynamic memory allocation of input keywords and their + associated attributes. This means that operator new is no longer + a friend of Read_Line. + +Mon Sep 25 23:17:10 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu) + + * Decided that Obstacks had too much overhead, so they were + removed in favor of super-efficient, low-overhead buffered + storage allocation hacks in Read_Line and List_Node. + + * No longer try to inline functions that g++ complains about + (Key_List::Merge and Key_List::Merge_Sort). + +Sun Sep 24 13:11:24 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Changed classes Read_Line and List_Node to use Obstacks in order + to cache memory allocation for keyword strings and List_Nodes. + + * Continued to experiment with inheritance schemes. + + * Added a new file `alpha.h', that declares static data shared + (i.e., inherited) between classes List_Node and Key_List. + +Tue Sep 12 16:14:41 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Made numerous changes to incorporate multiple inheritance in + gperf. + +Wed Aug 16 23:04:08 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Added the -DCOMPILER_FIXED flag to the ./src/Makefile. This + implies that people trying to compile gperf need to have a + working version of the new g++ compiler (1.36.0). + + * Removed some extra spaces that were being added in the generated + C code. + +Mon Jul 24 17:09:46 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Fixed PRINT_HASH_FUNCTION and PRINT_LOOKUP_FUNCTION in keylist.c + so that the generated functions take an unsigned int length argument. + If -a is enabled the prototype is (const char *str, size_t len). + +Fri Jul 21 13:06:15 1989 Doug Schmidt (schmidt at zola.ics.uci.edu) + + * Fixed a typo in PRINT_KEYWORD_TABLE in keylist.cc that prevented + the indentation from working correctly. + + * Fixed a horrible typo in PRINT_KEYWORD_TABLE in keylist.cc + that prevented links from being printed correctly. + +Tue Jul 18 16:04:31 1989 Doug Schmidt (schmidt at zola.ics.uci.edu) + + * Fixed up readline.cc and readline.h so that they work OK + with g++ compilers that aren't completely up-to-date. + If symbol COMPILER_FIXED is defined then the behavior + that works on my more recent version of g++ is enabled. + +Sun Jul 9 17:53:28 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Changed the ./tests subdirectory Makefile so that it + uses $(CC) instead of gcc. + +Sun Jul 2 21:52:15 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Fixed a number of subtle bugs that occurred when -S was + combined with various and sundry options. + + * Added the -G option, that makes the generated keyword table + a global static variable, rather than hiding it inside + the lookup function. This allows other functions to directly + access the contents in this table. + + * Added the "#" feature, that allows comments inside the keyword + list from the input file. Comment handling takes place in readline.c. + This simplifies the code and reduces the number of malloc calls. + + * Also added the -H option (user can give the name of the hash + function) and the -T option (prevents the transfer of the type decl + to the output file, which is useful if the type is already defined + elsewhere). + +Thu Jun 22 20:39:39 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Modified many classes so that they would inherit Std_Err as + a base class. This makes things more abstract... + +Fri Jun 16 14:23:00 1989 Doug Schmidt (schmidt at zola.ics.uci.edu) + + * Modified the -f (FAST) option. This now takes an argument. + The argument corresponds to the number of iterations used + to resolve collisions. -f 0 uses the length of the + keyword list (which is what -f did before). This makes + life much easier when dealing with large keyword files. + +Tue Jun 6 17:53:27 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Added the -c (comparison) option. Enabling this + will use the strncmp function for string comparisons. + The default is to use strcmp. + + * Fixed a typo in key_list.cc (PRINT_SWITCH). This caused + faulty C code to be generated when the -D, -p, and -t + options were all enabled. + +Thu May 25 14:07:21 1989 Doug Schmidt (schmidt at siam.ics.uci.edu) + + * Once again, changed class Read_Line to overload global operator + new. Hopefully, this will work...! + +Sun May 21 01:51:45 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu) + + * Modified Key_List::print_hash_function () so that it properly + formats the associated values in the hash table according to + the maximum number of digits required to represent the largest + value. + + * Removed the named return value from class Hash_Table's + operator (), since this causes a seg fault when -O is enabled. + No sense tripping subtle g++ bugs if we don't have to.... ;-) + + * Removed the operator new hack from Read_Line, since this seemed + to create horrible bus error problems. + + * Changed many class member functions and data members to be `static', + if they don't manipulate this! + +Fri May 12 23:06:56 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Changed class Std_Err to use static member functions, a la + Ada or Modula 2. This eliminates the need for an explicit + error-handler class object. + + * Added the ``named return value'' feature to Hash_Table::operator () + and Bool_Array::operator [], just for the heck of it.... ;-) + + * Changed the previous hack in Read_Line so that we now use + the overloaded global `new' instead of NEW_STRING! + +Wed May 3 17:36:55 1989 Doug Schmidt (schmidt at zola.ics.uci.edu) + + * Updated to version 1.7. This reflects the recent major changes + and the new C port. + + * Modified the GNU getopt.cc routine to have a class-based interface. + + * Fixed a typo in Perfect.cc ~Perfect that prevented the actual maximum + hash table size from being printed (maybe the stream classes + weren't so bad after all.... ;-). + + * Added support for the -f option. This generates the perfect + hash function ``fast.'' It reduces the execution time of + gperf, at the cost of minimizing the range of hash values. + +Tue May 2 16:23:29 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu) + + * Added an efficiency hack to Read_Line. Instead of making + a call to operator NEW (a.k.a. malloc) for each input string + a new member function NEW_STRING stores a large buffer from + which new strings are carved out, growing the buffer if + necessary. It might be useful to add this throughout the + program.... + + * Removed all unnecessary calls to DELETE. If the program is about + to exit it is silly to waste time freeing memory. + + * Added the GNU getopt program to the distribution. This makes + GPERF portable to systems that don't include getopt in libc. + + * Added a strcspn member to class Key_List. This also increases + portability. + + * Added the get_include_src function from keylist.c as a member + function in class Key_List. Hopefully every function is + now associated with a class. This aids abstraction and + modularity. + + * Ported gperf to C. From now on both K&R C and GNU G++ versions + will be supported. There will be two ChangeLog files, one + for each version of the program. + +Mon May 1 16:41:45 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Fixed a bug with -k'*'. This now prints out *all* the cases + up to the length of the longest word in the keyword set. + +Sun Apr 30 12:15:25 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu) + + * Removed all use of the stream classes. Too ugly, slow, and + not handled by the c++-mode formatter.... + + * Modified the handling of links (i.e., keywords that have + identical hash values as other keywords). This should + speed up hash function generation for keyword sets with + many duplicate entries. The trick is to treat duplicate + values as equivalence classes, so that each set of duplicate + values is represented only once in the main list processing. + + * Fixed some capitialization typos and indentations mistakes in + Key_List::print_hash_function. + +Sat Apr 29 12:04:03 1989 Doug Schmidt (schmidt at zola.ics.uci.edu) + + * Fixed a typo/logico in Key_List::print_switch that prevented + the last keyword in the keyword list to be print out. This + requires further examination..... + + * Fixed a stupid bug in List_Node::List_node. If the -k'*' option + was enabled the KEY_SET string wasn't getting terminated with + '\0'! + +Fri Apr 28 12:38:35 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Renamed strexp.h and strexp.cc to iterator.h and iterator.cc. + Also changed the strexp class to iterator. Continued to work + on style... + + * Updated the version number to 1.6. This reflects all the + recent changes. + +Thu Apr 27 00:14:51 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Added the -D option that properly handles keyword sets that + contain duplicate hash values. + + * Continued the stylistic changes. Added the #pragma once + directive to all the *.h files. Removed all #defines and + replaced them with static consts. Also moved the key_sort + routine from options.cc into the options class as a + member function. + +Mon Apr 3 13:26:55 1989 Doug Schmidt (schmidt at zola.ics.uci.edu) + + * Made massive stylistic changes to bring source code into + conformance with GNU style guidelines. + +Thu Mar 30 23:28:45 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu) + + * Fixed up the output routines so that they generate code + corresponding to the GNU style guidelines. + +Sat Mar 11 13:12:37 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Fixed Stderr constructors so that they wouldn't try to + use the base class initializer syntax for the static + class variable Program_Name. G++ 1.34 is stricter in + enforcing the rules! + +Fri Mar 10 11:24:14 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Removed -v and ``| more'' from the Makefile to keep rfg happy... + +Thu Mar 2 12:37:30 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu) + + * Sent latest GNU gperf version 1.5 to Doug Lea for inclusion + into libg++ 1.34. Note that there is a small bug with + the new %{ ... %} source inclusion facility, since it doesn't + understand comments and will barf if %{ or %} appear nested + inside the outermost delimiters. This is too trivial of + a defect to fix at the moment... + +Tue Feb 28 11:19:58 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Added the -K option, which allows the user to provide a + alternative name for the keyword structure component. + The default is still ``name.'' + + * Added the LEX and YACC-like ability to include arbitrary + text at the beginning of the generated C source code output. + This required two new functions Get_Special_Input, + Key_List::Save_Include_Src; + + * Fixed memory allocation bug in Key_List::Set_Types. + Variable Return_Type needs 1 additional location + to store the "*" if the -p option is used. + + * Added code to NULL terminate both Struct_Tag and Return_Type, + *after* the strncpy (stupid mistake). + +Mon Feb 27 14:39:51 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Added a new option -N. This allows the user to specify the + name to be used for the generated lookup function. The + default name is still ``in_word_set.'' This makes it + possible to completely automate the perfect hash function + generation process! + +Mon Feb 20 23:33:14 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Corrected the Hash_Table::operator () function so that + *it* is responsible for deciding when a new key has the + same signature as a previously seen key. The key length + information is now used internally to this function to + decide whether to add to the hash table those keys with + the same key sets, but different lengths. Before, this + was handled by the Key_List::Read_Keys function. However, + this failed to work for certain duplicate keys, since + they weren't being entered into the hash table properly. + +Sun Feb 19 16:02:51 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Modified class Options by moving the enum Option_Type out + of the class. This is to satisfy the new enumeration + scope rules in C++. + +Sun Jan 15 15:12:09 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu) + + * Incremented the version number upto 1.4 to reflect the new + options that affect the generated code. Send the new + distribution off to Michael for use with g++ 1.33. + + * Added a fix to Key_List::Read_Keys so that it checks for links + properly when the -n option is used. Previously, it didn't + catch obvious links, which caused it to spend large amount + of time searching for a solution that could never occur! + + * Modified the Key_List data structure to record *both* the + minimum and the maximum key lengths. This information + is now computed in Key_List::Read_Keys, and thus + Key_List::Print_Min_Max doesn't need to bother. + + * Modifed the key position iterator scheme in options.cc to + eliminate the need for member function Options::Advance. + Now, the Options::Get function performs the advancement + automatically, obviating the need for an extra function call. + + * Added the new function Options::Print_Options, to print out + the user-specified command line options to generated C + output file. + + * Added a new function, Key_List::Print_Keylength_Table, + which creates a table of lengths for use in speeding + up the keyword search. This also meant that a new + option, -l (LENTABLE) is recognized. It controls + whether the length table is printed and the comparison + made in the generated function ``in_word_set.'' + + * Added a comment at the top of the generated C code + output file that tells what version of gperf was used. + Next, I'll also dump out the command line options + as a comment too. Thanks to Michael Tiemann for the + feedback on this. + + * Fixed the -n option to make it work correctly with + other parts of the program (most notably the Perfect::Hash + function and the computation of minimum and maximum lengths. + +Fri Jan 13 21:25:27 1989 Doug Schmidt (schmidt at siam.ics.uci.edu) + + * Realized the the need to add a test that will enable + optimziation of the generated C code in the ``hash'' function + by checking whether all the requested key positions are + guaranteed to exist due to the comparison in `in_word_set.'' + I'll put this in soon.... + +Thu Jan 12 20:09:21 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Added pascal, modula3, and modula2 tests inputs to the + Makefile + + * Recognised that there is a bug with the -n option. However + I'm too busy to fix it properly, right now. The problem + is that the generated #define end up being 0, since that's + my hack to make -n work. This needs complete rethinking! + +Tue Jan 10 00:08:16 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu) + + * Added a new option, -n, that instructs gperf to not use the + length of an identifier when computing the hash functions. + I'm not sure how useful this is! + + * Retransmitted the distribution to rocky.oswego.edu. Hopefully, + this will work! + + * Began fixing the indentation and capitalization to conform + to the GNU coding guidelines. + +Mon Jan 9 22:23:18 1989 Doug Schmidt (schmidt at pompe.ics.uci.edu) + + * Fixed horrible bug in Read_Line::Readln_Aux. This was + a subtle and pernicous off-by-1 error, that overwrote + past the last character of the input string buffer. I + think this fault was killing the vax! + + * Yow, fixed an oversight in List_Node::List_Node, where the + pointer field Next was uninitialized. Luckily, the new routine + seems to return 0 filled objects the first time through! + +Sun Jan 8 13:43:14 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu) + + * Modified the ``key linked'' diagnostic in Key_List::Read_Keys + to be more helpful and easy to read. + + * Fixed the List_Node::List_Node so that it would ignore trailing + fields if the -t option was not enabled. + + * Moved the List_Node declarations out of keylist.h and + into a file of its own, called listnode.cc and listnode.h + Made Set_Sort a member function of class List_Node. + + * Massively updated the documentation in the gperf.texinfo file. + + * Polished off the major revision to the print functions, + added a few new tests in the Makefile to check for the + validity of the program and ftp'ed the entire distribution + off to Doug Lea for libg++. ( changed it to + 1.3 to reflect the major changes with the generated + C code ). + + * Fixed Key_List::Print_Switch to deal with the -p and -t options. + This meant that the ``still-born'' function Key_List:: + Print_Type_Switch was superflous, so I removed it. + Also, removed the restriction in Option that the -p and + -t options couldn't be used simultaneously. + + * Modified List_Node::List_Node, to perform only 1 call to + ``new'' when dynamically allocating memory for the Key_Set + and the Uniq_Set. + +Sat Jan 7 14:10:51 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu) + + * Fixed a big bug with the new policy of nesting the + wordlist inside of generated function ``in_word_set.'' + I'd forgotten to declare the wordlist array as static! + ( arrgh ). + + * Added a new function Key_List::Set_Types, that figures out + the return type for generated function ``in_word_set,'' + the user-defined ``struct tag,'' if one is used, and also + formates the array type for the static local array. + + * Changed the print routines to take advantage of the + new -p option. + + * Began adding the hooks to allow the return of a pointer + to a user defined struct location from the generated + ``in_word_set'' function instead of the current 0 or 1 + return value. Created function Key_List::Print_Type_Switch + and added option -p to class Option, allowing the user to + request generation of the aforementioned pointers returned + instead of booleans. + + * Put in checks in class Option to make sure that -S and -t + options are not used simultaneously. This restriction + will be removed in subsequent releases, once I decide on + a clean way to implement it. + + * Sent version 1.2 to Doug Lea for possible inclusion into + the libg++ distribution. + + * Moved the static word_list array inside the generated function + in_word_set. This supports better data hiding. + + * Added a texinfo file, gperf.texinfo + + * Revised the Makefile to cleanup the droppings from texinfo + and changed the name of gperf.cc and gperf.h to perfect.cc + and perfect.h. + +Fri Jan 6 13:04:45 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu) + + * Implemented the switch statement output format. Much better + for large datasets in terms of space used. + + * Added new functions to break up the Key_List::Output function. + Functions added were Key_List::Print_Switch, + Key_List::Print_Min_Max, Key_List::Print_Keyword_Table, + Key_List::Print_Hash_Function, and + Key_List::Print_Lookup_Function. This simplifies the big mess + in Key_List::Output considerably! + + * Added switch statement option to Options, which potentially + trades time for space in the generated lookup code. + +Thu Jan 5 22:46:34 1989 Doug Schmidt (schmidt at siam.ics.uci.edu) + + * Released version 1.1 + + * Fixed a bug with Gperf::Merge_Set, it was skipping letters + shared between the Set_1 and Set_2. + + * Added the optimal min/max algorithm in Key_List::Output. This + runs in O (3n/2), rather than O (2n) time. + + * Changed Gperf::Sort_Set to use insertion sort, rather than + bubble sort. + + * Added a check in Key_List::Output for the special case where + the keys used are 1,$. It is possible to generate more + efficient C code in this case. diff --git a/apps/gperf/tests/Makefile b/apps/gperf/tests/Makefile new file mode 100644 index 00000000000..0dd5cb2b0c3 --- /dev/null +++ b/apps/gperf/tests/Makefile @@ -0,0 +1,277 @@ +# $Id$ +# Copyright (C) 1989, 1992, 1993 Free Software Foundation, Inc. +# written by Douglas C. Schmidt (schmidt@ics.uci.edu) +# +# This file is part of GNU GPERF. +# +# GNU GPERF is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 1, or (at your option) +# any later version. +# +# GNU GPERF is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU GPERF; see the file COPYING. If not, write to the Free +# Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111, USA. + +#---------------------------------------------------------------------------- +# Include macros and targets +#---------------------------------------------------------------------------- + +srcdir = . +GPERF = ../src/gperf + +PROG_SRCS = \ + test.cpp \ + cinset.cpp \ + c++inset.cpp \ + iinset.cpp \ + iinset2.cpp \ + tinset.cpp \ + taoinset.cpp \ + pinset.cpp \ + m3inset.cpp \ + adainset.cpp \ + preinset.cpp + +SRC = $(PROG_SRCS) + +COUT_OBJS = test.o \ + cinset.o + +AOUT_OBJS = test.o \ + adainset.o + +CPPOUT_OBJS = test.o \ + c++inset.o + +PREOUT_OBJS = test.o \ + preinset.o + +M3OUT_OBJS = test.o \ + m3inset.o + +POUT_OBJS = test.o \ + pinset.o + +IOUT_OBJS = test.o \ + iinset.o + +IOUT2_OBJS = test.o \ + iinset2.o + +TOUT_OBJS = test.o \ + tinset.o + +TAOOUT_OBJS = test.o \ + taoinset.o + +BIN = cout \ + aout \ + c++out \ + preout \ + m3out \ + pout \ + iout \ + iout2 \ + tout \ + taoout + +BUILD = $(BIN) +BUILD+=runtests +VLDLIBS = $(LDLIBS:%=%$(VAR)) +VBIN = $(BIN:%=%$(VAR)) + +#---------------------------------------------------------------------------- +# Include macros and targets +#---------------------------------------------------------------------------- + +include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU +include $(ACE_ROOT)/include/makeinclude/macros.GNU +include $(ACE_ROOT)/include/makeinclude/rules.common.GNU +include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU +include $(ACE_ROOT)/include/makeinclude/rules.local.GNU + +#---------------------------------------------------------------------------- +# Local targets +#---------------------------------------------------------------------------- +#rules to make the gperf generated source files.. + +all: cout \ + aout \ + c++out \ + preout \ + m3out \ + pout \ + iout \ + iout2 \ + tout \ + runtests + +cinset.cpp: $(srcdir)/c.gperf $(GPERF) + $(GPERF) -a -p -c -l -S1 -o $(srcdir)/c.gperf > $@ + +adainset.cpp: $(srcdir)/ada.gperf $(GPERF) + $(GPERF) -a -k1,4,'$$' $(srcdir)/ada.gperf > $@ + +c++inset.cpp: $(srcdir)/c++.gperf $(GPERF) + $(GPERF) -a -D $(srcdir)/c++.gperf > $@ + +preinset.cpp: $(srcdir)/adadefs.gperf $(GPERF) + $(GPERF) -a -p -D -k1,'$$' -s 2 -o $(srcdir)/adadefs.gperf > $@ + +m3inset.cpp: $(srcdir)/modula3.gperf $(GPERF) + $(GPERF) -a -k1,2,'$$' -o $(srcdir)/modula3.gperf > $@ + +pinset.cpp: $(srcdir)/pascal.gperf $(GPERF) + $(GPERF) -a -o -S2 -p < $(srcdir)/pascal.gperf > $@ + +iinset.cpp: $(srcdir)/idl.gperf $(GPERF) + $(GPERF) -m -M -c -C -D -S1 -E -T -a -o -p < $(srcdir)/idl.gperf > $@ + +# no S1 flag in this case.. +iinset2.cpp: $(srcdir)/idl.gperf $(GPERF) + $(GPERF) -m -M -c -C -D -E -T -a -o -p $(srcdir)/idl.gperf > $@ + +tinset.cpp: $(srcdir)/corba.gperf $(GPERF) + $(GPERF) -a -o < $(srcdir)/corba.gperf > $@ + +taoinset.cpp: $(srcdir)/tao.gperf $(GPERF) + $(GPERF) -c -C -D -E -f 0 -a -o < $(srcdir)/tao.gperf > $@ + +#rules to make the test executables + +cout:$(addprefix $(VDIR),$(COUT_OBJS)) + $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) + +aout:$(addprefix $(VDIR),$(AOUT_OBJS)) + $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) + +c++out:$(addprefix $(VDIR),$(CPPOUT_OBJS)) + $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) + +preout:$(addprefix $(VDIR),$(PREOUT_OBJS)) + $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) + +m3out:$(addprefix $(VDIR),$(M3OUT_OBJS)) + $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) + +pout:$(addprefix $(VDIR),$(POUT_OBJS)) + $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) + +iout:$(addprefix $(VDIR),$(IOUT_OBJS)) + $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) + +iout2:$(addprefix $(VDIR),$(IOUT2_OBJS)) + $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) + +tout:$(addprefix $(VDIR),$(TOUT_OBJS)) + $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) + +taoout:$(addprefix $(VDIR),$(TAOOUT_OBJS)) + $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) + +runtests: cout aout c++out preout m3out pout iout iout2 tout taoout + @echo "performing some tests of the perfect hash generator" + # test cout + ./cout -v < $(srcdir)/c.gperf > c.out + -diff -b $(srcdir)/c.exp c.out + # test aout + ./aout -v < $(srcdir)/ada.gperf > ada-res.out + -diff -b $(srcdir)/ada-res.exp ada-res.out + # test c++out + ./c++out -v < $(srcdir)/c++.gperf > c++-res.out + -diff -b $(srcdir)/c++-res.exp c++-res.out + # test preout + ./preout -v < $(srcdir)/adadefs.gperf > ada-pred.out + -diff -b $(srcdir)/ada-pred.exp ada-pred.out + # test m3out + ./m3out -v < $(srcdir)/modula3.gperf > modula.out + -diff -b $(srcdir)/modula.exp modula.out + # test pout + ./pout -v < $(srcdir)/pascal.gperf > pascal.out + -diff -b $(srcdir)/pascal.exp pascal.out + # test iout + ./iout -v < $(srcdir)/idl.gperf > idl.out + -diff -b $(srcdir)/idl.exp idl.out + # test iout2 + ./iout2 -v < $(srcdir)/idl.gperf > idl.out + -diff -b $(srcdir)/idl.exp idl.out + #test tout + ./tout -v < $(srcdir)/corba.gperf > corba.out + -diff -b $(srcdir)/corba.exp corba.out + #test taoout + ./taoout -v < $(srcdir)/tao.gperf > tao.out + -diff -b $(srcdir)/tao.exp tao.out + # these next 5 are demos that show off the generated code + $(GPERF) -p -j1 -o -t -N is_reserved_word -k1,3,'$$' < $(srcdir)/c-parse.gperf | egrep -v 'ing time is ' > test-1.out + -diff -b $(srcdir)/test-1.exp test-1.out + $(GPERF) -n -k1-8 -l <$(srcdir)/modula2.gperf | egrep -v 'ing time is ' > test-2.out + -diff -b $(srcdir)/test-2.exp test-2.out + $(GPERF) -p -j 1 -o -a -C -g -t -k1,4,$$ < $(srcdir)/gplus.gperf | egrep -v 'ing time is ' > test-3.out + -diff -b $(srcdir)/test-3.exp test-3.out + $(GPERF) -D -p -t < $(srcdir)/c-parse.gperf | egrep -v 'ing time is ' > test-4.out + -diff -b $(srcdir)/test-4.exp test-4.out + $(GPERF) -g -o -j1 -t -p -N is_reserved_word < $(srcdir)/gpc.gperf | egrep -v 'ing time is ' > test-5.out + -diff -b $(srcdir)/test-5.exp test-5.out + # prints out the help message + -$(GPERF) -a -h > test-6.out 2>&1 || [ a = a ] + -diff -b $(srcdir)/test-6.exp test-6.out + ./aout -v < $(srcdir)/c.gperf > test-7.out + -diff -b $(srcdir)/test-7.exp test-7.out + +realclean: + $(RM) -rf *.out cinset.cpp c++inset.cpp iinset.cpp iinset2.cpp \ + tinset.cpp taoinset.cpp pinset.cpp m3inset.cpp adainset.cpp preinset.cpp + $(RM) -rf c.out aout preout m3out pout cout c++out iout iout2 tout taoout + +# DO NOT DELETE THIS LINE -- g++dep uses it. +# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. + + +.obj/test.o .obj/test.so .shobj/test.o .shobj/test.so: test.cpp \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/Default_Constants.h \ + $(ACE_ROOT)/ace/Global_Macros.h \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h + +.obj/cinset.o .obj/cinset.so .shobj/cinset.o .shobj/cinset.so: cinset.cpp + +.obj/c++inset.o .obj/c++inset.so .shobj/c++inset.o .shobj/c++inset.so: c++inset.cpp + +.obj/iinset.o .obj/iinset.so .shobj/iinset.o .shobj/iinset.so: iinset.cpp + +.obj/iinset2.o .obj/iinset2.so .shobj/iinset2.o .shobj/iinset2.so: iinset2.cpp + +.obj/tinset.o .obj/tinset.so .shobj/tinset.o .shobj/tinset.so: tinset.cpp + +.obj/taoinset.o .obj/taoinset.so .shobj/taoinset.o .shobj/taoinset.so: taoinset.cpp + +.obj/pinset.o .obj/pinset.so .shobj/pinset.o .shobj/pinset.so: pinset.cpp + +.obj/m3inset.o .obj/m3inset.so .shobj/m3inset.o .shobj/m3inset.so: m3inset.cpp + +.obj/adainset.o .obj/adainset.so .shobj/adainset.o .shobj/adainset.so: adainset.cpp + +.obj/preinset.o .obj/preinset.so .shobj/preinset.o .shobj/preinset.so: preinset.cpp + +# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/bin/auto_run_tests.lst b/bin/auto_run_tests.lst new file mode 100644 index 00000000000..b1bb1837b71 --- /dev/null +++ b/bin/auto_run_tests.lst @@ -0,0 +1,185 @@ +# $Id$ +# +# This is the list of run_test.pl's that need to be run by +# auto_run_tests.pl. +# Each line has its own test, and a test can be followed by a +# list of configurations it does _not_ run on. +# +# Example: TAO\examples\foo\run_test.pl: !MINIMUM !ST + +tests/run_test.pl + +TAO/tests/Param_Test/run_test.pl: !MINIMUM +TAO/tests/Param_Test/run_test_dii.pl: !MINIMUM +TAO/performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: !MINIMUM !ST +TAO/performance-tests/Cubit/TAO/IDL_Cubit/run_test_lite.pl: !MINIMUM !ST !STATIC +TAO/performance-tests/Cubit/TAO/MT_Cubit/run_test.pl: !ST + +TAO/performance-tests/Latency/Single_Threaded/run_test.pl +TAO/performance-tests/Latency/Thread_Pool/run_test.pl: !ST +TAO/performance-tests/Latency/Thread_Per_Connection/run_test.pl: !ST +TAO/performance-tests/Latency/AMI/run_test.pl: !MINIMUM !ST +TAO/performance-tests/Latency/DSI/run_test.pl: !MINIMUM +TAO/performance-tests/Latency/DII/run_test.pl: !MINIMUM +TAO/performance-tests/Latency/Deferred/run_test.pl: !MINIMUM + +TAO/performance-tests/Throughput/run_test.pl + +TAO/performance-tests/POA/Object_Creation_And_Registration/run_test.pl +TAO/performance-tests/RTCorba/Oneways/Reliable/run_test.pl: !MINIMUM +TAO/tests/AMI/run_test.pl: !MINIMUM +TAO/tests/AMI_Timeouts/run_test.pl: !MINIMUM !ST + +TAO/tests/OctetSeq/run_test.pl +TAO/tests/OctetSeq/run_test1.pl: !STATIC +TAO/tests/OctetSeq/run_test2.pl: !STATIC +TAO/tests/BiDirectional/run_test.pl: !MINIMUM +TAO/tests/BiDirectional_NestedUpcall/run_test.pl: !MINIMUM !STATIC +TAO/tests/Leader_Followers/run_test.pl: !ST +TAO/tests/Leader_Followers/run_test_mt.pl: !ST +TAO/tests/Multiple_Inheritance/run_test.pl + +TAO/tests/RTCORBA/Banded_Connections/run_test.pl: !MINIMUM !ST !Linux +TAO/tests/RTCORBA/Client_Propagated/run_test.pl: !MINIMUM !ST !Linux +TAO/tests/RTCORBA/Client_Protocol/run_test.pl: !MINIMUM !ST +TAO/tests/RTCORBA/Collocation/run_test.pl: !MINIMUM !ST !Linux +TAO/tests/RTCORBA/Destroy_Thread_Pool/run_test.pl: !MINIMUM !ST +TAO/tests/RTCORBA/Explicit_Binding/run_test.pl: !MINIMUM !ST +TAO/tests/RTCORBA/Linear_Priority/run_test.pl: !MINIMUM !ST !Linux +TAO/tests/RTCORBA/MT_Client_Protocol_Priority/run_test.pl: !MINIMUM !ST !Linux +TAO/tests/RTCORBA/ORB_init/run_test.pl: !MINIMUM +TAO/tests/RTCORBA/Persistent_IOR/run_test.pl: !MINIMUM !ST +TAO/tests/RTCORBA/Policy_Combinations/run_test.pl: !MINIMUM !ST !Linux +TAO/tests/RTCORBA/Private_Connection/run_test.pl: !MINIMUM !ST +TAO/tests/RTCORBA/RTMutex/run_test.pl: !MINIMUM !ST +TAO/tests/RTCORBA/Server_Declared/run_test.pl: !MINIMUM !ST !Linux +TAO/tests/RTCORBA/Server_Protocol/run_test.pl: !MINIMUM +TAO/tests/RTCORBA/Thread_Pool/run_test.pl: !MINIMUM !ST !Linux + +TAO/tests/Hello/run_test.pl +TAO/tests/Cache_Growth_Test/run_test.pl +TAO/tests/Muxing/run_test.pl: !ST +TAO/tests/MT_Client/run_test.pl: !ST +TAO/tests/File_IO/run_test.pl: !ST !MINIMUM +TAO/tests/MT_Server/run_test.pl: !ST +# DISABLED TAO/tests/Client_Leaks/run_test.pl: !ST !Tru64 +TAO/tests/Server_Leaks/run_test.pl +TAO/tests/Faults/run_test.pl: !MINIMUM +TAO/tests/Crashed_Callback/run_test.pl: !MINIMUM +TAO/tests/Crash_On_Write/run_test.pl: !ST +TAO/tests/NestedUpcall/Simple/run_test.pl: !ST +TAO/tests/NestedUpcall/MT_Client_Test/run_test.pl: !ST +TAO/tests/NestedUpcall/Triangle_Test/run_test.pl +TAO/tests/Nested_Event_Loop/run_test.pl +TAO/tests/POA/Identity/run_test.pl +TAO/tests/POA/Excessive_Object_Deactivations/run_test.pl +TAO/tests/POA/Etherealization/run_test.pl: !MINIMUM +TAO/tests/POA/Object_Reactivation/run_test.pl: !ST +TAO/tests/POA/POA_Destruction/run_test.pl +TAO/tests/POA/Single_Threaded_POA/run_test.pl: !MINIMUM !ST +TAO/tests/POA/Non_Servant_Upcalls/run_test.pl: !SUNCC5_1 +TAO/tests/POA/wait_for_completion/run_test.pl +TAO/tests/IORManipulation/run_test.pl +TAO/tests/Policies/run_test.pl: !MINIMUM !ST +TAO/tests/Timeout/run_test.pl: !MINIMUM +TAO/tests/MT_Timeout/run_test.pl: !MINIMUM !ST +TAO/tests/Timed_Buffered_Oneways/run_test.pl: !MINIMUM +TAO/tests/Single_Read/run_test.pl: +TAO/tests/Codec/run_test.pl +TAO/tests/IDL_Test/run_test.pl +TAO/tests/ORB_init/run_test.pl +TAO/tests/ORB_destroy/run_test.pl +TAO/tests/DSI_Gateway/run_test.pl: !MINIMUM +TAO/tests/DynAny_Test/run_test.pl: !MINIMUM +# BROKEN TAO/tests/Connection_Purging/run_test.pl: !ST +TAO/tests/LongUpcalls/run_test.pl: !MINIMUM +TAO/tests/Reliable_Oneways/run_test.pl: !MINIMUM +TAO/tests/Blocking_Sync_None/run_test.pl: !MINIMUM +TAO/tests/Oneway_Buffering/run_message_count.pl: !MINIMUM +TAO/tests/Oneway_Buffering/run_buffer_size.pl: !MINIMUM +TAO/tests/Oneway_Buffering/run_timeout.pl: !MINIMUM +TAO/tests/Oneway_Buffering/run_timeout_reactive.pl: !MINIMUM +TAO/tests/AMI_Buffering/run_message_count.pl: !MINIMUM !ST +TAO/tests/AMI_Buffering/run_buffer_size.pl: !MINIMUM !ST +TAO/tests/AMI_Buffering/run_timeout.pl: !MINIMUM !ST +TAO/tests/AMI_Buffering/run_timeout_reactive.pl: !MINIMUM !ST +TAO/tests/Big_Oneways/run_test.pl: !ST +TAO/tests/Big_Twoways/run_test.pl: !ST +TAO/tests/Big_Reply/run_test.pl: !ST +TAO/tests/Big_Request_Muxing/run_test.pl: !ST !MINIMUM +TAO/tests/Oneways_Invoking_Twoways/run_test.pl: !ST +TAO/examples/Buffered_Oneways/run_test.pl: !MINIMUM +TAO/tests/Queued_Message_Test/run_test.pl +TAO/tests/DLL_ORB/run_test.pl: !STATIC + +# REQUIRES AMI 'TAO/examples/Buffered_AMI/run_test.pl: !MINIMUM +TAO/tests/InterOp-Naming/run_test.pl: !MINIMUM +TAO/tests/Multiple/run_test.pl: !SUNCC5_1 +TAO/tests/Exposed_Policies/run_test.pl: !MINIMUM !ST !Linux +TAO/tests/Portable_Interceptors/Dynamic/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS +TAO/tests/Portable_Interceptors/IORInterceptor/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS +TAO/tests/Portable_Interceptors/ForwardRequest/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS +TAO/tests/Portable_Interceptors/Service_Context_Manipulation/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS +TAO/tests/Portable_Interceptors/Request_Interceptor_Flow/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS +TAO/tests/Portable_Interceptors/PICurrent/run_test.pl: !MINIMUM !DISABLE_INTERCEPTORS +TAO/tests/Object_Loader/run_test.pl: !STATIC + +TAO/examples/POA/Adapter_Activator/run_test.pl: !MINIMUM !SUNCC5_1 +TAO/examples/POA/DSI/run_test.pl: !MINIMUM +TAO/examples/POA/Default_Servant/run_test.pl: !MINIMUM +TAO/examples/POA/Explicit_Activation/run_test.pl: !MINIMUM +TAO/examples/POA/FindPOA/run_test.pl: !MINIMUM +TAO/examples/POA/Forwarding/run_test.pl: !MINIMUM +TAO/examples/POA/NewPOA/run_test.pl: !MINIMUM +TAO/examples/POA/On_Demand_Activation/run_test.pl: !MINIMUM !STATIC +TAO/examples/POA/On_Demand_Loading/run_test.pl: !MINIMUM !STATIC !KCC_Linux +TAO/examples/POA/Reference_Counted_Servant/run_test.pl: !SUNCC5_1 +TAO/examples/POA/Loader/run_test.pl: !MINIMUM !STATIC !KCC_Linux +TAO/examples/POA/RootPOA/run_test.pl +TAO/examples/Simple/bank/run_test.pl +TAO/examples/Simple/grid/run_test.pl +TAO/examples/Simple/time-date/run_test.pl: !ST !STATIC +TAO/examples/Simple/time/run_test.pl +TAO/examples/Quoter/run_test.pl: !MINIMUM +TAO/examples/Load_Balancing/run_test.pl: !MINIMUM !SUNCC5_1 +TAO/examples/PluggableUDP/tests/Basic/run_test.pl: !STATIC !ST +TAO/examples/PluggableUDP/tests/SimplePerformance/run_test.pl + +TAO/orbsvcs/tests/AVStreams/Pluggable/run_test.pl: !MINIMUM +#TAO/orbsvcs/tests/AVStreams/Full_Profile/run_test.pl: !MINIMUM +TAO/orbsvcs/tests/AVStreams/Multicast/run_test.pl: !MINIMUM +#TAO/orbsvcs/tests/AVStreams/Multicast_Full_Profile/run_test.pl: !MINIMUM +#TAO/orbsvcs/tests/AVStreams/Latency/run_test.pl: !MINIMUM +TAO/orbsvcs/tests/AVStreams/Simple_Two_Stage/run_test.pl: !MINIMUM +TAO/orbsvcs/tests/AVStreams/Simple_Three_Stage/run_test.pl: !MINIMUM +TAO/orbsvcs/tests/AVStreams/Asynch_Three_Stage/run_test.pl: !MINIMUM +TAO/orbsvcs/tests/AVStreams/Component_Switching/run_test.pl: !MINIMUM + +TAO/orbsvcs/tests/Simple_Naming/run_test.pl: !ST !SUNCC5_1 +TAO/orbsvcs/tests/Trading/run_test.pl: !MINIMUM !SUNCC5_1 +TAO/orbsvcs/tests/Event/Basic/run_test.pl: !ST +TAO/orbsvcs/tests/Event/Performance/run_test.pl: !ST +TAO/orbsvcs/tests/EC_Custom_Marshal/run_test.pl: !ST +TAO/orbsvcs/tests/EC_Throughput/run_test.pl: !ST +TAO/orbsvcs/tests/ImplRepo/run_test.pl: SANDBOX +TAO/orbsvcs/tests/ImplRepo/NameService/run_test.pl: SANDBOX +TAO/orbsvcs/tests/ImplRepo/locked/run_test.pl: !MINIMUM + + +# BREAKS !linux 'TAO/orbsvcs/tests/EC_Mcast/run_test.pl +# FAILS 'TAO/orbsvcs/tests/EC_Multiple/run_test.pl +# NO REDIRECTION TAO/examples/Simple/echo/run_test.pl < Echo.idl +# INTERACTIVE 'TAO/examples/Simple/chat/run_test.pl +TAO/orbsvcs/tests/Property/run_test.pl +#HANGS TAO/orbsvcs/tests/ImplRepo/run_test.pl airplane +#HANGS'TAO/orbsvcs/tests/ImplRepo/run_test.pl airplane_ir + +TAO/orbsvcs/tests/Security/Big_Request/run_test.pl: SSL +TAO/orbsvcs/tests/Security/Callback/run_test.pl: SSL +TAO/orbsvcs/tests/Security/MT_SSLIOP/run_test.pl: !ST SSL +TAO/orbsvcs/tests/Security/Secure_Invocation/run_test.pl: SSL +TAO/orbsvcs/tests/Security/SecurityLevel1/run_test.pl: SSL + +TAO/orbsvcs/tests/Miop/McastHello/run_test.pl: !MINIMUM !STATIC + +TAO/tests/Two_Objects/run_test.pl: !ST diff --git a/bin/fuzz.pl b/bin/fuzz.pl new file mode 100755 index 00000000000..f32e647d42b --- /dev/null +++ b/bin/fuzz.pl @@ -0,0 +1,817 @@ +eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' + & eval 'exec perl -S $0 $argv:q' + if 0; + +# $Id$ +# Fuzz is a script whose purpose is to check through ACE/TAO files for +# easy to spot (by a perl script, at least) problems. + +use File::Find; +use Getopt::Std; + +###### TODO +# +# Add tests for these: +# +# - Using TAO_TRY macros instead of ACE_TRY +# - no relative path to tao_idl in the .dsp files +# - Linking to wrong type of library in dsp's +# - not setting up the release configs correctly in dsp files +# - Guards in .h files +# - no global functions +# - other commit_check checks, tabs, trailing spaces. +# - _narrow() should always have ACE_ENV_ARG_PARAMETER +# - Using ACE_TRY_NEW_ENV (Nanbor suggests using ACE_DECLARE_NEW_CORBA_ENV) +# +# And others in ACE_Guidelines and Design Rules +# +# Also add a -g flag to ignore tao_idl generated files +# +###### END TODO + +# Lists of all the files +@files_cpp = (); +@files_inl = (); +@files_h = (); +@files_html = (); +@files_dsp = (); +@files_idl = (); +@files_pl = (); + +# To keep track of errors and warnings +$errors = 0; +$warnings = 0; + +############################################################################## + +# Find_Modified_Files will use 'cvs -nq' to get a list of locally modified +# files to look through +sub find_mod_files () +{ + unless (open (CVS, "cvs -nq up |")) { + print STDERR "Error: Could not run cvs\n"; + exit (1); + } + + while (<CVS>) { + if (/^[M|A] (.*)/) { + store_file ($1); + } + } + close (CVS); +} + + + +# Find_Files will search for files with certain extensions in the +# directory tree +sub find_files () +{ + # wanted is only used for the File::Find + sub wanted + { + store_file ($File::Find::name); + } + + find (\&wanted, '.'); +} + +# +sub store_file ($) +{ + my $name = shift; + if ($name =~ /\.(c|cc|cpp|cxx)$/i) { + push @files_cpp, ($name); + } + elsif ($name =~ /\.(inl|i)$/i) { + push @files_inl, ($name); + } + elsif ($name =~ /\.(h|hh|hpp|hxx)$/i) { + push @files_h, ($name); + } + elsif ($name =~ /\.(htm|html)$/i) { + push @files_html, ($name); + } + elsif ($name =~ /\.(dsp|vcp)$/i) { + push @files_dsp, ($name); + } + elsif ($name =~ /\.(pidl|idl)$/i) { + push @files_idl, ($name); + } + elsif ($name =~ /\.pl$/i) { + push @files_pl, ($name); + } +} + +############################################################################## +## Just messages + +sub print_error ($) +{ + my $msg = shift; + print "Error: $msg\n"; + ++$errors; +} + + +sub print_warning ($) +{ + my $msg = shift; + print "Warning: $msg\n"; + ++$warnings; +} + + +############################################################################## +## Tests + +# The point of this test is to check for the existence of ACE_INLINE +# or ASYS_INLINE in a .cpp file. This is most commonly caused by +# copy/pasted code from a .inl/.i file +sub check_for_inline_in_cpp () +{ + print "Running ACE_INLINE/ASYS_INLINE check\n"; + foreach $file (@files_cpp) { + my $line = 0; + if (open (FILE, $file)) { + print "Looking at file $file\n" if $opt_d; + while (<FILE>) { + ++$line; + if (/^ACE_INLINE/) { + print_error ("ACE_INLINE found in $file on line $line"); + } + if (/^ASYS_INLINE/) { + print_error ("ASYS_INLINE found in $file on line $line"); + } + } + close (FILE); + } + else { + print STDERR "Error: Could not open $file\n"; + } + } +} + +# This test checks to make sure files have the $Id string in them. +# Commit_check should find these when checking in files, but this can +# be used locally or to check for files +sub check_for_id_string () +{ + print "Running \$Id\$ string check\n"; + foreach $file (@files_cpp, @files_inl, @files_h, + @files_html, @files_idl, @files_pl) { + my $found = 0; + if (open (FILE, $file)) { + print "Looking at file $file\n" if $opt_d; + while (<FILE>) { + if (/\$Id\:/ or /\$Id\$/) { + $found = 1; + } + } + close (FILE); + if ($found == 0) { + print_error ("No \$Id\$ string found in $file"); + } + } + else { + print STDERR "Error: Could not open $file\n"; + } + } +} + + +# This test checks for the newline at the end of a file +sub check_for_newline () +{ + print "Running newline check\n"; + foreach $file (@files_cpp, @files_inl, @files_h, + @files_html, @files_idl, @files_pl) { + if (open (FILE, $file)) { + my $line; + print "Looking at file $file\n" if $opt_d; + while (<FILE>) { + $line = $_ + } + close (FILE); + if ($line !~ /\n$/) { + print_error ("No ending newline found in $file"); + } + } + else { + print STDERR "Error: Could not open $file\n"; + } + } +} + + + +# This test checks for the use of "inline" instead of ACE_INLINE +sub check_for_inline () +{ + print "Running inline check\n"; + foreach $file (@files_inl) { + my $line = 0; + if (open (FILE, $file)) { + my $disable = 0; + print "Looking at file $file\n" if $opt_d; + while (<FILE>) { + ++$line; + if (/FUZZ\: disable check_for_inline/) { + $disable = 1; + } + if (/FUZZ\: enable check_for_inline/) { + $disable = 0; + } + if ($disable == 0 and m/^\s*inline/) { + print_error ("inline found in $file on line $line"); + } + } + close (FILE); + } + else { + print STDERR "Error: Could not open $file\n"; + } + } +} + + +# This test checks for the inclusion of math.h. math.h should be avoided +# since on some platforms, "exceptions" is defined as a struct, which will +# cause problems with exception handling +sub check_for_math_include () +{ + print "Running math.h test\n"; + foreach $file (@files_h, @files_cpp, @files_inl) { + my $line = 0; + if (open (FILE, $file)) { + my $disable = 0; + print "Looking at file $file\n" if $opt_d; + while (<FILE>) { + ++$line; + if (/FUZZ\: disable check_for_math_include/) { + $disable = 1; + } + if (/FUZZ\: enable check_for_math_include/) { + $disable = 0; + } + if ($disable == 0 + and /^\s*#\s*include\s*(\/\*\*\/){0,1}\s*\<math\.h\>/) { + print_error ("math.h included in $file on line $line"); + } + } + close (FILE); + } + else { + print STDERR "Error: Could not open $file\n"; + } + } +} + +# For general readability, lines should not contain more than 80 characters +sub check_for_line_length () +{ + print "Running line length test\n"; + foreach $file (@files_h, @files_cpp, @files_inl) { + my $line = 0; + if (open (FILE, $file)) { + print "Looking at file $file\n" if $opt_d; + while (<FILE>) { + ++$line; + + # Make sure to ignore ACE_RCSID lines, since they + # are difficult to get under 80 chars. + if (/.{80,}/ and !/^ACE_RCSID/) { + print_error ("Over 80 chars on line $line in $file"); + } + } + close (FILE); + } + else { + print STDERR "Error: Could not open $file\n"; + } + } +} + + +# For preprocessor directives, only the old C style comments (/* */) +# should be used, not the newer // style. +sub check_for_preprocessor_comments () +{ + print "Running preprocessor comment test\n"; + foreach $file (@files_h, @files_cpp, @files_inl) { + my $line = 0; + if (open (FILE, $file)) { + print "Looking at file $file\n" if $opt_d; + while (<FILE>) { + ++$line; + if (/^\#.*\/\//) { + print_error ("C++ comment in directive on " + ."line $line in $file"); + } + } + close (FILE); + } + else { + print STDERR "Error: Could not open $file\n"; + } + } +} + + +# This test checks for the use of the Win32 Unicode string defines +# or outdated ASYS_* macros +# We should only be using the ACE_TCHAR, ACE_TEXT macros instead. +sub check_for_tchar +{ + print "Running TCHAR test\n"; + foreach $file (@files_h, @files_cpp, @files_inl) { + my $line = 0; + if (open (FILE, $file)) { + my $disable = 0; + print "Looking at file $file\n" if $opt_d; + while (<FILE>) { + ++$line; + if (/FUZZ\: disable check_for_tchar/) { + $disable = 1; + } + if (/FUZZ\: enable check_for_tchar/) { + $disable = 0; + } + if ($disable == 0) { + if (/LPTSTR/) { + print_error ("LPTSTR found on line $line in $file"); + } + + if (/LPCTSTR/) { + print_error ("LPCTSTR found on line $line in $file"); + } + + if (/ASYS_TCHAR/) { + print_error ("ASYS_TCHAR found on " + ."line $line in $file"); + } + elsif (/TCHAR/ and !/ACE_TCHAR/) { + ### Do a double check, since some macros do have TCHAR + ### (like DEFAULTCHARS) + if (/^TCHAR[^\w_]/ or /[^\w_]TCHAR[^\w_]/) { + print_error ("TCHAR on line $line in $file"); + } + } + + if (/ASYS_TEXT/) { + print_error ("ASYS_TEXT on line $line in $file"); + } + elsif (/TEXT/ and !/ACE_TEXT/) { + ### Do a double check, since there are several macros + ### that end with TEXT + if (/^TEXT\s*\(/ or /[^\w_]TEXT\s*\(/) { + print_error ("TEXT found on line $line in $file"); + } + } + } + } + close (FILE); + } + else { + print STDERR "Error: Could not open $file\n"; + } + } +} + + + +# This checks to make sure files include ace/post.h if ace/pre.h is included +# and vice versa. +sub check_for_pre_and_post () +{ + print "Running pre.h/post.h test\n"; + foreach $file (@files_h) { + my $pre = 0; + my $post = 0; + if (open (FILE, $file)) { + my $disable = 0; + print "Looking at file $file\n" if $opt_d; + while (<FILE>) { + if (/FUZZ\: disable check_for_pre_and_post/) { + $disable = 1; + } + if (/FUZZ\: enable check_for_pre_and_post/) { + $disable = 0; + } + if ($disable == 0) { + if (/^\s*#\s*include\s*\"ace\/pre\.h\"/) { + ++$pre; + } + if (/^\s*#\s*include\s*\"ace\/post\.h\"/) { + ++$post; + } + } + } + close (FILE); + + if ($disable == 0 && $pre != $post) { + print_error ("pre.h/post.h mismatch in $file"); + } + } + else { + print STDERR "Error: Could not open $file\n"; + } + } +} + + +# Check doxygen @file comments +sub check_for_mismatched_filename () +{ + print "Running doxygen \@file test\n"; + foreach $file (@files_h, @files_cpp, @files_inl) { + if (open (FILE, $file)) { + my $disable = 0; + print "Looking at file $file\n" if $opt_d; + while (<FILE>) { + if (m/\@file\s*([^\s]*)/ && $file !~ m/$1$/) { + print_error ("\@file mismatch in $file"); + } + } + close (FILE); + } + else { + print STDERR "Error: Could not open $file\n"; + } + } +} + +# check for bad run_test +sub check_for_bad_run_test () +{ + print "Running run_test.pl test\n"; + foreach $file (@files_pl) { + if (open (FILE, $file)) { + my $is_run_test = 0; + my $line = 0; + my $sub = 0; + + print "Looking at file $file\n" if $opt_d; + + while (<FILE>) { + ++$line; + + if (m/PerlACE/ || m/ACEutils/) { + $is_run_test = 1; + } + + if ($is_run_test == 1) { + if (m/ACEutils/) { + print_error ("ACEutils.pm still being used in $file ($line)"); + } + + if (m/unshift \@INC/) { + print_error ("Still unshifting \@INC, should \"use lib\"" + ." instead in $file ($line)"); + } + + if (m/\$EXEPREFIX/) { + print_error ("Still using \$EXEPREFIX in $file ($line)"); + } + + if (m/\$EXE_EXT/) { + print_error ("Still using \$EXE_EXT in $file ($line)"); + } + + if (m/\$DIR_SEPARATOR/) { + print_error ("Still using \$DIR_SEPARATOR in $file ($line)"); + } + if (m/ACE\:\:/ && !m/PerlACE\:\:/) { + print_error ("Still using ACE::* in $file ($line)"); + } + + if (m/Process\:\:/ && !m/PerlACE\:\:Process\:\:/) { + print_error ("Still using Process::* in $file ($line)"); + } + + if (m/Process\:\:Create/) { + print_error ("Still using Process::Create in $file ($line)"); + } + + if ((m/\.ior/ || m/\.conf/) && !m/LocalFile/) { + print_error ("Not using PerlACE::LocalFile at $file ($line)"); + } + + if (m/^ [^ ]/) { + print_warning ("Still using two-space indentation in $file ($line)"); + } + + if (m/^\s*\t/) { + print_error ("Indenting using tabs in $file ($line)"); + } + + if (m/^\s*\{/ && $sub != 1) { + print_warning ("Using Curly Brace alone on $file ($line)"); + } + + if (m/timedout/i && !m/\#/) { + print_error ("timedout message found on $file ($line)"); + } + + if (m/^\s*sub/) { + $sub = 1; + } + else { + $sub = 0; + } + } + } + + close (FILE); + + if ($is_run_test) { + my @output = `perl -wc $file 2>&1`; + + foreach $output (@output) { + chomp $output; + if ($output =~ m/error/i) { + print_error ($output); + } + elsif ($output !~ m/syntax OK/) { + print_warning ($output); + } + } + } + } + else { + print STDERR "Error: Could not open $file\n"; + } + } +} + + +# Check for links to ~schmidt/ACE_wrappers/, which should not be in the +# documentation +sub check_for_absolute_ace_wrappers() +{ + print "Running absolute ACE_wrappers test\n"; + foreach $file (@files_html) { + if (open (FILE, $file)) { + my $line = 0; + print "Looking at file $file\n" if $opt_d; + while (<FILE>) { + ++$line; + if (m/\~schmidt\/ACE_wrappers\//) { + chomp; + print_error ("~schmidt/ACE_wrappers found in $file on " + . "line $line"); + print_error ($_) if (defined $opt_v); + } + } + close (FILE); + } + else { + print STDERR "Error: Could not open $file\n"; + } + } +} + +# Make sure ACE_[OS_]TRACE matches the function/method +sub check_for_bad_ace_trace() +{ + print "Running TRACE test\n"; + foreach $file (@files_inl, @files_cpp) { + if (open (FILE, $file)) { + my $line = 0; + my $class; + my $function; + + print "Looking at file $file\n" if $opt_d; + while (<FILE>) { + ++$line; + + # look for methods or functions + if (m/(^[^\s][^\(]*)\:\:([^\:^\(]*[^\s^\(])\s*/) { + $class = $1; + $function = $2; + } + elsif (m/^([^\s^\(^\#]*) \(/i) { + $class = ""; + $function = $1; + } + elsif (m/^(operator.*) \(/i) { + $class = ""; + $function = $1; + } + + # Look for TRACE statements + if (m/ACE_OS_TRACE\s*\(\s*\"(.*)\"/ + || m/ACE_TRACE\s*\(\s*\"(.*)\"/) { + my $trace = $1; + + # reduce the classname + if ($class =~ m/([^\s][^\<^\s]*)\s*\</) { + $class = $1; + } + + if ($class =~ m/([^\s^\&^\*]*)\s*$/) { + $class = $1; + } + + if ($trace !~ m/\Q$function\E/ + || ($trace =~ m/\:\:/ && !($trace =~ m/\Q$class\E/ && $trace =~ m/\Q$function\E/))) { + print_error ("Mismatched TRACE in $file on line $line"); + print_error (" I see \"$trace\" but I think I'm in \"" + . $class . "::" . $function . "\"") if (defined $opt_v); + } + } + } + close (FILE); + } + else { + print STDERR "Error: Could not open $file\n"; + } + } +} + + + +# This test checks missing ACE_ENV_ARG_PARAMETER when using +# resolve_initial_references +sub check_for_missing_rir_env () +{ + print "Running resolve_initial_references() check\n"; + foreach $file (@files_cpp, @files_inl) { + my $line = 0; + if (open (FILE, $file)) { + my $disable = 0; + my $native_try = 0; + my $in_rir = 0; + my $found_env = 0; + + print "Looking at file $file\n" if $opt_d; + while (<FILE>) { + ++$line; + if (/FUZZ\: disable check_for_missing_rir_env/) { + $disable = 1; + } + if (/FUZZ\: enable check_for_missing_rir_env/) { + $disable = 0; + } + if ($disable == 0) { + next if m/^\s*\/\//; + + if (m/^\s*try/) { + $disable = 1; + next; + } + + if (m/[^\:]resolve_initial_references\s*\(/) { + $found_env = 0; + $in_rir = 1; + } + + if (m/ACE_ENV_ARG_PARAMETER/) { + $found_env = 1; + } + + if ($in_rir == 1 && m/\;\s*$/) { + $in_rir = 0; + if ($found_env != 1) { + print_error ("Missing ACE_ENV_ARG_PARAMETER in" + . " resolve_initial_references" + . " in $file ($line)"); + } + $found_env = 0; + } + + } + } + close (FILE); + } + else { + print STDERR "Error: Could not open $file\n"; + } + } +} + +# This test checks for usage of ACE_CHECK/ACE_TRY_CHECK +sub check_for_ace_check () +{ + print "Running ACE_CHECK check\n"; + foreach $file (@files_cpp, @files_inl) { + my $line = 0; + if (open (FILE, $file)) { + my $disable = 0; + my $in_func = 0; + my $in_return = 0; + my $found_env = 0; + + print "Looking at file $file\n" if $opt_d; + while (<FILE>) { + ++$line; + if (/FUZZ\: disable check_for_ace_check/) { + $disable = 1; + } + if (/FUZZ\: enable check_for_ace_check/) { + $disable = 0; + } + + if (/FUZZ\: ignore check_for_ace_check/) { + next; + } + + next if m/^\s*\/\//; + next if m/^\s*$/; + + if ($disable == 0) { + if (m/[,\(]\s*ACE_TRY_ENV[,\)]/) { + $found_env = 1; + $in_func = 1; + $env_line = $line; + } + + # ignore quoted ACE_TRY_ENV's + if (m/^[^\"]*\"[^\"]*ACE_TRY_ENV[^\"]*\"[^\"]*$/) { + $found_env = 0; + } + + if (m/ACE_TRY_ENV.*ACE_TRY_ENV/) { + print_error ("Multiple ACE_TRY_ENV in $file ($line)"); + } + + if ($in_func && m/\)/) { + $in_func = 0; + } + elsif (!$in_func && $found_env) { + if (!m/_CHECK/ && !m/^\}/ && !$in_return) { + print_error ("Missing ACE_CHECK/ACE_TRY_CHECK for $file ($env_line)"); + } + $found_env = 0; + } + + if (m/^\s*return/) { + $in_return = 1; + } + else { + $in_return = 0; + } + } + } + close (FILE); + } + else { + print STDERR "Error: Could not open $file\n"; + } + } +} + +############################################################################## + +use vars qw/$opt_c $opt_d $opt_h $opt_l $opt_m $opt_v/; + +if (!getopts ('cdhl:mv') || $opt_h) { + print "fuzz.pl [-cdhm] [-l level] [file1, file2, ...]\n"; + print "\n"; + print " -c only look at the files passed in\n"; + print " -d turn on debugging\n"; + print " -h display this help\n"; + print " -l level set detection level (default = 5)\n"; + print " -m only check locally modified files (uses cvs)\n"; + print " -v verbose mode\n"; + exit (1); +} + +if (!$opt_l) { + $opt_l = 5; +} + +if ($opt_c) { + foreach $file (@ARGV) { + store_file ($file); + } +} +elsif ($opt_m) { + find_mod_files (); +} +else { + find_files (); +} + +print "--------------------Configuration: Fuzz - Level ",$opt_l, + "--------------------\n"; + +check_for_inline_in_cpp () if ($opt_l >= 2); +check_for_id_string () if ($opt_l >= 1); +check_for_newline () if ($opt_l >= 1); +check_for_inline () if ($opt_l >= 2); +check_for_math_include () if ($opt_l >= 3); +check_for_line_length () if ($opt_l >= 8); +check_for_preprocessor_comments () if ($opt_l >= 7); +check_for_tchar () if ($opt_l >= 4); +check_for_pre_and_post () if ($opt_l >= 4); +check_for_mismatched_filename () if ($opt_l >= 2); +check_for_bad_run_test () if ($opt_l >= 6); +check_for_absolute_ace_wrappers () if ($opt_l >= 3); +check_for_bad_ace_trace () if ($opt_l >= 4); +check_for_missing_rir_env () if ($opt_l >= 5); +check_for_ace_check () if ($opt_l >= 3); + +print "\nFuzz.pl - $errors error(s), $warnings warning(s)\n"; + +exit (1) if $errors > 0; diff --git a/bin/g++dep b/bin/g++dep new file mode 100755 index 00000000000..cfd00b95e9e --- /dev/null +++ b/bin/g++dep @@ -0,0 +1,112 @@ +#! /bin/sh +# $Id$ + +# This utility is a lightly editted version of the freed Berkeley +# script `mkdep'. The current script is intended to work for GNU G++. + +# Here is the original BSD header: +# @(#)mkdep.sh 1.7 (Berkeley) 10/13/87 +# + +if [ `uname -r` = 5.7 ]; then + PATH=/project/danzon/pkg/egcs/bin:/usr/local/bin:/bin:/usr/bin:/usr/ucb:\ +/usr/gnu:/usr/gnu/bin:/opt/gnu/bin:/pkg/gnu/bin:$PATH +else + PATH=/usr/local/bin:/bin:/usr/bin:/usr/ucb:\ +/usr/gnu:/usr/gnu/bin:/opt/gnu/bin:/pkg/gnu/bin:$PATH +fi +export PATH + +if [ $# = 0 ] ; then + echo 'usage: g++dep [-p] [-f makefile] [flags] file ...' + exit 1 +fi + +DO_ACE_MAKE_DEPEND=0 +MAKE=Makefile +STOPNOW=0 +while [ $STOPNOW -eq 0 ] +do +case $1 in + # -f allows you to select a makefile name + -f) MAKE=$2 + shift; shift ;; + + # the -p flag produces "program: program.c" style dependencies + # so .o's don't get produced + -p) SED='-e s;\.o;;' + shift ;; + + # -r allows the use of relative pathnames... + -r) REL="-e s;$ACE_ROOT;\$(ACE_ROOT);g ${ACE_DEPEND_SED_CMD}" + REL="-e s;${TAO_ROOT:=$ACE_ROOT/TAO};\$(TAO_ROOT);g "$REL + shift ;; + # -A uses relative pathnames and fixes the .obj line + # and it implies -r + -A) REL="-e s;$ACE_ROOT;\$(ACE_ROOT);g ${ACE_DEPEND_SED_CMD}" + REL="-e s;${TAO_ROOT:=$ACE_ROOT/TAO};\$(TAO_ROOT);g "$REL + DO_ACE_MAKE_DEPEND=1 + shift ;; + *) STOPNOW=1 +esac +done + +# Dependencies on local files are better expressed like that, instead +# of using $(TAO_ROOT) or $(ACE_ROOT). This is specially important +# for IDL generated files. +REL="-e s;`pwd`/;;g "$REL + +if [ ! -w $MAKE ]; then + echo "g++dep: no writeable file \"$MAKE\"" + exit 1 +fi + +TMP=/tmp/g++dep$$ + +trap 'rm -f $TMP; exit 1' 1 2 3 13 15 + +cp $MAKE ${MAKE}.bak + +sed -e '/DO NOT DELETE THIS LINE/,$d' < $MAKE > $TMP + +cat << _EOF_ >> $TMP +# DO NOT DELETE THIS LINE -- g++dep uses it. +# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. + +_EOF_ + +g++ -MM -DACE_LACKS_PRAGMA_ONCE $* | \ + sed -e "s; \./; ;g" $SED $REL | \ + awk '{ if ($1 != prev) \ + { if (rec != "") print rec; rec = $0; prev = $1; } \ + else \ + { if (length(rec $2) > 78) { print rec; rec = $0; } \ + else rec = rec " " $2 } } \ + END { print rec }' >> $TMP + +if [ $DO_ACE_MAKE_DEPEND -eq 1 ] +then + SCRIPT=${TMP}_script + echo "s;\([-a-zA-Z0-9._+]*\)\.o:;\\" > $SCRIPT + echo ".obj/\1.o .obj/\1.${SOEXT} ${VSHDIR}\1.o ${VSHDIR}\1.${SOEXT}:;" >> $SCRIPT + TMP2=${TMP}_2 + cat $TMP | \ + sed \ + -e '/$(ACE_ROOT)\/ace\/config[^\.]*\.h/d' \ + -e "s; /[-a-zA-Z0-9_./+]*\.h;;g" \ + -e 's/\\[ \t][ \t]*\\/\\/g' \ + -f $SCRIPT > $TMP2 + mv $TMP2 $TMP + rm -f $TMP2 + rm -f $SCRIPT +fi + +cat << _EOF_ >> $TMP + +# IF YOU PUT ANYTHING HERE IT WILL GO AWAY +_EOF_ + +# copy to preserve permissions +cp $TMP $MAKE +rm -f ${MAKE}.bak $TMP +exit 0 diff --git a/bin/generate_doxygen.pl b/bin/generate_doxygen.pl new file mode 100755 index 00000000000..825b11c52ba --- /dev/null +++ b/bin/generate_doxygen.pl @@ -0,0 +1,219 @@ +eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' + & eval 'exec perl -S $0 $argv:q' + if 0; + +# -*- perl -*- +# $Id$ +# + +require POSIX; +require File::Path; + +# Configuration and default values + +$is_release = 0; +$exclude_ace = 0; +$exclude_tao = 0; +$verbose = 0; +$perl_path = '/usr/bin/perl'; +$dot_path = '/usr/local/bin'; +@ACE_DOCS = ('ace', + 'ace_man', + 'ace_rmcast', + 'ace_ssl', + 'ace_qos', + 'acexml'); +@TAO_DOCS = ('tao' + ,'tao_portableserver' + ,'tao_rtportableserver' + ,'tao_rtcorba' + ,'tao_dynamicany' + ,'tao_dynamicinterface' + ,'tao_iormanip' + ,'tao_iortable' + ,'tao_esf' + ,'tao_rtevent' + ,'tao_cosevent' + ,'tao_cosnotification' + ,'tao_implrepo' + ,'tao_strategies' + ,'tao_smartproxies' + ,'tao_av' + ,'tao_security' + ,'tao_ssliop' + ); + +# Modify defaults using the command line arguments +&parse_args (); + +open(CONFIG_H, ">ace/config.h") + || die "Cannot create config file\n"; +print CONFIG_H "#include \"ace/config-doxygen.h\"\n"; +close (CONFIG_H); + +&generate_doxy_files ('ACE', 'VERSION', @ACE_DOCS) if (!$exclude_ace); +&generate_doxy_files ('TAO', 'TAO/VERSION', @TAO_DOCS) if (!$exclude_tao); + +unlink "ace/config.h"; + +exit 0; + +sub parse_args { + my @ARGS = (); + while ($#ARGV >= 0) { + if (!($ARGV[0] =~ m/^-/)) { + push @ARGS, $ARGV[0]; + } elsif ($ARGV[0] eq "-is_release") { + $is_release = 1; + } elsif ($ARGV[0] eq "-exclude_ace") { + $exclude_ace = 1; + } elsif ($ARGV[0] eq "-exclude_tao") { + $exclude_tao = 1; + } elsif ($ARGV[0] eq "-verbose") { + $verbose = 1; + } elsif ($ARGV[0] eq "-perl_path" && $#ARGV >= 1) { + $perl_path = $ARGV[1]; + shift; + } elsif ($ARGV[0] eq "-dot_path" && $#ARGV >= 1) { + $dot_path = $ARGV[1]; + shift; + } else { + print "Ignoring option $ARGV[0]\n"; + } + shift @ARGV; + } + @ARGV = @ARGS; +} + +sub generate_doxy_files { + + my $KIT = shift; + my $VERSION_FILE = shift; + my @DOCS = @_; + + my $VERSION = 'Snapshot ('. + POSIX::strftime("%Y/%m/%d-%H:%M", localtime) + .')'; + + foreach my $i (@DOCS) { + if ($is_release) { + my ($major, $minor, $beta) = &get_versions ($KIT, $VERSION_FILE); + $VERSION = $major.'.'.$minor.'.'.$beta; + } + + my $input = "etc/".$i.".doxygen"; + my $output = "/tmp/".$i.".".$$.".doxygen"; + + open(DOXYINPUT, $input) + || die "Cannot open doxygen input file $input\n"; + open(DOXYOUTPUT, ">$output") + || die "Cannot open doxygen output file $output\n"; + + my $generate_man = 0; + my $generate_html = 0; + my @output_dirs = (); + while (<DOXYINPUT>) { + chomp; + if (/^PROJECT_NUMBER/) { + print DOXYOUTPUT "PROJECT_NUMBER = ", $VERSION, "\n"; + next; + } elsif (/^PERL_PATH /) { + print DOXYOUTPUT "PERL_PATH = $perl_path\n"; + next; + } elsif (/^DOT_PATH /) { + print DOXYOUTPUT "DOT_PATH = $dot_path\n"; + next; + } elsif (/^QUIET / && $verbose) { + print DOXYOUTPUT "QUIET = NO\n"; + next; + } elsif (/^INLINE_SOURCES/ && $is_release) { + print DOXYOUTPUT "INLINE_SOURCES = NO\n"; + next; + } elsif (/^SOURCE_BROWSER/ && $is_release) { + print DOXYOUTPUT "SOURCE_BROWSER = NO\n"; + next; + } elsif (/^VERBATIM_HEADERS/ && $is_release) { + print DOXYOUTPUT "VERBATIM_HEADERS = NO\n"; + next; +# } elsif (/^INCLUDE_GRAPH/ && $is_release) { +# print DOXYOUTPUT "INCLUDE_GRAPH = NO\n"; +# next; +# } elsif (/^INCLUDED_BY_GRAPH/ && $is_release) { +# print DOXYOUTPUT "INCLUDED_BY_GRAPH = NO\n"; +# next; + } elsif (/^GENERATE_MAN/ && /= YES/) { + $generate_man = 1; + } elsif (/^GENERATE_HTML/ && /= YES/) { + $generate_html = 1; + } elsif ($generate_html && /^HTML_OUTPUT/) { + my @field = split(' = '); + if ($#field >= 1) { + push @output_dirs, $field[1]; + } + } elsif ($generate_html && /^MAN_OUTPUT/) { + my @field = split(' = '); + if ($#field >= 1) { + push @output_dirs, $field[1]; + } + } + print DOXYOUTPUT $_, "\n"; + } + close (DOXYOUTPUT); + close (DOXYINPUT); + + foreach my $i (@output_dirs) { + File::Path::mkpath($i, 0, 0755); + } + + &run_doxy ($output); + + unlink $output; + } +} + +sub run_doxy { + my $config = shift; + open(DOX,"doxygen $config 2>&1 |") + || die "cannot start ACE doxygen process\n"; + while (<DOX>) { + print $_; + } + close (DOX) + || die "error while running doxygen on $config\n"; +} + +######## +######## Retrieve version information from VERSION file(s). +######## +sub get_versions () { + my $KIT = shift; + my $VERSION_FILE = shift; + my ($major_version, $minor_version, $beta_version); + + open (VERSION, '<'.$VERSION_FILE) || + die "$0: unable to open VERSION\n"; + while (<VERSION>) { + chomp; + if (/$KIT version (\d+)\.(\d+)\.(\d+)/) { + $major_version = $1; + $minor_version = $2; + $beta_version = $3; + last; + } elsif (/$KIT version (\d+)\.(\d+)[^\.]/) { + #### Previous release was a minor. + $major_version = $1; + $minor_version = $2; + $beta_version = '0'; + last; + } elsif (/$KIT version (\d+)[^\.]/) { + #### Previous release was a major. + $major_version = $1; + $minor_version = '0'; + $beta_version = '0'; + last; + } + } + close VERSION; + + return ($major_version, $minor_version, $beta_version); +} diff --git a/bin/make_release b/bin/make_release new file mode 100755 index 00000000000..a1f2fd7542b --- /dev/null +++ b/bin/make_release @@ -0,0 +1,817 @@ +eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' + & eval 'exec perl -S $0 $argv:q' + if 0; + +# $Id$ +# +# Creates an ACE or TAO kit. Intended to be called from the +# ACE or TAO top-level Makefiles. +# +# The first three lines above let this script run without specifying the +# full path to perl, as long as it is in the user's PATH. +# Taken from perlrun man page. + +use strict; + +my $usage="usage: $0 [-?] [-i] [-g] [-k <kit>] [-n] [-v <version>] " . + "[-ta <ACE tag>] [-tt <TAO tag>] " . + "[-c <controlled files>] [-r <release files>] [-l <release lib files] " . + "[-u] [-z]\n"; +my $long_usage=" -? option prints this message\n" . + " -i to install to public web server directory\n" . + " -g to generate the man pages\n" . + " -k <kit>, where <kit> is ace, tao, or ace+tao\n" . + " -n option prints what would be done, but doesn't do it\n" . + " -v <version>, where <version> is major, minor, or beta (default)\n" . + " -ta <ACE tag>, to specify ACE tag to be use for checkout (export)\n" . + " -tt <TAO tag>, to specify TAO tag to be use for checkout (export)\n" . + " -c <controlled files> lists the CVS-controlled files\n" . + " -r <release files> lists the files to be released\n" . + " -l <release lib files> list the files to put in the lib kit\n" . + " -u to update versions\n" . + " -z to suppress creation of .zip files\n"; + + +######## +######## Sanity checks. +######## +$ENV{'SIGNATURE'} || + die "$0: must set your SIGNATURE environment variable\n"; + +my $which_host = $ENV{'OSTYPE'}; + +my $release_host = substr ($which_host, 0, 5); + +## We are not going to use any Sun boxes for the release anymore.. + +if (! ($release_host eq 'linux')){ + die "$0: You are on the wrong OS, please move to linux box\n"; +} + +my $perl_path = '/usr/bin/perl'; + +&can_run($perl_path.' -V') || + die "$0: perl path is incorrect, please fix the script\n"; + +my $dot_path = '/project/deuce/gv1.5/bin'; + +&can_run($dot_path.'/dot -V') || + die "$0: dot path is incorrect, please fix the script\n"; + +my $doxy_path = '/project/deuce/doxygen/bin'; + +my $doxy_version = '1.2.13.1'; + +&can_run($doxy_path.'/doxygen --version | grep '.$doxy_version.' >/dev/null') || + die "$0: doxygen path or version incorrect, please fix the script\n"; + +$ENV{'PATH'} = $ENV{'PATH'}.':'.$doxy_path; + +my $hostname; +chomp ($hostname = $ENV{'HOSTNAME'} || `uname -n`); +unless ("$hostname" eq 'deuce.doc.wustl.edu') { + #### For efficiency sake . . . + die "$0: must run on host deuce.doc\n"; +} + + +$ENV{'CVSROOT'} || + die "$0: must set your CVSROOT environment variable\n"; + +$ENV{'ACE_ROOT'} || + die "$0: must set your CVSROOT environment variable\n"; + +######## +######## Configuration parameters. +######## +my $gnu = '/bin'; + +####### Add the path to /bin unconditionally.. + +$ENV{'PATH'} = "$gnu" . ':' . $ENV{'PATH'}; + +### Any tools in /usr/local/bin can also be added. We dont need that +### for deuce.doc +my $gnu2 = '/usr/bin'; + +####### Add the path to /usr/bin unconditionally.. +$ENV{'PATH'} = "$gnu2" . ':' . $ENV{'PATH'}; + +my $export_dir = '/project/deuce/ftp/pub/ACE+TAO-distribution'; +my $diffs_dir = "$export_dir/diffs"; +my $exec_prefix = ''; +my $generate_man_pages = 0; +my $install = 0; +my $kit = ''; +my $release_type = 'beta'; +my $ace_tag = my $tao_tag = ''; +my $controlled_files = my $release_files = my $release_lib_files = ''; +my $release_tag_files = ''; +my $release_filter = '\\( -name CVS -o -name build \\) -prune -o ' . + '! -name \'.\#*\' ! -name \'\#*\' ! -name \'*~\' ' . + '! -name \'*.MAK\' -print'; +my $update_versions = 0; +my $create_zips = 1; + + +######## +######## Process command line args. +######## +while ($#ARGV >= $[ && $ARGV[0] =~ /^-/) { + if ($ARGV[0] eq '-i') { + $install = 1; + } elsif ($ARGV[0] eq '-g') { + $generate_man_pages = 1; + } elsif ($ARGV[0] eq '-k') { + if ($ARGV[1] =~ /^[^-]+/ && + ($ARGV[1] eq 'ace' || $ARGV[1] eq 'tao' || $ARGV[1] eq 'ace+tao')) { + $kit = $ARGV[1]; shift; + } else { + print STDERR "$0: must provide argument for -k option\n"; + die "$usage$long_usage"; + } + } elsif ($ARGV[0] eq '-n') { + $exec_prefix = 'echo '; + } elsif ($ARGV[0] eq '-v') { + if ($ARGV[1] =~ /^[^-]+/ && + ($ARGV[1] eq 'major' || $ARGV[1] eq 'minor' || + $ARGV[1] eq 'beta')) { + $release_type = $ARGV[1]; shift; + } else { + print STDERR "$0: must provide argument for -v option\n"; + die "$usage$long_usage"; + } + } elsif ($ARGV[0] eq '-ta') { + if ($ARGV[1] =~ /^[^-]+/) { + $ace_tag = $ARGV[1]; shift; + } else { + print STDERR "$0: must provide argument for -ta option\n"; + die "$usage$long_usage"; + } + } elsif ($ARGV[0] eq '-tt') { + if ($ARGV[1] =~ /^[^-]+/) { + $tao_tag = $ARGV[1]; shift; + } else { + print STDERR "$0: must provide argument for -tt option\n"; + die "$usage$long_usage"; + } + } elsif ($ARGV[0] eq '-c') { + if ($ARGV[1] =~ /^[^-]+/) { + $controlled_files = $ARGV[1]; shift; + } else { + print STDERR "$0: must provide argument for -c option\n"; + die "$usage$long_usage"; + } + } elsif ($ARGV[0] eq '-r') { + if ($ARGV[1] =~ /^[^-]+/) { + $release_files = $ARGV[1]; shift; + } else { + print STDERR "$0: must provide argument for -r option\n"; + die "$usage$long_usage"; + } + } elsif ($ARGV[0] eq '-l') { + if ($ARGV[1] =~ /^[^-]+/) { + $release_lib_files = $ARGV[1]; shift; + } else { + print STDERR "$0: must provide argument for -l option\n"; + die "$usage$long_usage"; + } + } elsif ($ARGV[0] eq '-u') { + $update_versions = 1; + } elsif ($ARGV[0] eq '-z') { + $create_zips = 0; + } elsif ($ARGV[0] eq '-?') { + print "$usage$long_usage"; + exit; + } else { + print STDERR "$0: unknown option $ARGV[0]\n"; + die "$usage$long_usage"; + } + shift; + +} + +die "$0: must specify a -k option\n" unless "$kit"; +my $KIT; +if ($kit eq 'ace') { + $KIT = 'ACE'; +} elsif ($kit eq 'tao') { + $KIT = 'TAO'; +} else { + #### Creating combined ACE+TAO kit. Don't use $KIT. +}; + +my $chmod = 'chmod'; +# All of them had gnu suffixes. Removed them.. +my $chgrp = 'chgrp'; +my $cpio = 'cpio'; +my $cvs = 'cvs'; +my $date = 'date'; +my $egrep = 'egrep'; +my $find = 'find'; +my $gzip = 'gzip'; +my $bzip2 = 'bzip2'; +my $make = 'make -s'; +my $mv = 'mv -f'; +my $rm = 'rm -f'; +my $md5sum = 'md5sum'; +chop (my $now = `$date +"%a %b %d %T %Y"`); + +unless ("$controlled_files") { + chomp ($controlled_files = `$make show_controlled_files`); +} + +unless ("$release_files") { + chomp ($release_files = `$make show_release_files`); +} + +unless ("$release_lib_files") { + chomp ($release_lib_files = `$make show_release_lib_files`); +} + +unless ("$release_tag_files") { + chomp ($release_tag_files = `$make show_release_tag_files`); +} + +######## +######## Setup signal handlers. +######## +my $status = 1; #### Must get set to 0 explicitly to indicate success. +$SIG{'HUP'} = $SIG{'INT'} = $SIG{'QUIT'} = $SIG{'TERM'} = 'cleanup'; + + +######## +######## Defend against fascist umasks. +######## +umask 022; + + +my $major_version = my $minor_version = my $beta_version = 0; +my $previous_version = my $version = ''; +my $ace_version = ''; + +######## +######## Main execution thread. +######## +if ($update_versions && "$kit" ne 'ace+tao') { + #### Update versions and tag, but don't create the kit. + + $status = + &check_workspace () || + &get_versions () || + &update_version_files () || + &update_changelog () || + &tag (); +} else { + #### Create the kit. + + #### If a tag was specified, export using the tag from a staging area. + #### If not, create a kit from the current directory. + my $stage_dir = '..'; + if ("$ace_tag" || "$tao_tag") { + $stage_dir = "/tmp/ACE_wrappers_stage-$$/"; + unless ("$exec_prefix") { + mkdir "$stage_dir", 0755 || + die "$0: unable to mkdir $stage_dir\n"; + } + } + + if ("$exec_prefix") { + print "chdir $stage_dir\n"; + } else { + chdir $stage_dir || die "$0: unable to chdir $stage_dir\n"; + } + + if ("$ace_tag") { + &ex ("$cvs -q export -r$ace_tag -kv ACE_wrappers > /dev/null") && + die "$0: failed cvs export of $ace_tag in $stage_dir\n"; + unless ("$exec_prefix") { + mkdir "ACE_wrappers/man", 0755 || + die "$0: unable to mkdir $stage_dir/ACE_wrappers/man\n"; + mkdir "ACE_wrappers/man/man3", 0755 || + die "$0: unable to mkdir $stage_dir/ACE_wrappers/man/man3\n"; + } + if ($generate_man_pages) { + &ex ("cd ACE_wrappers && bin/generate_doxygen.pl -is_release -exclude_tao -perl_path $perl_path -dot_path $dot_path") + && die "$0: failed to generate ACE man pages in $stage_dir\n"; + +## DONT generate the windex database on Linux. Things get screwed. +## &ex ("cd ACE_wrappers/man && catman -w -M .") +## && die "$0: failed to generate man page index in $stage_dir\n"; + } + &ex ("cd ACE_wrappers && $make ACE-INSTALL") && + die "$0: failed make ACE-INSTALL in $stage_dir/ACE_wrappers\n"; + } + + if ("$tao_tag") { + &ex ("$cvs -q export -r$tao_tag -kv ACE_wrappers/TAO > /dev/null") && + die "$0: failed cvs export of $tao_tag in $stage_dir\n"; + &ex ("cd ACE_wrappers/TAO && $make INSTALL orbsvcs/README") && + die "$0: failed make INSTALL TAO/orbsvcs/README in " . + "$stage_dir/ACE_wrappers/TAO\n"; + + if ($generate_man_pages) { + &ex ("cd ACE_wrappers && bin/generate_doxygen.pl -is_release -exclude_ace -perl_path $perl_path -dot_path $dot_path") + && die "$0: failed to generate TAO man pages in $stage_dir\n"; + } + } + + $status = &create_kit (); + + if (! $status && $install) { + if ("$ace_tag") { + my $major_v = 0; + my $minor_v = 0; + my $beta_v = 0; + if ($ace_tag =~ /(\d+)_(\d+)_(\d+)/o) { + my $major_v = $1; + my $minor_v = $2; + my $beta_v = $3; + + ## There is a small problem here and was reported by Don + ## Hinton<don@gmx.net> . The problem is that + ## $previous_version = "$major_v.$minor_v.$previous_beta"; + ## // and hence if $previous_beta == 0 then the current beta + ## == 1 and so $previous_version == "X.Y.0" + ## &diff ('ACE_wrappers', "ACE-$previous_version", "$ace_tag"); + ## // so "ACE-$previous_version" == "ACE-X.Y.0" + ## Which gets sent to cvs as "ACE-X_Y_0" but since the real + ## tag is "ACE-X_Y", rdiff doesn't find anything. This problem + ## needs fixing. Will fix this when we get time. + + #### $previous_version is used by diff (). + if ($beta_v > 0) { + my $previous_beta = $beta_v - 1; + $previous_version = "$major_v.$minor_v.$previous_beta"; + + &diff ('ACE_wrappers', "ACE-$previous_version", "$ace_tag"); + } + } + } + + if ("$tao_tag") { + my $major_v = 0; + my $minor_v = 0; + my $beta_v = 0; + if ($tao_tag =~ /(\d+)_(\d+)_(\d+)/o) { + my $major_v = $1; + my $minor_v = $2; + my $beta_v = $3; + + #### $previous_version is used by diff (). + if ($beta_v > 0) { + my $previous_beta = $beta_v - 1; + $previous_version = "$major_v.$minor_v.$previous_beta"; + + &diff ('ACE_wrappers/TAO', "TAO-$previous_version", "$tao_tag"); + } + } + } + } + + if ("$ace_tag" || "$tao_tag") { + if ($install) { + chdir ".."; + &ex ("$rm -r $stage_dir") && + warn "$0: failed to remove $stage_dir\n"; + } else { + warn "$0: kits are in $stage_dir\n"; + } + } +} +&cleanup; + + +######## +######## Clean up when done or on signal. +######## +sub cleanup { + exit $status; +} + + +######## +######## Check that the workspace is up-to-date, if releasing from +######## the official release directory. +######## +sub check_workspace () { + my $module; + + if ($kit =~ /^ace/) { + chdir '..' || die "$0: unable to chdir ..\n"; + $module = 'ACE_wrappers'; + } elsif ($kit =~ /tao/) { + chdir '../..' || die "$0: unable to chdir ../..\n"; + $module = 'ACE_wrappers/TAO'; + } + + my @out_of_date = (); + open (CVS, "$cvs -nq checkout -P $module 2>&1 |") || + die "$0: unable to open $cvs\n"; + while (<CVS>) { + next if m%^U %; #### Allow others to update the repository. + next if m%^cvs checkout: New directory `.*' -- ignored$%; #### empty dirs. + + push (@out_of_date, $_) if "$_"; + } + close CVS; + + if ($kit =~ /^ace/) { + chdir 'ACE_wrappers' || die "$0: unable to chdir ACE_wrappers\n"; + } elsif ($kit =~ /tao/) { + chdir 'ACE_wrappers/TAO' || die "$0: unable to chdir ACE_wrappers/TAO\n"; + } + + if (@out_of_date) { + warn "ERROR: workspace must be updated (with cvs -q up -d) or " . + "cleaned:\n " . + join ("\n ", @out_of_date) . "\n"; + return 1; + } + + 0; +} + + +######## +######## Retrieve version information from VERSION file(s). +######## +sub get_versions () { + open (VERSION, '< VERSION') || + die "$0: unable to open VERSION\n"; + while (<VERSION>) { + if (/$KIT version (\d+)\.(\d+)\.(\d+)/o) { + $major_version = $1; + $minor_version = $2; + $beta_version = $3; + last; + } elsif (/$KIT version (\d+)\.(\d+)[^\.]/o) { + #### Previous release was a minor. + $major_version = $1; + $minor_version = $2; + last; + } elsif (/$KIT version (\d+)[^\.]/o) { + #### Previous release was a major. + $major_version = $1; + last; + } + } + close VERSION; + + if ($release_type eq 'beta') { + ++$beta_version; + $version = "$major_version.$minor_version.$beta_version"; + } elsif ($release_type eq 'minor' ) { + $beta_version = 0; + ++$minor_version; + $version = "$major_version.$minor_version"; + } elsif ($release_type eq 'major' ) { + $minor_version = $beta_version = 0; + ++$major_version; + $version = "$major_version.$minor_version"; + } + + print "new $KIT version: $version\n"; + + if ($kit =~ /tao/) { + my $ace_major_version = my $ace_minor_version = my $ace_beta_version = 0; + open (ACE_VERSION, '< ../VERSION') || + die "$0: unable to open ../VERSION\n"; + while (<ACE_VERSION>) { + if (/ACE version (\d+)\.(\d+)\.(\d+)/o) { + $ace_major_version = $1; + $ace_minor_version = $2; + $ace_beta_version = $3; + last; + } elsif (/ACE version (\d+)\.(\d+)[^\.]/o) { + #### ACE release was a minor. + $ace_major_version = $1; + $ace_minor_version = $2; + last; + } elsif (/ACE version (\d+)[^\.]/o) { + #### ACE release was a major. + $ace_major_version = $1; + last; + } + } + close ACE_VERSION; + + if ($ace_beta_version == 0) { + $ace_version = "$ace_major_version.$ace_minor_version"; + } else { + $ace_version = "$ace_major_version.$ace_minor_version.$ace_beta_version"; + } + } + + 0; +} + + +######## +######## Update VERSION file(s). +######## +sub update_version_files () { + &ex ("perl -pi -e " . + "'s/$KIT version .*/$KIT version $version, released $now./' VERSION"); + return 1 if $? >> 8; + + &ex ("perl -pi -e 's/$KIT VERSION:.*/$KIT VERSION: $version/' " . + "PROBLEM-REPORT-FORM"); + return 1 if $? >> 8; + + if ($kit =~ /^tao/) { + &ex ("perl -pi -e 's/ACE VERSION:.*/ACE VERSION: $ace_version/' " . + "PROBLEM-REPORT-FORM"); + return 1 if $? >> 8; + + if ("$exec_prefix") { + print "TAO version ${major_version}.${minor_version}.${beta_version}\n"; + } else { + open (TAO_VERSION_H, "> tao/Version.h") || + die "$0: unable to open tao/Version.h\n"; + + print TAO_VERSION_H + "// \$Id\$\n" . + "// This is an automatically generated file.\n\n" . + "\#define TAO_MAJOR_VERSION ${major_version}\n" . + "\#define TAO_MINOR_VERSION ${minor_version}\n" . + "\#define TAO_BETA_VERSION ${beta_version}\n" . + "\#define TAO_VERSION \"${version}\"\n"; + + close TAO_VERSION_H; + } + } + + if ($kit =~ /^ace/) { + if ("$exec_prefix") { + print "ACE version ${major_version}.${minor_version}.${beta_version}\n"; + } else { + + open (ACE_VERSION_H, "> ace/Version.h") || + die "$0: unable to open ace/Version.h\n"; + + print ACE_VERSION_H + "// \$Id\$\n" . + "// This is an automatically generated file.\n\n" . + "\#define ACE_MAJOR_VERSION ${major_version}\n" . + "\#define ACE_MINOR_VERSION ${minor_version}\n" . + "\#define ACE_BETA_VERSION ${beta_version}\n" . + "\#define ACE_VERSION \"${version}\"\n"; + + close ACE_VERSION_H; + } + } + + 0; +} + + +######## +######## Add ChangeLog entries, and make sure that they have proper +######## permissions. +######## +sub update_changelog () { + my $logname = $ENV{'LOGNAME'}; + if (! "$logname") { + chop ($logname = `/usr/ucb/whoami`); + } + my $signature = $ENV{'SIGNATURE'} || $logname; + my $message = "$now $signature <$logname\@cs.wustl.edu>\n\n" . + " * $KIT version $version released.\n\n"; + + if ("$exec_prefix") { + print "Adding to ChangeLog: \n", $message, "\n"; + return 0; + } + open (NEW_CHANGELOG, ">ChangeLog.bak") + || return 1; + open (CHANGELOG, "ChangeLog") + || return 1; + print NEW_CHANGELOG $message; + while (<CHANGELOG>) { + print NEW_CHANGELOG $_; + } + close (CHANGELOG) + || return 1; + close (NEW_CHANGELOG) + || return 1; + rename "ChangeLog.bak", "ChangeLog" + || return 1; + + my $version_h = $kit =~ /^ace/ ? 'ace/Version.h' : 'tao/Version.h'; + + &ex ("$cvs commit -m'$version' " . + "VERSION PROBLEM-REPORT-FORM ChangeLog $version_h && " . + "chmod 0644 VERSION PROBLEM-REPORT-FORM ChangeLog $version_h; " . + "chgrp doc VERSION PROBLEM-REPORT-FORM ChangeLog $version_h"); + return 1 if $? >> 8; + + 0; +} + + +######## +######## Tag the release. +######## +sub tag () { + my $tag = "$KIT-$version"; + #### cvs tag does not allow dots. + $tag =~ tr/./_/; + + print "start tagging $tag\n"; + if ($KIT eq "TAO") { + chdir ".."; + } + &ex ("$cvs -q tag $tag $controlled_files $release_tag_files > /dev/null"); + if ($KIT eq "TAO") { + chdir "TAO"; + } + return 1 if $? >> 8; + print "finished tagging $tag\n"; + + 0; +} + + +######## +######## If building a beta, create a diff from the previous version. +######## +sub diff () { + my ($module, $previous_tag, $tag) = @_; + + if ("$previous_version") { + #### Only create a diff for a beta version. + + #### cvs tag does not allow dots. + $previous_tag =~ tr/./_/; + $tag =~ tr/./_/; + + &ex ("nice -15 $cvs -q rdiff -u -r $previous_tag -r $tag " . + "$module 2>/dev/null | " . + "nice -15 sed 's%ACE_wrappers-repository/%ACE_wrappers/%g' | " . + "nice -15 $gzip -9 > $diffs_dir/$previous_tag-$tag.diff.gz") + if -d "$diffs_dir"; + } + + #### Ignore return value. No promises on diffs. + 0; +} + + +######## +######## Create the tar file(s) and move to their proper location. +######## +sub create_kit () { + + #### Create kits with group write permission. + umask 002; + + my $dest = $install ? "$export_dir" : 'created'; + my $dispose = $install ? "$mv" : 'echo'; + my $checksum = $install ? "$md5sum" : 'echo'; + my $cksum_ext = 'md5'; + my $redirect = $install ? '>' : '\>'; + my $shell_cd = $install ? 'cd' : 'echo cd'; + + # These files don't get LF->CRLF conversions done when making the zip. + my $bin_files = + "\"\\.dsp|\\.dsw|\\.mak|\\.mdp|\\.ide|\\.exe\|\\.ico\|\\.gz\|\\.zip\|" . + "\\.gif\""; + + my $build_command; + my $archives; + + ##### @@ DISABLED UNTIL READY FOR GENERAL USE -- Ossama + ## Temporary ACE+autoconf hack to bootstrap autoconf support into + ## ACE distribution. + #&ex("cd ACE_wrappers && bin/bootstrap"); + + if ($kit eq 'ace' || $kit eq 'ace+tao') { + if ($create_zips) { + $build_command = + "$rm ACE.zip ACE-lib.zip; " . + "$find $release_files $release_filter | $egrep $bin_files | " . + "zip ACE.zip -q9@ &&" . + "$find $release_files $release_filter | $egrep -v $bin_files | " . + "zip ACE.zip -qlg9@ &&" . + "$find $release_lib_files $release_filter | $egrep $bin_files | " . + "zip ACE-lib.zip -q9@ &&" . + "$find $release_lib_files $release_filter | $egrep -v $bin_files | " . + "zip ACE-lib.zip -qlg9@ &&" . + "$find $release_files $release_filter | $cpio -o -H tar | " . + "$gzip -9 > ACE.tar.gz && " . + "$find $release_files $release_filter | $cpio -o -H tar | " . + "$bzip2 > ACE.tar.bz2 && " . + "$find $release_lib_files $release_filter | $cpio -o -H tar | " . + "$gzip -9 > ACE-lib.tar.gz && " . + "$find $release_lib_files $release_filter | $cpio -o -H tar | " . + "$bzip2 > ACE-lib.tar.bz2 && " . + "$find ACE_wrappers/html $release_filter | $cpio -o -H tar | " . + "$gzip -9 > ACE-html.tar.gz && ". + "$find ACE_wrappers/html $release_filter | $cpio -o -H tar | " . + "$bzip2 -9 > ACE-html.tar.bz2 && ". + "$find ACE_wrappers/html $release_filter | $egrep $bin_files | " . + "zip ACE-html.zip -q9@ &&" . + "$find ACE_wrappers/html $release_filter | $egrep -v $bin_files | " . + "zip ACE-html.zip -qlg9@ &&" . + "$chmod 664 ACE.tar.gz ACE-lib.tar.gz ACE.tar.bz2 ACE-lib.tar.bz2 ". + "ACE.zip ACE-lib.zip ACE-html.zip && " . + "$chgrp doc ACE.tar.gz ACE-lib.tar.gz ACE.tar.bz2 ACE-lib.tar.bz2 ". + "ACE.zip ACE-lib.zip ACE-html.zip && " . + "$dispose ACE.zip ACE-lib.zip ACE-html.zip $dest && " . + "$dispose ACE.tar.gz ACE-lib.tar.gz ACE-html.tar.gz ACE.tar.bz2 ACE-lib.tar.bz2 ACE-html.tar.bz2 $dest; "; + $archives = " ACE.tar.gz ACE-lib.tar.gz ACE-html.tar.gz ". + "ACE.zip ACE-lib.zip ACE-html.zip ACE.tar.bz2 ACE-lib.tar.bz2 ACE-html.tar.bz2 "; + } else { + $build_command = + "$find $release_files $release_filter | $cpio -o -H tar | " . + "$gzip -9 > ACE.tar.gz && " . + "$find $release_lib_files $release_filter | $cpio -o -H tar | " . + "$gzip -9 > ACE-lib.tar.gz && " . + "$find ACE_wrappers/html $release_filter | $cpio -o -H tar | " . + "$gzip -9 > ACE-html.tar.gz && ". + "$chmod 664 ACE.tar.gz ACE-lib.tar.gz ACE-html.tar.gz && " . + "$chgrp doc ACE.tar.gz ACE-lib.tar.gz ACE-html.tar.gz && " . + "$dispose ACE.tar.gz ACE-lib.tar.gz ACE-html.tar.gz $dest; "; + $archives = " ACE.tar.gz ACE-lib.tar.gz TAO-html.tar.gz "; + } + } + + if ($kit eq 'ace+tao') { + $release_files .= ' ACE_wrappers/TAO'; + + if ($create_zips) { + $build_command .= + "$rm ACE+TAO.zip; " . + "$find $release_files $release_filter | $egrep $bin_files | " . + "zip ACE+TAO.zip -q9@ &&" . + "$find $release_files $release_filter | $egrep -v $bin_files | " . + "zip ACE+TAO.zip -qlg9@ &&" . + "$find $release_files $release_filter | $cpio -o -H tar | " . + "$gzip -9 > ACE+TAO.tar.gz && " . + "$find $release_files $release_filter | $cpio -o -H tar | " . + "$bzip2 > ACE+TAO.tar.bz2 && " . + "$chmod 664 ACE+TAO.tar.gz ACE+TAO.zip ACE+TAO.tar.bz2 && " . + "$chgrp doc ACE+TAO.tar.gz ACE+TAO.zip ACE+TAO.tar.bz2 && " . + "$dispose ACE+TAO.tar.gz ACE+TAO.zip ACE+TAO.tar.bz2 $dest"; + $archives .= " ACE+TAO.tar.gz ACE+TAO.zip ACE+TAO.tar.bz2 "; + } else { + $build_command .= + "$find $release_files $release_filter | $cpio -o -H tar | " . + "$gzip -9 > ACE+TAO.tar.gz && " . + "$find $release_files $release_filter | $cpio -o -H tar | " . + "$bzip2 > ACE+TAO.tar.bz2 && " . + "$chmod 664 ACE+TAO.tar.gz && " . + "$chmod 664 ACE+TAO.tar.bz2 && " . + "$chgrp doc ACE+TAO.tar.gz && " . + "$chgrp doc ACE+TAO.tar.bz2 && " . + "$dispose ACE+TAO.tar.gz $dest"; + "$dispose ACE+TAO.tar.bz2 $dest"; + $archives .= " ACE+TAO.tar.gz ACE+TAO.tar.bz2 "; + } + } + + # The "$dest/\$p" is going to look a bit funny if the release isn't + # being installed in the FTP directory since it will expand to + # `created/ACE.tar.gz', for example. No big deal, I guess. + my $checksum_command = + "$shell_cd $dest; " . + "for p in $archives; do " . + "$rm \${p}.${cksum_ext}; " . + "$checksum \$p $redirect \${p}.${cksum_ext}; " . + "done"; + + &ex ($build_command); + &ex ($checksum_command); +} + + +######## +######## Execute a command, unless -n had been specified. Return value +######## of 0 indicates success. +######## +sub ex () +{ + my ($command) = @_; + + if ("$exec_prefix") { + print $command . "\n"; + 0; + } else { + system ("$command"); + } +} + +######## +######## Verify that a command can be executed, return 1 on sucess +######## +sub can_run { + my $command = shift; + + open (RUN, "$command 2>&1 |") + || return 0; + while (<RUN>) {} + close(RUN) + || return 0; + return 1; +} diff --git a/bin/msvc_auto_compile.pl b/bin/msvc_auto_compile.pl new file mode 100755 index 00000000000..8955ae1c2b3 --- /dev/null +++ b/bin/msvc_auto_compile.pl @@ -0,0 +1,353 @@ +# $Id$ +# Win32 auto_compile script. + +use File::Find; +use Cwd; + +if (!$ENV{ACE_ROOT}) { + $ACE_ROOT = getcwd ()."\\"; + warn "ACE_ROOT not defined, defaulting to ACE_ROOT=$ACE_ROOT"; +} +else { + $ACE_ROOT = $ENV{ACE_ROOT}; +} + +@directories = (); + +@ace_dirs = ("$ACE_ROOT\\ace", + "$ACE_ROOT\\XML\\common", + "$ACE_ROOT\\XML\\parser", + "$ACE_ROOT\\XML\\tests", + "$ACE_ROOT\\XML\\examples", + "$ACE_ROOT\\apps", + "$ACE_ROOT\\ASNMP", + "$ACE_ROOT\\examples", + "$ACE_ROOT\\netsvcs", + "$ACE_ROOT\\performance-tests", + "$ACE_ROOT\\tests", + "$ACE_ROOT\\websvcs"); + +$debug = 0; +$verbose = 0; +$print_status = 0; +$Ignore_errors = 0; # By default, bail out if an error occurs. +$Build_DLL = 0; +$Build_LIB = 0; +$Build_Debug = 0; +$Build_Release = 0; +$Build_All = 1; +$build_core_only = 0; +$Build_Cmd = "/BUILD"; +$use_custom_dir = 0; +$useenv = ''; + +# Find_dsp will search a directory for *.dsp files and return a list +# of strings that include the project name and the configuration +sub Find_dsp (@) +{ + my (@dir) = @_; + @array = (); + my @config_array = (); + + # wanted is only used for the File::Find + sub wanted + { + $array[++$#array] = $File::Find::name if ($File::Find::name =~ /\.dsp$/i); + } + + # get_config grabs the configurations out of a dsp file. + sub get_config ($) + { + my ($file) = @_; + my @configs = (); + + print "Looking at $file\n" if ($verbose); + + open (DSP, "< $file") || die $!; + + while (<DSP>) + { + push @configs, $1 if (/# Name \"([^\"]+)\"/); + } + + close (DSP); + return @configs; + } + + unshift @dir, (\&wanted); + + find @dir; + + for ($i = 0; $i <= $#array; ++$i) { + my $filename = "$array[$i]"; + + $filename =~ s@/./@/@g; + $filename =~ s@/@\\@g; + my @dsp_configs = get_config ($array[$i]); + + for ($j = 0; $j <= $#dsp_configs; ++$j) { + push @config_array, "$filename--$dsp_configs[$j]"; + } + } + + return @config_array; +} + + +# Build_Config takes in a string of the type "project--configuration" and +# runs msdev to build it. +sub Build_Config ($) +{ + my ($arg) = @_; + my ($project, $config) = split /--/, $arg; + + return Build ($project, $config); +} + +# Build +sub Build ($$) +{ + my ($project, $config) = @_; + + if ($debug == 1) { + print "$project\n"; + return 0; + } + else { + print "Auto_compiling $project : $config\n"; + + print "Building $project $config\n" if $verbose; + + return system ("msdev.com $project /MAKE \"$config\" $Build_Cmd $useenv"); + } +} + +# Only builds the core libraries. +sub Build_Core () +{ + print STDERR "Building Core of ACE/TAO\n" if ($print_status == 1); + print "Building Core of ACE/TAO\n" if ($verbose == 1); + + print "Build \n" if ($verbose); + print "Debug " if ($verbose) && ($Build_Debug); + print "Release " if ($verbose) && ($Build_Release); + print "DLL " if ($verbose) && ($Build_DLL); + print "LIB " if ($verbose) && ($Build_LIB); + print "\n" if ($verbose); + + my @core_list = (); + + if ($Build_DLL) { + @core_list = ($ACE_ROOT."\\TAO\\TAOACE.dsw"); + + foreach $c (@core_list) { + if ($Build_Debug) { + $Status = Build ($c, "ALL - Win32 Debug"); + return if $Status != 0 && !$Ignore_errors; + } + if ($Build_Release) { + $Status = Build ($c, "ALL - Win32 Release"); + return if $Status != 0 && !$Ignore_errors; + } + } + } + if ($Build_LIB) { + @core_list = ($ACE_ROOT."\\ace\\ace_lib.dsp", + $ACE_ROOT."\\apps\\gperf\\src\\gperf.dsp", + $ACE_ROOT."\\TAO\\TAO_IDL\\TAO_IDL_BE_LIB.dsp", + $ACE_ROOT."\\TAO\\TAO_IDL\\TAO_IDL_FE_LIB.dsp", + $ACE_ROOT."\\TAO\\TAO_IDL\\tao_idl_static.dsp", + $ACE_ROOT."\\TAO\\tao\\TAO_Static.dsp", + $ACE_ROOT."\\TAO\\tao\\PortableServer\\TAO_PortableServer_Static.dsp", + $ACE_ROOT."\\TAO\\tao\\DynamicAny\\TAO_DynamicAny_Static.dsp", + $ACE_ROOT."\\TAO\\tao\\IORManipulation\\TAO_IORManip_Static.dsp", + $ACE_ROOT."\\TAO\\tao\\IORTable\\TAO_IORTable_Static.dsp", + $ACE_ROOT."\\TAO\\tao\\Strategies\\TAO_Strategies_Static.dsp", + $ACE_ROOT."\\TAO\\tao\\RTCORBA\\TAO_RTCORBA_Static.dsp", + $ACE_ROOT."\\TAO\\tao\\RTPortableServer\\TAO_RTPortableServer_Static.dsp", + $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\Svc_Utils_Static.dsp", + $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosNaming_Static.dsp", + $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosProperty_Static.dsp", + $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosTrading_Static.dsp", + $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\AV_Static.dsp", + $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\RTEvent_Static.dsp", + $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\RTSched_Static.dsp", + $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\RTSchedEvent_Static.dsp", + $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\RTOLDEvent_Static.dsp", + $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosEvent_Static.dsp", + $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosConcurrency_Static.dsp", + $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosLifeCycle_Static.dsp", + $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosTime_Static.dsp", + $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\DsLogAdmin_Static.dsp", + $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\CosNotification_Static.dsp", + $ACE_ROOT."\\TAO\\orbsvcs\\orbsvcs\\LoadBalancing_Static.dsp", + $ACE_ROOT."\\TAO\\orbsvcs\\Naming_Service\\Naming_Server_static.dsp"); + + foreach $c (@core_list) { + if ($Build_Debug) { + $Status = Build ($c, "ALL - Win32 Static Debug"); + return if $Status != 0 && !$Ignore_errors; + } + if ($Build_Release) { + $Status = Build ($c, "ALL - Win32 Static Release"); + return if $Status != 0 && !$Ignore_errors; + } + } + } +} + +sub Build_All () +{ + my @configurations = Find_dsp (@directories); + + print STDERR "First pass (libraries)\n" if ($print_status == 1); + print "\nmsvc_auto_compile: First Pass (libraries)\n"; + + foreach $c (@configurations) { + if ($Build_All + || ($Build_DLL && $Build_Debug && $c =~ /Win32 Debug/) + || ($Build_DLL && $Build_Release && $c =~ /Win32 Release/) + || ($Build_LIB && $Build_Debug && $c =~ /Win32 Static Debug/) + || ($Build_LIB && $Build_Release && $c =~ /Win32 Static Release/)) + { + my $Status = 0; + $Status = Build_Config ($c) + if (($c =~ /Library/) || ($c =~ / DLL /) || ($c =~ / LIB /)); + return if ($Status != 0 && !$Ignore_errors); + } + } + + + print STDERR "Second pass \n" if ($print_status == 1); + print "\nmsvc_auto_compile: Second Pass\n"; + + $count = 0; + foreach $c (@configurations) { + print STDERR "Configuration ".$count++." of ".$#configurations."\n" if ($print_status == 1); + Build_Config ($c) + if (($Build_DLL && $Build_Debug && $c =~ /Win32 Debug/) + || ($Build_DLL && $Build_Release && $c =~ /Win32 Release/) + || ($Build_LIB && $Build_Debug && $c =~ /Win32 Static Debug/) + || ($Build_LIB && $Build_Release && $c =~ /Win32 Static Release/)); + } +} + + +## Parse command line argument +while ( $#ARGV >= 0 && $ARGV[0] =~ /^(-|\/)/ ) +{ + if ($ARGV[0] =~ '-k') { # Ignore errors + print "Ignore errors\n" if ( $verbose ); + $Ignore_errors = 1; + } + elsif ($ARGV[0] =~ /^-d$/i) { # debug + $debug = 1; + } + elsif ($ARGV[0] =~ '-v') { # verbose mode + $verbose = 1; + } + elsif ($ARGV[0] =~ '-s') { # status messages + $print_status = 1; + } + elsif ($ARGV[0] =~ '-u') { # USEENV + print "Using Environment\n" if ($verbose); + $useenv = '/USEENV'; + } + elsif ($ARGV[0] =~ '-CORE') { # Build the core of ace/tao + print "Building only Core\n" if ( $verbose ); + $build_core_only = 1; + } + elsif ($ARGV[0] =~ '-ACE') { # Build ACE and its programs + print "Building ACE\n" if ( $verbose ); + $use_custom_dir = 1; + push @directories, @ace_dirs; + } + elsif ($ARGV[0] =~ '-TAO') { # Build TAO and its programs + print "Building TAO\n" if ( $verbose ); + $use_custom_dir = 1; + push @directories, ("$ACE_ROOT\\TAO"); + } + elsif ($ARGV[0] =~ '-dir') { # Compile only a specific directory + shift; + print "Adding directory $ARGV[0]\n" if ( $verbose ); + $use_custom_dir = 1; + push @directories, $ARGV[0]; + } + elsif ($ARGV[0] =~ '-rebuild') { # Rebuild all + print "Rebuild all\n" if ( $verbose ); + $Build_Cmd = "/REBUILD"; + } + elsif ($ARGV[0] =~ '-clean') { # Clean + print "Cleaning all\n" if ( $verbose ); + $Build_Cmd = "/CLEAN"; + } + elsif ($ARGV[0] =~ '-Debug') { # Debug versions + print "Building Debug Version\n" if ( $verbose ); + $Build_Debug = 1; + $Build_All = 0; + } + elsif ($ARGV[0] =~ '-Release') { # Release versions + print "Building Release Version\n" if ( $verbose ); + $Build_Release = 1; + $Build_All = 0; + } + elsif ($ARGV[0] =~ '-DLL') { # Build DLL only + print "Build DLL only\n" if ( $verbose ); + $Build_DLL = 1; + $Build_All = 0; + } + elsif ($ARGV[0] =~ '-LIB') { # Build LIB only + print "Build LIB only\n" if ( $verbose ); + $Build_LIB = 1; + $Build_All = 0; + } + elsif ($ARGV[0] =~ '-(\?|h)') { # Help information + print "Options\n"; + print "-d = Debug (only print out projects)\n"; + print "-k = Ignore Errors\n"; + print "-v = Script verbose Mode\n"; + print "-s = Print status messages to STDERR\n"; + print "-u = Tell MSVC to use the environment\n"; + print "\n"; + print "-CORE = Build the Core libraries\n"; + print "-ACE = Build ACE and its programs\n"; + print "-TAO = Build TAO and its programs\n"; + print "-dir <dir> = Compile custom directories\n"; + print "\n"; + print "-rebuild = Rebuild All\n"; + print "-clean = Clean\n"; + print "-Debug = Compile Debug versions\n"; + print "-Release = Compile Release versions\n"; + print "-DLL = Comple DLL Configurations\n"; + print "-LIB = Comple LIB Configurations\n"; + exit; + } + else { + warn "$0: unknown option $ARGV[0]\n"; + die -1; + } + shift; +} + +if (!$Build_DLL && !$Build_LIB) { + $Build_DLL = 1; + $Build_LIB = 1; +} + +if (!$Build_Debug && !$Build_Release) { + $Build_Debug = 1; + $Build_Release = 1; +} + +if ($#directories < 0) { + @directories = ($ACE_ROOT); +} + +print "msvc_auto_compile: Begin\n"; +print STDERR "Beginning Core Build\n" if ($print_status == 1); +Build_Core if (!$use_custom_dir || $build_core_only); +print STDERR "Beginning Full Build\n" if ($print_status == 1); +Build_All if !$build_core_only; + +print "msvc_auto_compile: End\n"; +print STDERR "End\n" if ($print_status == 1); diff --git a/bin/nightlybuilds/builds.lst b/bin/nightlybuilds/builds.lst new file mode 100644 index 00000000000..e8fbeb98c0a --- /dev/null +++ b/bin/nightlybuilds/builds.lst @@ -0,0 +1,236 @@ +# +# $Id$ +# +# This is a listing of the web directories and the builds contained in +# them. +# +# Each entry starts with the name in brackets such as [build_name]. +# The name cannot contain spaces. +# +# Then several properties that can be used: +# +# LIST = URL for the directory of build logs (required) +# WEB = Link to a build specific page for the builds +# STATUS = URL to a page that contains build status info +# GROUP = Name of the group that the build belongs in +# MANUAL = URL to someplace that can start the build +# ORANGE = Number of hours until timestamp turns orange (default: 24) +# RED = Number of hours until timestamp turns red (default: 48) +# + +[Win2000_DLL_Core] +LIST = http://tao.doc.wustl.edu/bugzilla/Core/ +WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?core +STATUS = http://tao.doc.wustl.edu/bugzilla/core/status.txt + +[Win2000_DLL_Debug] +LIST = http://tao.doc.wustl.edu/bugzilla/DLL_Debug/ +WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?dll_debug +STATUS = http://tao.doc.wustl.edu/bugzilla/DLL_Debug/status.txt + +[Win2000_DLL_Release] +LIST = http://tao.doc.wustl.edu/bugzilla/DLL_Release/ +WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?dll_release +STATUS = http://tao.doc.wustl.edu/bugzilla/DLL_Release/status.txt + +[Win2000_Borland] +LIST = http://tao.doc.wustl.edu/bugzilla/Borland/ +WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?borland +STATUS = http://tao.doc.wustl.edu/bugzilla/Borland/status.txt + +[Win2000_Borland_Wchar] +LIST = http://tao.doc.wustl.edu/bugzilla/Borland_Wchar/ +WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?borland_wchar +STATUS = http://tao.doc.wustl.edu/bugzilla/Borland_Wchar/status.txt + +[Win2000_Fuzz] +LIST = http://tao.doc.wustl.edu/bugzilla/Fuzz/ +WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?fuzz +STATUS = http://tao.doc.wustl.edu/bugzilla/Fuzz/status.txt + +[Win2000_WChar_Unicode] +LIST = http://tao.doc.wustl.edu/bugzilla/Unicode/ +WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?unicode +STATUS = http://tao.doc.wustl.edu/bugzilla/Unicode/status.txt + +[Win2000_WChar] +LIST = http://tao.doc.wustl.edu/bugzilla/wchar/ +WEB = http://tao.doc.wustl.edu/bugzilla/cgi/show_log_dir.pl?wchar +STATUS = http://tao.doc.wustl.edu/bugzilla/wchar/status.txt + +[Win2000_LIB_Debug] +LIST = http://ringil.ece.uci.edu/bugzilla/lib_debug/ +WEB = http://ringil.ece.uci.edu/scripts/show_log_dir.pl?lib_debug +STATUS = http://ringil.ece.uci.edu/bugzilla/lib_debug/status.txt + +[Win2000_LIB_Release] +LIST = http://ringil.ece.uci.edu/bugzilla/lib_release/ +WEB = http://ringil.ece.uci.edu/scripts/show_log_dir.pl?lib_release +STATUS = http://ringil.ece.uci.edu/bugzilla/lib_release/status.txt + +[Win2000_Legacy] +LIST = http://ringil.ece.uci.edu/bugzilla/legacy/ +WEB = http://ringil.ece.uci.edu/scripts/show_log_dir.pl?legacy +STATUS = http://ringil.ece.uci.edu/bugzilla/legacy/status.txt + +[Win2000_Unicode] +LIST = http://ringil.ece.uci.edu/bugzilla/unicode/ +WEB = http://ringil.ece.uci.edu/scripts/show_log_dir.pl?unicode +STATUS = http://ringil.ece.uci.edu/bugzilla/unicode/status.txt + +[WinCE_All] +LIST = http://ringil.ece.uci.edu/bugzilla/wince/ +WEB = http://ringil.ece.uci.edu/scripts/show_log_dir.pl?wince +STATUS = http://ringil.ece.uci.edu/bugzilla/wince/status.txt + +[Debian_KCC] +LIST = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/doc_KCC/ +WEB = http://doc.ece.uci.edu/cgi-bin/show_log_dir.pl?doc_KCC +STATUS = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/doc_KCC/status.txt + +[Debian_Minimum] +LIST = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/balar_Minimum/ +WEB = http://doc.ece.uci.edu/cgi-bin/show_log_dir.pl?balar_Minimum +STATUS = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/balar_Minimum/status.txt + +[Debian_Full] +LIST = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/sirion_Full/ +WEB = http://doc.ece.uci.edu/cgi-bin/show_log_dir.pl?sirion_Full +STATUS = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/sirion_Full/status.txt + +[Debian_Core] +LIST = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/balar_Core/ +WEB = http://doc.ece.uci.edu/cgi-bin/show_log_dir.pl?balar_Core +STATUS = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/balar_Core/status.txt + +[Debian_WChar] +LIST = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/rumba_Unicode/ +WEB = http://doc.ece.uci.edu/cgi-bin/show_log_dir.pl?rumba_Unicode +STATUS = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/rumba_Unicode/status.txt + +[Debian_NoInline] +LIST = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/tango_NoInline/ +WEB = http://doc.ece.uci.edu/cgi-bin/show_log_dir.pl?tango_NoInline +STATUS = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/tango_NoInline/status.txt + +[Debian_GCC_3.0.3] +LIST = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/rumba_GCC_3.0/ +WEB = http://doc.ece.uci.edu/cgi-bin/show_log_dir.pl?rumba_GCC_3.0 +STATUS = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/rumba_GCC_3.0/status.txt + +[RedHat_Static] +LIST = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/maglor_Static/ +WEB = http://doc.ece.uci.edu/cgi-bin/show_log_dir.pl?maglor_Static +STATUS = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/maglor_Static/status.txt + +[RedHat_Single_Threaded] +LIST = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/curufin_SingleThreaded/ +WEB = http://doc.ece.uci.edu/cgi-bin/show_log_dir.pl?curufin_SingleThreaded +STATUS = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/curufin_SingleThreaded/status.txt + +[RedHat_Implicit_Templates] +LIST = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/amrod_ImplicitTemplates/ +WEB = http://doc.ece.uci.edu/cgi-bin/show_log_dir.pl?amrod_ImplicitTemplates +STATUS = http://doc.ece.uci.edu/~bugzilla/auto_compile_logs/amrod_ImplicitTemplates/status.txt + +[SunOS_FORTE_UP_1] +LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/ace_SUNOS_FORTE_UPDATE_1/ +WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?ace_SUNOS_FORTE_UPDATE_1 +STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/ace_SUNOS_FORTE_UPDATE_1/status.txt + +[SunOS_SunCC51] +LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/danzon_SUNOS_SUNCC51/ +WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?danzon_SUNOS_SUNCC51 +STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/danzon_SUNOS_SUNCC51/status.txt + +[SunOS_KCC] +LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/ace_SUNOS_KCC4.0/ +WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?ace_SUNOS_KCC4.0 +STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/ace_SUNOS_KCC4.0/status.txt + +[SunOS_GCC_2_95] +LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/tango_SUNOS_EGCS/ +WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?tango_SUNOS_EGCS +STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/tango_SUNOS_EGCS/status.txt + +[Tru64_CXX] +LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/guajira.cs.wustl.edu_TRU64_CXX/ +WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?guajira.cs.wustl.edu_TRU64_CXX +STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/guajira.cs.wustl.edu_TRU64_CXX/status.txt + +# Temporarily disabled +#[Tru64_4.0f_CXX_63] +#LIST = http://spe121.mro-x.dec.com/~buildlog/auto_compile_logs/spe121.mro-x.dec.com_Tru64_CXX/ +#WEB = http://spe121.mro-x.dec.com/cgi-bin/show_log_dir.cgi?spe121_Tru64_CXX +#GROUP = External + +# Temporarily disabled +#[VxWorks_5.4_GCC] +#LIST = http://prince.ociweb.com/buildlogs/auto_compile_logs/maggie_VXWORKS_GCC/ +#WEB = http://prince.ociweb.com/buildlogs/show_log_dir.cgi?maggie_VXWORKS_GCC +#GROUP = External + +# Temporarily disabled +#[Chorus_4.0.1_GCC] +#LIST = http://prince.ociweb.com/buildlogs/auto_compile_logs/lisa_CHORUS_4_0_1_GCC/ +#WEB = http://prince.ociweb.com/buildlogs/show_log_dir.cgi?lisa_CHORUS_4_0_1_GCC +#GROUP = External + +# Temporarily disabled +#[HPUX_ACC] +#LIST = http://prince.ociweb.com/buildlogs/auto_compile_logs/herb_HPUX_ACC/ +#WEB = http://prince.ociweb.com/buildlogs/show_log_dir.cgi?herb_HPUX_ACC +#GROUP = External + +# Commented out for the timebeing +#[AIX_VAC] +#LIST = http://prince.ociweb.com/buildlogs/auto_compile_logs/tripoli_AIX_VAC/ +#WEB = http://prince.ociweb.com/buildlogs/show_log_dir.cgi?tripoli_AIX_VAC +#GROUP = External + +[Lynx_PPC] +LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/ace_LYNX_PPC/ +WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?ace_LYNX_PPC +STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/ace_LYNX_PPC/status.txt + +#[Lynx_I386] +#LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/danzon_LYNX_I386/ +#WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?danzon_LYNX_I386 +#STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/danzon_LYNX_I386/status.txt + +[RedHat_7.1_Full] +LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/beguine.doc.wustl.edu_Full/ +WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?beguine.doc.wustl.edu_Full +STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/beguine.doc.wustl.edu_Full/status.txt + +[RedHat_7.1_Core] +LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/beguine.doc.wustl.edu_Core/ +WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?beguine.doc.wustl.edu_Core +STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/beguine.doc.wustl.edu_Core/status.txt + +[RedHat_7.1_No_AMI_Messaging] +LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/beguine.doc.wustl.edu_NO_AMI_MESSAGING/ +WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?beguine.doc.wustl.edu_NO_AMI_MESSAGING +STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/beguine.doc.wustl.edu_NO_AMI_MESSAGING/status.txt + +[RedHat_IA64_Linux] +LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/toutatis_Full +WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?toutatis_Full +STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/toutatis_Full/status.txt + +[Debian_NoInterceptors] +LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/charanga_Full/ +WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?charanga_Full +STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/charanga_Full/status.txt + +[Debian_Minimum_Static] +LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/charanga_Minimum/ +WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?charanga_Minimum +STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/charanga_Minimum/status.txt + +[Solaris8_FORTE_UP_1] +LIST = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/chipper_SOLARIS8_FORTE_UPDATE1/ +WEB = http://ace.cs.wustl.edu/~bugzilla/cgi-bin/show_log_dir.cgi?chipper_SOLARIS8_FORTE_UPDATE1 +STATUS = http://ace.cs.wustl.edu/~bugzilla/auto_compile_logs/chipper_SOLARIS8_FORTE_UPDATE1/status.txt +ORANGE = 48 +RED = 72 diff --git a/bin/performance_stats.sh b/bin/performance_stats.sh new file mode 100755 index 00000000000..f5df21c0365 --- /dev/null +++ b/bin/performance_stats.sh @@ -0,0 +1,127 @@ +#!/bin/sh +# +# $Id$ +# + +if [ $# -lt 3 ]; then + echo "Usage: $0 <ACE_ROOT> <DEST> <DATE>" + exit 0 +fi + +ACE_ROOT=$1 +DEST=$2 +DATE=$3 + +COMMON_TESTS="AMI DII DSI Deferred Single_Threaded Thread_Per_Connection Thread_Pool" + +cd $DEST/source + +/bin/sync +sleep 10 +( + cd $ACE_ROOT/performance-tests/TCP; + ./run_test.pl +) >tcp_test.log 2>&1 + +if grep -q 'Client throughput: ' tcp_test.log; then + ( + echo -n $DATE " "; + awk '/^Client throughput:/ {print $3}' tcp_test.log + ) >> TCP.txt; +fi + +/bin/sync +sleep 10 +( + cd $ACE_ROOT/TAO/performance-tests/Latency/Single_Threaded; + ./default_configuration.pl > $DEST/source/Default.log 2>&1 +) +if grep -q 'Total throughput: ' Default.log; then + ( + echo -n $DATE " "; + awk '/^Total throughput:/ {print $3}' Default.log + ) >> Default.txt +fi + +for i in $COMMON_TESTS; do + /bin/sync + sleep 10 + ( + cd $ACE_ROOT/TAO/performance-tests/Latency/${i}; + ./run_test.pl > $DEST/source/${i}.log 2>&1 + ) + if grep -q 'Total throughput: ' ${i}.log; then + ( + echo -n $DATE " "; + awk '/^Total throughput:/ {print $3}' ${i}.log + ) >> ${i}.txt + fi +done + +for i in $COMMON_TESTS TCP Default; do + $ACE_ROOT/bin/generate_performance_chart.sh ${i}.txt ${i}.png "$i" + /bin/cp ${i}.png $DEST/images/${i}.png + /usr/bin/tac ${i}.txt > $DEST/data/${i}.txt + /usr/bin/tail -5 ${i}.txt > $DEST/data/LAST_${i}.txt +done + +gnuplot <<_EOF_ >/dev/null 2>&1 + set xdata time + set timefmt '%Y/%m/%d-%H:%M' + set xlabel 'Date (YYYYMMDD)' + set ylabel 'Throughput (Requests/Second)' + set yrange [0:] + set terminal png small color + set output "/dev/null" + plot 'DII.txt' using 1:2 title 'DII' w l + replot 'DSI.txt' using 1:2 title 'DSI' w l + replot 'Deferred.txt' using 1:2 title 'Deferred' w l + replot 'Single_Threaded.txt' using 1:2 title 'Single_Threaded' w l + replot 'Default.txt' using 1:2 title 'Single_Threaded (Defaults)' w l + replot 'Thread_Per_Connection.txt' using 1:2 title 'Thread_Per_Connection' w l + replot 'Thread_Pool.txt' using 1:2 title 'Thread_Pool' w l + replot 'TCP.txt' using 1:2 title 'TCP/IP' w l + set output "All.png" + replot + exit +_EOF_ + +gnuplot <<_EOF_ >/dev/null 2>&1 + set xdata time + set timefmt '%Y/%m/%d-%H:%M' + set xlabel 'Date (YYYYMMDD)' + set ylabel 'Throughput (Requests/Second)' + set yrange [0:10000] + set terminal png small color + set output "/dev/null" + plot 'DII.txt' using 1:2 title 'DII' w l + replot 'DSI.txt' using 1:2 title 'DSI' w l + replot 'Deferred.txt' using 1:2 title 'Deferred' w l + replot 'Single_Threaded.txt' using 1:2 title 'Single_Threaded' w l + replot 'Default.txt' using 1:2 title 'Single_Threaded (Defaults)' w l + replot 'Thread_Per_Connection.txt' using 1:2 title 'Thread_Per_Connection' w l + replot 'Thread_Pool.txt' using 1:2 title 'Thread_Pool' w l + set output "CORBA.png" + replot + exit +_EOF_ + +/bin/cp CORBA.png All.png $DEST/images/ + +( + cd $DEST/images + /bin/cp *.png thumbnails + for i in *.png; do + /usr/bin/X11/mogrify -geometry '25%' thumbnails/$i + done +) + +cd $DEST/data +/bin/uname -a > uname.txt +/usr/bin/gcc -v > gcc.txt 2>&1 +/lib/libc.so.6 | sed -e 's/</\</g' -e 's/>/\>/g' > libc.txt +cat /proc/cpuinfo > cpuinfo.txt +cat /proc/meminfo > meminfo.txt + +cat $ACE_ROOT/ace/config.h > config.h.txt +cat $ACE_ROOT/include/makeinclude/platform_macros.GNU > platform_macros.GNU.txt diff --git a/bin/subst_env.pl b/bin/subst_env.pl new file mode 100755 index 00000000000..845265a2412 --- /dev/null +++ b/bin/subst_env.pl @@ -0,0 +1,71 @@ +#!/usr/bin/perl +# +# $Id$ +# +# This script eases the transition from the CORBA::Environment& ACE_TRY_ENV +# declarations and method parameters to the ACE_ENV_ARG macros. +# It was used for converting TAO between versions 1.2.1 and 1.2.2. +# The converted output is written to stdout. +# Typical usage would be as follows: +# perl subst_env.pl file_with_acetryenv.cpp >file_with_taoenvarg.cpp +# +$last=""; +$envdecl = "CORBA(::|_)Environment *& *ACE_TRY_ENV"; +$default = " *= *TAO_default_environment"; +while (($l = <>)) { + if ($l =~ /ACE_TRY_ENV/) { + if ($l =~ /$envdecl/) { + if ($l =~ /^\s*$envdecl/) { + my $single = "SINGLE_"; + if ($last =~ /,\s*$/) { + $last =~ s/,\s*$/\n/; + $single = ""; + } + if ($l =~ /$default/) { + $l =~ s/$envdecl${default} *\(\)/ACE_ENV_${single}ARG_DECL_WITH_DEFAULTS/; + } else { + $l =~ s/$envdecl/ACE_ENV_${single}ARG_DECL/; + } + } elsif ($l =~ /,\s*$envdecl/) { + if ($l =~ /$default/) { + $l =~ s/,\s*$envdecl${default} *\(\)/ ACE_ENV_ARG_DECL_WITH_DEFAULTS/; + } else { + $l =~ s/,\s*$envdecl/ ACE_ENV_ARG_DECL/; + } + } else { + if ($l =~ /$default/) { + $l =~ s/$envdecl${default} *\(\)/ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS/; + } else { + $l =~ s/$envdecl/ACE_ENV_SINGLE_ARG_DECL/; + } + } + } elsif ($l =~ /^\s*ACE_TRY_ENV/) { + $last =~ s/,\s*$/\n/; + $l =~ s/ACE_TRY_ENV/ACE_ENV_ARG_PARAMETER/; + } elsif ($l =~ /, *ACE_TRY_ENV/) { + $l =~ s/, *ACE_TRY_ENV/ ACE_ENV_ARG_PARAMETER/; + } else { + $l =~ s/ACE_TRY_ENV/ACE_ENV_SINGLE_ARG_PARAMETER/; + } + print $last; + print $l; + $last = ""; + } elsif ($l =~ /CORBA(::|_)Environment *&/) { + if ($l =~ /^\s*CORBA(::|_)Environment *&/) { + $last =~ s/,\s*$/\n/; + $l =~ s/CORBA(::|_)Environment *&/ACE_ENV_ARG_DECL_NOT_USED/; + } elsif ($l =~ /,\s*CORBA(::|_)Environment *&/) { + $l =~ s/,\s*CORBA(::|_)Environment *&/ ACE_ENV_ARG_DECL_NOT_USED/; + } else { + $l =~ s/CORBA(::|_)Environment *&/ACE_ENV_SINGLE_ARG_DECL_NOT_USED/; + } + print $last; + print $l; + $last = ""; + } else { + print $last; + $last = $l; + } +} +print $last; + diff --git a/docs/exceptions.html b/docs/exceptions.html new file mode 100644 index 00000000000..5b8d2e13cab --- /dev/null +++ b/docs/exceptions.html @@ -0,0 +1,657 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> +<!-- $Id$ --> +<html> <head> +<title>Using ACE Exception Handling Macros to Enhance CORBA Portability</title> +</head> + +<body text="#000000" link="#0000ff" vlink="#cc0000" bgcolor="#ffffff"> +<Hr><P> +<h3>Using ACE Exception Handling Macros to Enhance CORBA Portability</h3> + +<P>CORBA <CODE>Environment</CODE> arguments provide a way to handle +exceptions when native c++ exception handling is unavailable or +undesirable. However, writing portable code using both native C++ +exception handling and <CODE>CORBA::Environment</CODE> objects is very +hard. If you plan to write portable code that must run on platforms +that do not have native C++ exceptions, therefore, we recommend you +use the ACE exception macros. This document explains how these macros +can help alleviate much of the accidental complexity. However, keep +in mind macros cannot solve all problems perfectly. </P> + +<P>Before reading the rest of this document, we recommend you check +out pages 307 through to 322 in the book, <A +HREF="http://cseng.aw.com/bookdetail.qry?ISBN=0-201-37927-9&ptype=0">Advanced +Corba Programming with C++</A> by <A +HREF="http://www.triodia.com/staff/michi-henning.html">Michi +Henning</A> & <A HREF="http://www.iona.com/hyplan/vinoski/">Steve +Vinoski</A>. Likewise, we recommend that you read the Error Handling chapter from the +<A HREF="http://theaceorb.com/buy/index.html">TAO Developer's Guide</A>. + +<P><HR><P> +<h3>Table of Contents</h3> +<ul> + <li><a href="#nutshell">ACE Try Macros in a Nutshell</a> + <li><a href="#examples">Examples</a> + <li><a href="#general">General Guidelines for Exception Handling</a> + <li><a href="#transition">Transition from TAO try macros to ACE try + macros</a> + <li><a href="#caveats">Some Caveats</a> +</ul> + +<HR><P> +<h3><a name="nutshell">ACE Exception Macros in a Nutshell</h3> + +<P>This section explains some simple rules of writing programs for +platforms with and without native exception support using ACE's +exception macros. +</P> +<P>ACE exception macros are modelled like C++ language exceptions and +can be used like them, but with a small difference. These macros +rely on the CORBA::Environment variable to handle exceptions +on platforms that do not support exception +handling. (Please note that native exceptions can be turned on +or off at COMPILE time as an option to your make) +The exception macros have been modelled with some extra rules to +ensure this works even on +platforms without native exception support. See some <a +href="#examples">quick examples</a> on how to use ACE exception +macros. +</P> +<ol> + <li><P><em>Declaration of CORBA::Environment Parameter at Methods</em><br> + On platforms lacking native exceptions, all CORBA methods take an + extra parameter added at the end of their argument list. This + last parameter holds the CORBA::Environment variable. + However, on systems with native exceptions, no such extra method + parameter is added.<br> + In order for both configurations to work with the same source code, + following macros are defined. In native exception configurations, + they all resolve to <em>empty</em>.</p> + <ul> + <li><p><em>ACE_ENV_ARG_DECL</em></p> + in the pseudo exception configuration resolves to + <pre> + , CORBA::Environment ACE_TRY_ENV + </pre> + It is used for declaring the extra Environment parameter + at CORBA methods that take one or more regular parameters. + The fact that the comma is part of the macro substitution + caters for the hiding of this added argument when native + exceptions are used. However, by the same virtue its + usage is a bit peculiar -<br> + Example: a CORBA IDL defined method + <pre> + void mymethod (boolean b); + </pre> + may be declared as follows in C++: + <pre> + void mymethod (CORBA::Boolean b ACE_ENV_ARG_DECL); + </pre> + Notice the missing comma before the ACE_ENV_ARG_DECL. + This notation is necessary because when using native exceptions, + also the presence of the comma before the (non-existent) + CORBA::Environment parameter must be hidden.</p> + </li> + <li><p><em>ACE_ENV_SINGLE_ARG_DECL</em></p> + is similar to <code>ACE_ENV_ARG_DECL</code>, but is used when + the method takes no other parameters. It is necessary as a + separate macro because it does not contain the leading comma + that <code>ACE_ENV_ARG_DECL</code> does. + Example: a CORBA IDL defined method + <pre> + void mymethod (); + </pre> + may look like this in C++: + <pre> + void mymethod (ACE_ENV_SINGLE_ARG_DECL); + </pre> + <li><p><em>ACE_ENV_ARG_DECL_WITH_DEFAULTS</em>, + <li><em>ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS</em></p> + are similar to the above two macros but add a default value + to the parameter declaration. In case of TAO, the default value + is <code>TAO_default_environment()</code>.<p> + Notice that these macros are only used at the declaration + of methods (usually in header files), not at their definition + (usually in implementation files.) At the definition, + instead use the corresponding macro without "_WITH_DEFAULTS". + Example: the CORBA IDL defined method + <pre> + void mymethod (); + </pre> + in the C++ header file looks like this: + <pre> + void mymethod (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS); + </pre> + and in the C++ implementation file may look something like: + <pre> + void mymethod (ACE_ENV_SINGLE_ARG_DECL) + { + // ... + } + </pre> + </ul> + + <br> + </li> + + <li><P><em>Passing the CORBA::Environment Parameter into Method Calls</em><br> + Now that we've seen how to declare methods with Environment + parameters, let's see how to invoke such methods.</p> + <ul> + <li><p><em>ACE_ENV_ARG_PARAMETER</em></p> + in the pseudo exception configuration resolves to + <pre> + , ACE_TRY_ENV + </pre> + and is written as the last parameter of a method call that takes + one or more regular parameters. Again we need to omit the + comma that would normally precede this last parameter, as the + comma is already part of the macro definition. For example, + the CORBA IDL method + <pre> + void mymethod (boolean b); + </pre> + would be invoked as follows: + <pre> + some_var.mymethod (bparam ACE_ENV_ARG_PARAMETER); + </pre> + </ul> + + <ul> + <li><p><em>ACE_ENV_SINGLE_ARG_PARAMETER</em></p> + is similar to <code>ACE_ENV_ARG_PARAMETER</code> but is used + for calling methods that don't take any regular parameters. + Our example of a CORBA IDL method + <pre> + void mymethod (); + </pre> + we would invoke as follows: + <pre> + some_var.mymethod (ACE_ENV_SINGLE_ARG_PARAMETER); + </pre> + </ul> + <br> + </li> + + <li><P><em>Definition of the CORBA::Environment variable </em><br> + We have seen how to declare methods with the CORBA::Environment + parameter, and how to invoke such methods. However, where does + the variable to pass into methods as the CORBA::Environment + parameter come from in the first place?</p> + <P>An environment variable can be defined in the needed scope + (for example, in the main program, or in a more local scope) + by the statement</p> + <pre> + ACE_DECLARE_NEW_CORBA_ENV; + </pre> + <P>You can then invoke the methods on the servant from the client + side as + <pre> + object_reference->func_name (x, y ACE_ENV_ARG_PARAMETER); + </pre> + + Even if you are interested in making calls within the client + side, you can define your method like this + <pre> + int AN_OBJ::foobar (int a, int b ACE_ENV_ARG_DECL); + </pre> + + <li><P><em>Throwing exceptions:</em><br> + Use <code>ACE_THROW</code> and <code>ACE_THROW_RETURN</code> to + throw exceptions. They should never be used within a try + block; please use <code>ACE_TRY_THROW</code> instead. + </P> + </LI> + + <li><P><em>Propagating exceptions:</em><br> + To simulate native exceptions on platforms without native + exception handling, <em>every</em> function call that may + throw exceptions must be followed by <code>ACE_CHECK</code> or + <code>ACE_CHECK_RETURN</code>.</p> + + <p><a name="exc-func">Exception-throwing functions include the + following categories:</p> + + <ol> + <li><p>Any function that takes a + <code>CORBA_Environment</code> argument.</p> + </li> + + <li><p><code>ACE_NEW_THROW_EX</code>. Notice that you + <em>should not</em> use <code>ACE_NEW_THROW</code>, + <code>ACE_NEW_THROW_RETURN</code>, + <code>ACE_NEW_TRY_THROW</code> anymore because they don't + work right with ACE try macros. Instead, use + <code>ACE_NEW_THROW</code> with appropriate ACE_CHECK* + macros.</p> + </li> + + <li><P><code>ACE_GUARD_THROW_EX</code>, + <code>ACE_READ_GURAD_THROW_EX</code>, and + <code>ACE_WRITE_THROW_EX</code>. + + <li><p><code>ACE_TRY</code> blocks. Follow every + <code>ACE_ENDTRY</code> with appropriate ACE_CHECK* + macros.</p> + <li> + </ol> + + <P>You should pass <code>ACE_TRY_ENV</code> to these + functions. + </p> + + <P>Be very careful not to combine exception throwing functions + in one statement like this: + </P> + <pre> + x = obj1->callme (ACE_ENV_SINGLE_ARG_PARAMETER) + + obj2->dare_me (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_CHECK; + </pre> + <P>This example may work differently when native exception + handling is enabled/disabled. + </p> + </LI> + + <li><P><em>Catching exceptions:</em><br> + Use <code>ACE_TRY</code> to catch exceptions if there's an + <code>ACE_TRY_ENV</code> available. Otherwise, you should use + <code>ACE_DECLARE_NEW_CORBA_ENV</code> to create one at + <em>proper</em> scope. The use of + <code>ACE_TRY_NEW_ENV</code> is considered depricated because it + can't deal with the case when you have multiple <code>TRY</code> + blocks in the scope of <code>ACE_TRY_NEW_ENV</code>. If there are + more than one try blocks in a function, use <code>ACE_TRY_EX</code> + for all subsequence try blocks to avoid name clashing of labels. + </p> + <ul> + <li><P>Within a <code>ACE_TRY</code> block, use the variable + <code>ACE_TRY_ENV</code> to pass down the + <code>CORBA_Environment</code> (see <a + href="#try_env">this</a> example.) + </p> + </LI> + + <li><P>Follow <em>every</em> exception throwing function with + <code>ACE_TRY_CHECK</code>. If you are using a TRY block + within another try block add a <code>ACE_TRY_CHECK</code> + at the end of this TRY block ie. after + <code>ACE_ENDTRY</code>. + </p> + </LI> + + <li><P>Use <code>ACE_CATCH</code> to catch exceptions of certain + type. + </p> + </LI> + + <li><P><code>ACE_CATCHANY</code> catches <em>any</em> exceptions + of type <code>CORBA_Exception</code>. The caught + exception is stored in a variable call + <code>ACE_ANY_EXCEPTION</code>. + </p> + </LI> + + <li><p><code>ACE_CATCHALL</code> emulate the <code>catch + (...)</code> c++ statement. It is identical to + <code>ACE_CATCHANY</code> on platforms without native + exception support. You can not access the caught + exception within the <code>ACE_CATCHALL</code> block.</p> + + <li><P>Use <code>ACE_RETHROW</code> to rethrow the same exception + within a <code>ACE_CATCH</code> or + <code>ACE_CATCHANY</code> block. + </p> + </LI> + + <li><P>A <code>ACE_TRY</code> block must be terminated with + a <code>ACE_ENDTRY</code> statement. + </p> + </LI> + + <li><P>Throw an exception within a <code>ACE_TRY</code> + block or <code>ACE_CATCH</code> block using + <a href="#ace_try"><code>ACE_TRY_THROW</code></a>. + </p> + </LI> + </ul> + </li> + + <li><p><em>Printing out exceptions.</em> Use <code>ACE_PRINT_EXCEPTION + (EX,INFO)</code> to print out an exception. The macro takes two + arguments, a reference to an exception (EX) and a <code>char + *</code> string (INFO) which provides more information on the + exception. Since there's no portable way to print out + exceptions, you can redefine ACE_PRINT_EXCEPTION to fit your + need (or define it to null.) <em>You should always print out + the exception itself, not the CORBA_Environment that carries the + exception.</em></p> + </li> + + <li><P><em>Name of CORBA::Environment variable</em><br> + A function that may throw a CORBA::Exception needs a + CORBA::Environment variable to pass up exceptions (to throw in + the C++ sense) and to gather (catch () in the C++ sense) + exceptions from functions it called. By default, ACE exception + macros assume that the variable is named <code>ACE_TRY_ENV</code>. + <code>ACE_TRY_ENV</code> itself is also a macro which can be + redefined. + </pre> + + <P> + You can redefine the name of the variable to + something else to avoid name clashing. Alternatively, there's + another macro (<code>ACE_ADOPT_CORBA_ENV</code>) that allow you + to use another variable name as the default CORBA::Environment + <em>within</em> a function. + </P> + </LI> + +</ol> + +<HR><P> +<h3>Examples</h3><a name="examples"> + +Refer to <a href="../ace/CORBA_macros.h"><code> +$ACE_ROOT/ace/CORBA_macros.h</code></a> for complete definitions of +macros discussed here. + +<ul>Examples on using ACE try macros: + <li><p> + <pre> + <a name="try_env"> + ACE_TRY // Use ACE_DECLARE_NEW_CORBA_ENV to create ACE_TRY_ENV + // if you got undefined symbol warning here. + { + some_operation (arg1, arg2 ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + + . + . + if (whatever) + ACE_TRY_THROW (CORBA::BAD_PARAM ()); + + some_other_operation (arg1, arg2, arg3 ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + } + <a name="ace_try"> + ACE_CATCH (CORBA_some_exception, ex) + { + // error handling. + if (still_has_error) + ACE_TRY_THROW (CORBA::NOWAY ()); + } + ACE_CATCHANY + { + // error handling. + // then rethow the exception. + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; + </pre> + </p> + </li> + + <li><p><code>ACE_TRY</code> and also declares a label for internal + use. To avoid defining the same label multiple times within a + function, use <code>ACE_TRY_EX</code> with different labels for + different try blocks instead. For example,<br> + + <pre> + ACE_TRY_EX (block_1) + { + some_operation (arg1, arg2 ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK_EX (block_1); + + some_other_operation (arg1, arg2, arg3 ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK_EX (block_1); + } + ACE_CATCH (CORBA_some_exception, ex) + { + // error handling. + } + ACE_CATCHANY + { + // error handling. + } + ACE_ENDTRY; + ACE_CHECK_RETURN (-1); + + // Some other operation here + // . + // . + // . + // . + + ACE_TRY_EX (block_2) + { + foo (arg ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK_EX (block_2); + + bar (arg1, arg2 ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK_EX (block_2); + } + ACE_CATCH (CORBA_some_exception, ex) + { + // error handling. + } + ACE_CATCHANY + { + // error handling. + } + ACE_ENDTRY; + ACE_CHECK_RETURN (-1); + </pre> + </p> + + <li><p>You may want to make a different series of calls after you + encounter/catch an exception. Here is what we recommend. + + <pre> + ACE_TRY + { + // Calls that can raise an exception + some_call1 (arg1, arg2 ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + . + . + . + ACE_TRY_CHECK; + } + ACE_CATCH (CORBA_some_exception, ex) + { + // Caught an exception, so we need to make some other calls + // to continue.. + + ACE_TRY_EX (block1) // basically a label + { + some_other_call1 (arg1,.. ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK_EX (block1); + } + ACE_CATCH (CORBA_some_other_exception, ex1) + { + // Handle the exception here.. + } + ACE_ENDTRY; + ACE_CHECK_RETURN (-1); // Needed to catch uncaught exceptions + } + ACE_ENDTRY; + ACE_CHECK_RETURN (-1); + </pre> + </p> + + <li><p>Be <em>VERY</em> wary of <code>ACE_CATCHALL</code>. It catches + exceptions of any type. If your program depends on it, then, + more often than not, there're something wrong with it. + </P> + </li> + + <li><p>Instead of depending on <code>ACE_CATCHALL</code>, use + <code>auto_ptr</code> style mechanism to prevent memory leaks + from exceptions. + </p> + </li> +</ul> + +<HR><P> +<h3><a name="general">General Guidelines for Exception Handling</h3> +<ul> + <li><p>Don't catch an exception just to rethrow it. Exceptions cost + you performance. + </p> + </li> + + <li><p>When exceptions occur, make sure an object's is still in + a valid state or change to a state that can be safely + destructed. + </p> + </li> + + <li><p>Watch out for side effect in the expression which may cause + exceptions. In the following example, what should + <code>i</code> be if an exception does occur?<br> +<pre> + ACE_TRY + { + obj[i++] = foo_bar_method (a, b ACE_ENV_ARG_PARAMETER); + } +</pre></p> + </li> + + <li><p>Make sure an exception doesn't cause resource leak (memory, + socket, ...) (hint: Use auto_ptr to avoid memory leak, + and ACE_Guard for locks.) + </p> + </li> + + <li><p>Don't catch any exception that you don't know how to handle.</p> + </li> + + <li><p>Never throw an exception from destructor (unless you know what + it implies.)</p> + </li> + + <li><p>Use exceptions to provide more information about the error.</p> + </li> + + <li><p>Rethrow a different exception only to provide <em>more</em> + information. Do not catch an exception just to rethrow, say, + <code>unknow_exception</code>.</p> + </li> +</ul> + +<HR><P> +<H3><a name="transition">Transition from TAO try macros to ACE try macros</h3> + +This list tries to give a comprehensive list of mapping between TAO +try macros and ACE try macros. It's sole purpose is to provide hints +in the converting the use of TAO try macros to ACE try macros and is +by no mean complete. + +<OL> + <li><P>Rename all <code>CORBA_Environment</code> variables to + <code>ACE_TRY_ENV</code>. </P> + </li> + + <li><P>Replace <code>TAO_TRY</code> <code>TAO_TRY_VAR</code> with + <code>ACE_TRY</code>. Added + <code>ACE_DECLARE_NEW_CORBA_ENV</code> if necessary.</p> + </li> + + <li><p>Replace <code>TAO_TRY_EX</code> <code>TAO_TRY_VAR_EX</code> + with <code>ACE_TRY_EX</code>.</p> + </li> + + <li><p>Replace <code>TAO_CHECK_RETURN</code> and + <code>TAO_CHECK_RETURN_VOID</code> with <code>ACE_CHECK_RETURN</code> + and <code>ACE_CHECK</code>. These macros are used + <em>outside</em> of TRY/CATCH blocks.</P> + </li> + + <li><P>Replace <code>TAO_THROW</code>, <code>TAO_THROW_ENV</code>, + <code>TAO_THROW_RETURN</code>, <code>TAO_THROW_ENV_RETURN</code> + with <code>ACE_THROW</code> and + <code>ACE_THROW_RETURN</code>. </p> + </li> + + <li><P>Replace <code>ACE_NEW_THROW</code>, + <code>ACE_NEW_THROW_RETURN</code>, + <code>ACE_TRY_NEW_THROW</code> with + <code>ACE_NEW_THROW_EX</code> and appropriate + <code>ACE_CHECK*</code> macros. aformention</P> + + <li><p>Replace <code>TAO_CHECK_ENV</code> and + <code>TAO_CHECK_ENV_EX</code> with <code>ACE_TRY_CHECK</code> + and <code>ACE_TRY_CHECK_EX</code>.</p> + </li> + + <li><p>Replace <code>TAO_TRY_THOW</code> and + <code>TAO_TRY_THROW_EX</code> with <code>ACE_TRY_THROW</code> + and <code>ACE_TRY_THROW_EX</code>. Notice that you can also use + <code>ACE_TRY_THROW*</code> within CATCH blocks.</p> + </li> + + <li><p>Replace <code>TAO_RETHROW</code>, + <code>TAO_RETHROW_RETURN</code>, + <code>TAO_RETHROW_RETURN_VOID</code> with + <code>ACE_RETHROW</code>.</p> + </li> + + <li><p>Replace <code>TAO_CATCH</code>, <code>TAO_CATCHANY</code>, + and <code>TAO_CATCHALL</code> with <code>ACE_CATCH</code>, + <code>ACE_CATCHANY</code> and <code>ACE_CATCHALL</code> + respectively. </p> + </li> + + <li><p>Replace <code>TAO_ENDTRY</code> with <code>ACE_ENDTRY</code> + followed by an appropriate CHECK macro (<code>ACE_CHECK</code>, + <code>ACE_CHECK_RETURN</code>, <code>ACE_TRY_CHECK</code>, or + <code>ACE_TRY_CHECK_EX</code>.)</P> + </li> +</ol> + +<HR><P> +<H3><a name="caveats">Caveats</H3> + +<P>As we already mentioned no set of macros can cover all cases +and preserve the semantics between native C++ exceptions and the +<CODE>CORBA::Environment</CODE> based mapping. +Some of the problems that our macros are described below: +<P> + +<UL> + <LI><P>Using the macros in loops can produce problems with + <CODE>break</CODE> and <CODE>continue</CODE> statements, for + example: + </P> + <PRE> + for (int i = 0; i < 10; ++i) + { + ACE_TRY + { + if (x[i] == 0) + continue; // will *not* work + if (x[i] == -1) + break; // will *not* work either + } + ACE_CATCH (CORBA::Exception, ex) + { + } + ACE_ENDTRY; + ACE_CHECK; + } + </PRE> + </LI> +</UL> + +<P><HR><P> + +Back to the <A +HREF="http://www.cs.wustl.edu/~schmidt/ACE-documentation.html">ACE +documentation</A> page.<BR> +Back to <A HREF="index.html">ACE Documentation Home</A>. + + +<!--#include virtual="/~schmidt/cgi-sig.html" --> +</body></HTML> diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 00000000000..a6cebc678c2 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,88 @@ +<html> + +<!-- $Id$ --> +<head> +<title>ACE Documentation Home</title> +</head> + +<body text = "#000000" link="#000fff" vlink="#ff0f0f" bgcolor="#ffffff"> + +<hr> + +<h1>ACE Documentation Home</h1> + +Everything you've always wanted to know about ACE, but were afraid to +ask. <P> + +<hr> + +<h2>Bug Reports</h2> + +<ul> + <li><a href="ACE-bug-process.html">ACE+TAO Bug Fixing Policies</a> - Our policies for + handling bug reports. + <li><a href="usage-bugzilla.html">Bug Tracking System</a> - Short description of our + Bugzilla bug tracking system. +</ul> + + +<hr> + +<h2>Structure</h2> + +<ul> + <li><a href="ACE-categories.html">Class Categories</a> - Listing of some of the classes + in ACE. + <li>ACE Inheritance Tree <a href="ACE-inheritance.pdf">[pdf]</a> <a href= + "ACE-inheritance.ps.gz">[ps.gz]</a> + <li><a href="ACE-subsets.html">ACE Subsets</a> - Outline of some of our ideas + for subsetting the ACE library. + +</ul> + +<hr> + +<h2>Tutorials</h2> + +<ul> + <li><a href="http://www.cs.wustl.edu/~schmidt/ACE-overview.html">Overview of ACE</a> - + The top level view. + <li>ACE programmers guide <a href="http://www.cs.wustl.edu/~schmidt/PDF/ACE-tutorial.pdf">[pdf.gz]</a> + <a href="http://www.cs.wustl.edu/~schmidt/ACE-tutorial.ps.gz">[ps.gz]</a> + <li><a href="tutorials/guide-tutorials.html">Online examples from the ACE programmers guide</a> + <li><a href="tutorials/online-tutorials.html">Introductory online ACE tutorials</a> + <li><a href="tutorials/new-tutorials.html">New Tutorials</a> - How to develop a new + ACE tutorial. + <!-- Bob's original can always be found at: http://dox.netwrench.com/acedox/fmm/ --> + <li><a href="http://www.cs.wustl.edu/~schmidt/ACE-papers.html">Technical Papers</a> - + Postscript versions of many ACE papers. + <li><a href="ACE-FMM.html">ACE FMM</a> - ACE "Frequently Made Mistakes" +</ul> + +<hr> + +<h2>ACE Development</h2> + +<ul> + <li><a href="ACE-development-process.html">Development and Release Process</a> - The process we use + to develop and release the ACE library. + <li><a href="ACE-guidelines.html">Style Guide</a> - How to write compliant ACE code. + <li><a href="ACE-porting.html">Porting</a> - What to do to port to a new platform. + <li><a href="exceptions.html">Exception Macros</a> - How to properly use the ACE TRY + macros. + +</ul> + +<hr> + +<h2>Other stuff</h2> + +<ul> + <li><a href="ACE-lessons.html">Lessons</a> - Lessons we have learned while + building ACE. + <li><a href="ACE-SSL.html">ACE+SSL</a> - What is ACE+SSL and how to get it. + <li><a href="CE-status.txt">CE-status.txt</a> - The status of ACE on Windows CE. +</ul> + +</body> +</html> diff --git a/etc/ace.doxygen b/etc/ace.doxygen new file mode 100644 index 00000000000..f35f18551d1 --- /dev/null +++ b/etc/ace.doxygen @@ -0,0 +1,193 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = ACE +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = docs ace +FILE_PATTERNS = *.h *.cpp *.inl *.i *.txt +RECURSIVE = NO +EXCLUDE = ace/config.h +EXCLUDE_PATTERNS = config-*.h +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html/ace +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = +GENERATE_TAGFILE = html/ace/ACE.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Current + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = diff --git a/etc/ace_man.doxygen b/etc/ace_man.doxygen new file mode 100644 index 00000000000..d15586d3104 --- /dev/null +++ b/etc/ace_man.doxygen @@ -0,0 +1,193 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = ACE +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = NO +SOURCE_BROWSER = NO +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = NO +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = ace +FILE_PATTERNS = *.h +RECURSIVE = NO +EXCLUDE = ace/config.h +EXCLUDE_PATTERNS = config-*.h +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = NO +HTML_OUTPUT = +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = YES +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = NO +CLASS_GRAPH = NO +COLLABORATION_GRAPH = NO +INCLUDE_GRAPH = NO +INCLUDED_BY_GRAPH = NO +GRAPHICAL_HIERARCHY = NO +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/ + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Current + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = diff --git a/etc/ace_qos.doxygen b/etc/ace_qos.doxygen new file mode 100644 index 00000000000..d113fdb3770 --- /dev/null +++ b/etc/ace_qos.doxygen @@ -0,0 +1,193 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = ACE_QoS +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = ace/QoS +FILE_PATTERNS = *.cpp *.h *.i *.inl +RECURSIVE = NO +EXCLUDE = +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html/ace/QoS +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = html/ace/ACE.tag=.. +GENERATE_TAGFILE = html/ace/QoS/ACE_QoS.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Current + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = diff --git a/etc/ace_rmcast.doxygen b/etc/ace_rmcast.doxygen new file mode 100644 index 00000000000..87cb79d8ee2 --- /dev/null +++ b/etc/ace_rmcast.doxygen @@ -0,0 +1,193 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = ACE_RMCast +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = ace/RMCast +FILE_PATTERNS = *.cpp *.h *.i *.inl +RECURSIVE = NO +EXCLUDE = +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html/ace/rmcast +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = html/ace/ACE.tag=.. +GENERATE_TAGFILE = html/ace/rmcast/ACE_RMCast.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Current + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = diff --git a/etc/ace_ssl.doxygen b/etc/ace_ssl.doxygen new file mode 100644 index 00000000000..1bd3d1a9b88 --- /dev/null +++ b/etc/ace_ssl.doxygen @@ -0,0 +1,193 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = ACE_SSL +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = ace/SSL +FILE_PATTERNS = *.cpp *.h *.i *.inl +RECURSIVE = NO +EXCLUDE = +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html/ace/ssl +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = html/ace/ACE.tag=.. +GENERATE_TAGFILE = html/ace/ssl/ACE_SSL.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Current + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = diff --git a/etc/acexml.doxygen b/etc/acexml.doxygen new file mode 100644 index 00000000000..c0bcee12b2e --- /dev/null +++ b/etc/acexml.doxygen @@ -0,0 +1,193 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = ACEXML +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = XML +FILE_PATTERNS = *.cpp *.h *.i *.inl *.txt +RECURSIVE = YES +EXCLUDE = +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html/xml +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = html/ace/ACE.tag=.. +GENERATE_TAGFILE = html/xml/ACEXML.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Current + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = diff --git a/etc/tao.doxygen b/etc/tao.doxygen new file mode 100644 index 00000000000..ab960742bc6 --- /dev/null +++ b/etc/tao.doxygen @@ -0,0 +1,193 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = TAO +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = TAO/tao +FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl *.txt +RECURSIVE = +EXCLUDE = +EXCLUDE_PATTERNS = InterfaceC.cpp Services.h +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html/tao +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = TAO . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = html/ace/ACE.tag=../ace +GENERATE_TAGFILE = html/tao/TAO.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Current + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = html/ace diff --git a/etc/tao_av.doxygen b/etc/tao_av.doxygen new file mode 100644 index 00000000000..1cbde3e20ee --- /dev/null +++ b/etc/tao_av.doxygen @@ -0,0 +1,198 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = TAO_AV +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = TAO/orbsvcs/orbsvcs/AVStreams.idl \ + TAO/orbsvcs/orbsvcs/Null_MediaCtrl.idl \ + TAO/orbsvcs/orbsvcs/sfp.idl \ + TAO/orbsvcs/orbsvcs/AV +FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl *.idl +RECURSIVE = +EXCLUDE = +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html/tao/av +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = TAO . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = html/ace/ACE.tag=../../ace \ + html/tao/TAO.tag=.. \ + html/tao/portableserver/TAO_PortableServer.tag=../portableserver +GENERATE_TAGFILE = html/tao/av/TAO_AV.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Current + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = html/ace diff --git a/etc/tao_cosevent.doxygen b/etc/tao_cosevent.doxygen new file mode 100644 index 00000000000..f12d8dedab0 --- /dev/null +++ b/etc/tao_cosevent.doxygen @@ -0,0 +1,199 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = TAO_CosEvent +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = \ + TAO/orbsvcs/orbsvcs/CosEventComm.idl \ + TAO/orbsvcs/orbsvcs/CosEventChannelAdmin.idl \ + TAO/orbsvcs/orbsvcs/CosEvent +FILE_PATTERNS = CEC_*.cpp CEC_*.h CEC_*.i CEC_*.inl CEC_*.pidl *.idl +RECURSIVE = +EXCLUDE = +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html/tao/cosevent +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = TAO/orbsvcs TAO . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = html/ace/ACE.tag=../../ace \ + html/tao/TAO.tag=.. \ + html/tao/portableserver/TAO_PortableServer.tag=../portableserver \ + html/tao/esf/TAO_ESF.tag=../esf +GENERATE_TAGFILE = html/tao/cosevent/TAO_CosEvent.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Current + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = html/ace diff --git a/etc/tao_cosnotification.doxygen b/etc/tao_cosnotification.doxygen new file mode 100644 index 00000000000..4ed0218bcce --- /dev/null +++ b/etc/tao_cosnotification.doxygen @@ -0,0 +1,202 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = TAO_CosNotification +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = \ + TAO/orbsvcs/orbsvcs/CosNotification.idl \ + TAO/orbsvcs/orbsvcs/CosNotifyFilter.idl \ + TAO/orbsvcs/orbsvcs/CosNotifyComm.idl \ + TAO/orbsvcs/orbsvcs/CosNotifyChannelAdmin.idl \ + TAO/orbsvcs/orbsvcs/Notify +FILE_PATTERNS = *.cpp *.h CEC_*.i CEC_*.inl CEC_*.pidl *.idl +RECURSIVE = +EXCLUDE = +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html/tao/cosnotification +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = TAO/orbsvcs TAO . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = html/ace/ACE.tag=../../ace \ + html/tao/TAO.tag=.. \ + html/tao/portableserver/TAO_PortableServer.tag=../portableserver \ + html/tao/cosevent/TAO_CosEvent.tag=../cosevent \ + html/tao/esf/TAO_ESF.tag=../esf +GENERATE_TAGFILE = html/tao/cosevent/TAO_CosEvent.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Current + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = html/ace diff --git a/etc/tao_dynamicany.doxygen b/etc/tao_dynamicany.doxygen new file mode 100644 index 00000000000..9b9751d8a2b --- /dev/null +++ b/etc/tao_dynamicany.doxygen @@ -0,0 +1,193 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = TAO_DynamicAny +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = TAO/tao/DynamicAny +FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl +RECURSIVE = +EXCLUDE = +EXCLUDE_PATTERNS = InterfaceC.cpp Services.h +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html/tao/dynamicany +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = TAO . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = html/ace/ACE.tag=../../ace html/tao/TAO.tag=.. +GENERATE_TAGFILE = html/tao/dynamicany/TAO_DynamicAny.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Current + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = html/ace diff --git a/etc/tao_dynamicinterface.doxygen b/etc/tao_dynamicinterface.doxygen new file mode 100644 index 00000000000..840b8af69cc --- /dev/null +++ b/etc/tao_dynamicinterface.doxygen @@ -0,0 +1,193 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = TAO_DynamicInterface +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = TAO/tao/DynamicInterface +FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl +RECURSIVE = +EXCLUDE = +EXCLUDE_PATTERNS = InterfaceC.cpp Services.h +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html/tao/dynamicinterface +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = TAO . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = html/ace/ACE.tag=../../ace html/tao/TAO.tag=.. +GENERATE_TAGFILE = html/tao/dynamicinterface/TAO_DynamicInterface.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Current + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = html/ace diff --git a/etc/tao_esf.doxygen b/etc/tao_esf.doxygen new file mode 100644 index 00000000000..11e94df5816 --- /dev/null +++ b/etc/tao_esf.doxygen @@ -0,0 +1,195 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = TAO_ESF +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = TAO/orbsvcs/orbsvcs/ESF +FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl *.idl +RECURSIVE = +EXCLUDE = +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html/tao/esf +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = TAO . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = html/ace/ACE.tag=../../ace \ + html/tao/TAO.tag=.. \ + html/tao/portableserver/TAO_PortableServer.tag=../portableserver +GENERATE_TAGFILE = html/tao/esf/TAO_ESF.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Current + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = html/ace diff --git a/etc/tao_implrepo.doxygen b/etc/tao_implrepo.doxygen new file mode 100644 index 00000000000..a31fcae25c4 --- /dev/null +++ b/etc/tao_implrepo.doxygen @@ -0,0 +1,196 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = TAO_Implementation_Repository +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = TAO/orbsvcs/ImplRepo_Service +FILE_PATTERNS = *.cpp *.h *.i *.inl *.txt +RECURSIVE = +EXCLUDE = +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html/tao/implrepo_service +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = TAO/orbsvcs TAO . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = html/ace/ACE.tag=../../ace \ + html/tao/TAO.tag=.. \ + html/tao/portableserver/TAO_PortableServer.tag=../portableserver \ + html/tao/iortable/TAO_IORTable.tag=../iortable +GENERATE_TAGFILE = html/tao/implrepo_service/TAO_ImplRepo.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Current + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = html/ace diff --git a/etc/tao_iormanip.doxygen b/etc/tao_iormanip.doxygen new file mode 100644 index 00000000000..e5ee0641509 --- /dev/null +++ b/etc/tao_iormanip.doxygen @@ -0,0 +1,194 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = TAO_IORManipulation +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = TAO/tao/IORManipulation +FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl +RECURSIVE = +EXCLUDE = +EXCLUDE_PATTERNS = InterfaceC.cpp Services.h +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html/tao/iormanipulation +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = TAO . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = html/ace/ACE.tag=../../ace \ + html/tao/TAO.tag=.. +GENERATE_TAGFILE = html/tao/iormanipulation/TAO_IORManipulation.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Current + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = html/ace diff --git a/etc/tao_iortable.doxygen b/etc/tao_iortable.doxygen new file mode 100644 index 00000000000..f2f690655b0 --- /dev/null +++ b/etc/tao_iortable.doxygen @@ -0,0 +1,194 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = TAO_IORTable +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = TAO/tao/IORTable +FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl +RECURSIVE = +EXCLUDE = +EXCLUDE_PATTERNS = InterfaceC.cpp Services.h +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html/tao/iortable +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = TAO . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = html/ace/ACE.tag=../../ace \ + html/tao/TAO.tag=.. +GENERATE_TAGFILE = html/tao/iortable/TAO_IORTable.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Beta + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Beta/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Beta + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = html/ace diff --git a/etc/tao_portableserver.doxygen b/etc/tao_portableserver.doxygen new file mode 100644 index 00000000000..74689eea598 --- /dev/null +++ b/etc/tao_portableserver.doxygen @@ -0,0 +1,194 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = TAO_PortableServer +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = TAO/tao/PortableServer +FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl +RECURSIVE = +EXCLUDE = +EXCLUDE_PATTERNS = InterfaceC.cpp Services.h +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html/tao/portableserver +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = TAO . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = html/ace/ACE.tag=../../ace \ + html/tao/TAO.tag=.. +GENERATE_TAGFILE = html/tao/portableserver/TAO_PortableServer.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Current + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = html/ace diff --git a/etc/tao_rtcorba.doxygen b/etc/tao_rtcorba.doxygen new file mode 100644 index 00000000000..93c7c67d784 --- /dev/null +++ b/etc/tao_rtcorba.doxygen @@ -0,0 +1,194 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = TAO_RTCORBA +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = TAO/tao/RTCORBA +FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl +RECURSIVE = +EXCLUDE = +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html/tao/rtcorba +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = TAO . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = html/ace/ACE.tag=../../ace \ + html/tao/TAO.tag=.. +GENERATE_TAGFILE = html/tao/rtcorba/TAO_RTCORBA.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Current + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = html/ace diff --git a/etc/tao_rtevent.doxygen b/etc/tao_rtevent.doxygen new file mode 100644 index 00000000000..ebb7848fecd --- /dev/null +++ b/etc/tao_rtevent.doxygen @@ -0,0 +1,204 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = TAO_RTEvent +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = TAO/orbsvcs/orbsvcs/RtecEventComm.idl \ + TAO/orbsvcs/orbsvcs/RtecEventChannelAdmin.idl \ + TAO/orbsvcs/orbsvcs/RtecBase.idl \ + TAO/orbsvcs/orbsvcs/RtecDefaultEventData.idl \ + TAO/orbsvcs/orbsvcs/RtecUDPAdmin.idl \ + TAO/orbsvcs/orbsvcs/Event_Utilities.h \ + TAO/orbsvcs/orbsvcs/Event_Utilities.i \ + TAO/orbsvcs/orbsvcs/Event_Utilities.cpp \ + TAO/orbsvcs/orbsvcs/Event +FILE_PATTERNS = EC_*.cpp EC_*.h EC_*.i EC_*.inl EC_*.pidl *.idl +RECURSIVE = +EXCLUDE = +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html/tao/rtevent +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = TAO/orbsvcs TAO . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = html/ace/ACE.tag=../../ace \ + html/tao/TAO.tag=.. \ + html/tao/portableserver/TAO_PortableServer.tag=../portableserver \ + html/tao/esf/TAO_ESF.tag=../esf +GENERATE_TAGFILE = html/tao/rtevent/TAO_RTEvent.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Current + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = html/ace diff --git a/etc/tao_rtportableserver.doxygen b/etc/tao_rtportableserver.doxygen new file mode 100644 index 00000000000..179aa2cd10d --- /dev/null +++ b/etc/tao_rtportableserver.doxygen @@ -0,0 +1,194 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = TAO_RTPortableServer +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = TAO/tao/RTPortableServer +FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl +RECURSIVE = +EXCLUDE = +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html/tao/rtportableserver +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = TAO . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = html/ace/ACE.tag=../../ace \ + html/tao/TAO.tag=.. +GENERATE_TAGFILE = html/tao/rtportableserver/TAO_RTPortableServer.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Current + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = html/ace diff --git a/etc/tao_security.doxygen b/etc/tao_security.doxygen new file mode 100644 index 00000000000..03bbb805ba2 --- /dev/null +++ b/etc/tao_security.doxygen @@ -0,0 +1,200 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = TAO_Security +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = TAO/orbsvcs/orbsvcs/Security.idl \ + TAO/orbsvcs/orbsvcs/SecurityLevel1.idl \ + TAO/orbsvcs/orbsvcs/SecurityLevel2.idl \ + TAO/orbsvcs/orbsvcs/SecurityAdmin.idl \ + TAO/orbsvcs/orbsvcs/SecurityReplaceable.idl \ + TAO/orbsvcs/orbsvcs/Security +FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl *.idl +RECURSIVE = +EXCLUDE = +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html/tao/security +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = TAO . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = html/ace/ACE.tag=../../ace \ + html/tao/TAO.tag=.. \ + html/tao/portableserver/TAO_PortableServer.tag=../portableserver +GENERATE_TAGFILE = html/tao/security/TAO_Security.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Current + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = html/ace diff --git a/etc/tao_smartproxies.doxygen b/etc/tao_smartproxies.doxygen new file mode 100644 index 00000000000..0a0b207cd54 --- /dev/null +++ b/etc/tao_smartproxies.doxygen @@ -0,0 +1,193 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = TAO_SmartProxies +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = TAO/tao/SmartProxies +FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl +RECURSIVE = +EXCLUDE = +EXCLUDE_PATTERNS = InterfaceC.cpp Services.h +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html/tao/smartproxies +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = TAO . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = html/ace/ACE.tag=../../ace html/tao/TAO.tag=.. +GENERATE_TAGFILE = html/tao/smartproxies/TAO_SmartProxies.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Current + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = html/ace diff --git a/etc/tao_ssliop.doxygen b/etc/tao_ssliop.doxygen new file mode 100644 index 00000000000..d9ad50970c2 --- /dev/null +++ b/etc/tao_ssliop.doxygen @@ -0,0 +1,201 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = TAO_SSLIOP +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = TAO/orbsvcs/orbsvcs/Security.idl \ + TAO/orbsvcs/orbsvcs/SecurityLevel1.idl \ + TAO/orbsvcs/orbsvcs/SecurityLevel2.idl \ + TAO/orbsvcs/orbsvcs/Security \ + TAO/orbsvcs/orbsvcs/SSLIOP.idl \ + TAO/orbsvcs/orbsvcs/SSLIOP +FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl *.idl +RECURSIVE = +EXCLUDE = +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html/tao/ssliop +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = TAO . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = html/ace/ACE.tag=../../ace \ + html/tao/TAO.tag=.. \ + html/tao/portableserver/TAO_PortableServer.tag=../portableserver \ + html/tao/security/TAO_Security.tag=../security +GENERATE_TAGFILE = html/tao/ssliop/TAO_SSLIOP.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Current + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = html/ace diff --git a/etc/tao_strategies.doxygen b/etc/tao_strategies.doxygen new file mode 100644 index 00000000000..7e17dfc688e --- /dev/null +++ b/etc/tao_strategies.doxygen @@ -0,0 +1,193 @@ +# Doxyfile 1.1.5 +# +# $Id$ +# + +PROJECT_NAME = TAO_Strategies +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = TAO/tao/Strategies +FILE_PATTERNS = *.cpp *.h *.i *.inl *.pidl +RECURSIVE = +EXCLUDE = +EXCLUDE_PATTERNS = InterfaceC.cpp Services.h +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html/tao/strategies +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = TAO . +PREDEFINED = +EXPAND_AS_DEFINED = ACE_RCSID \ + ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER \ + ACE_THROW_SPEC + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = html/ace/ACE.tag=../../ace html/tao/TAO.tag=.. +GENERATE_TAGFILE = html/tao/strategies/TAO_Strategies.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = /usr/local/bin +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = http://doc.ece.uci.edu/cgi-bin/Doxygen/Current + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = http://doc.ece.uci.edu/Doxygen/Current/ + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = /project/doctmp/Doxygen/Current + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = /usr/bin + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = html/ace diff --git a/examples/Connection/misc/Connection_Handler.cpp b/examples/Connection/misc/Connection_Handler.cpp new file mode 100644 index 00000000000..dc62a95b194 --- /dev/null +++ b/examples/Connection/misc/Connection_Handler.cpp @@ -0,0 +1,245 @@ +// $Id$ + +// ============================================================================ +// +// = FILENAME +// Connection_Handler.cpp +// +// = DESCRIPTION +// This test illustrates how to use the Acceptor pattern to +// create multiple threads, each running its own Reactor. You +// can connect to this via telnet and keep typing until you enter +// '^D'. +// +// = AUTHOR +// Doug Schmidt +// +// ============================================================================ + +#include "ace/Acceptor.h" +#include "ace/SOCK_Acceptor.h" +#include "ace/Service_Config.h" +#include "ace/Thread.h" + +#include "Connection_Handler.h" + +ACE_RCSID(misc, Connection_Handler, "$Id$") + +int +Connection_Handler::open (void *) +{ + ACE_DEBUG ((LM_DEBUG, + "(%P|%t) in open()\n")); + + // Make ourselves an Active Object. + return this->activate (THR_NEW_LWP | THR_DETACHED); +} + +int +Connection_Handler::close (u_long) +{ + ACE_DEBUG ((LM_DEBUG, + "(%P|%t) in close()\n")); + + // Shut ourself down. Note that this doesn't destroy the thread, + // just the state of the object. + this->destroy (); + return 0; +} + +int +Connection_Handler::svc (void) +{ + ACE_DEBUG ((LM_DEBUG, + "(%P|%t) in svc()\n")); + + this->finished_ = 0; + + // Create our own personal Reactor just for this thread. Note that + // we create this on the stack of the thread since it's only used + // for the duration of this connection! + + ACE_Reactor reactor; + + // Each <ACE_Svc_Handler> has its own <ACE_Reactor *>. By default, + // this points to the <Acceptor's> Reactor. However, we can point + // it to our local Reactor, which is what we do in this case. + this->reactor (&reactor); + + // Register ourselves to handle input in this thread without + // blocking. + if (this->reactor ()->register_handler + (this, ACE_Event_Handler::READ_MASK) == -1) + ACE_ERROR_RETURN ((LM_ERROR, + "can' (%P|%t) t register with reactor\n"), + -1); + // Schedule a timer. + else if (this->reactor ()->schedule_timer (this, + (const void *) this, + ACE_Time_Value (2), + ACE_Time_Value (2)) == -1) + ACE_ERROR_RETURN ((LM_ERROR, + "(%P|%t) can't register with reactor\n"), + -1); + else + ACE_DEBUG ((LM_DEBUG, + "(%P|%t) connected with client\n")); + + // Keep looping until we receive SIGQUIT or the client shutsdown. + + while (this->finished_ == 0) + { + ACE_DEBUG ((LM_DEBUG, + "(%P|%t) handling events\n")); + this->reactor ()->handle_events (); + } + + // Cancel all pending timeouts. + this->reactor ()->cancel_timer (this); + + // Remove ourselves from the Reactor. + this->reactor ()->remove_handler + (this, ACE_Event_Handler::READ_MASK | ACE_Event_Handler::DONT_CALL); + + // Zero-out the Reactor field so it isn't accessed later on. + this->reactor (0); + + ACE_DEBUG ((LM_DEBUG, + "(%P|%t) exiting svc\n")); + return 0; +} + +int +Connection_Handler::handle_close (ACE_HANDLE, + ACE_Reactor_Mask) +{ + ACE_DEBUG ((LM_DEBUG, + "(%P|%t) in handle_close \n")); + + // Signal the svc() event loop to shut down. + this->finished_ = 1; + return 0; +} + +int +Connection_Handler::handle_input (ACE_HANDLE) +{ + char buf[BUFSIZ]; + + ACE_DEBUG ((LM_DEBUG, "(%P|%t) handle_input\n")); + + switch (this->peer ().recv (buf, sizeof buf)) + { + case -1: + ACE_ERROR_RETURN ((LM_ERROR, + "(%P|%t) %p bad read\n", + "client logger"), + -1); + case 0: + ACE_ERROR_RETURN ((LM_ERROR, + "(%P|%t) closing log daemon (fd = %d)\n", + this->get_handle ()), + -1); + default: + if (buf[0] == (char) EOF) + ACE_ERROR_RETURN ((LM_ERROR, + "(%P|%t) closing log daemon (fd = %d)\n", + this->get_handle ()), + -1); + else + ACE_DEBUG ((LM_DEBUG, + "(%P|%t) from client: %s", + buf)); + } + + return 0; +} + +int +Connection_Handler::handle_signal (int signum, + siginfo_t *, + ucontext_t *) +{ + // @@ Note that this code is not portable to all OS platforms since + // it uses print statements within signal handler context. + + ACE_DEBUG ((LM_DEBUG, + "received signal %S\n", + signum)); + + this->finished_ = 1; + return 0; +} + +int +Connection_Handler::handle_timeout (const ACE_Time_Value &tv, + const void *arg) +{ + ACE_UNUSED_ARG (tv); +#if defined (ACE_NDEBUG) + ACE_UNUSED_ARG (arg); +#endif /* ACE_NDEBUG */ + + ACE_ASSERT (arg == this); + ACE_DEBUG ((LM_DEBUG, + "(%P|%t) handling timeout from this = %u\n", + this)); + return 0; +} + +// Define an Acceptor for the <Connection_Handler>. + +typedef ACE_Acceptor <Connection_Handler, ACE_SOCK_ACCEPTOR> + Connection_Acceptor; + +int +main (int argc, char *argv[]) +{ + ACE_Service_Config daemon (argv[0]); + + u_short port = argc > 1 ? ACE_OS::atoi (argv[1]) : ACE_DEFAULT_SERVER_PORT; + + ACE_DEBUG ((LM_DEBUG, + "(%P|%t) in main\n")); + + // Acceptor factory. + Connection_Acceptor peer_acceptor; + + // Create an adapter to end the event loop. + ACE_Sig_Adapter sa ((ACE_Sig_Handler_Ex) ACE_Reactor::end_event_loop); + + // Register the signal handler adapter. + if (ACE_Reactor::instance ()->register_handler (SIGINT, &sa) == -1) + ACE_ERROR_RETURN ((LM_ERROR, + "%p\n", + "register_handler"), + -1); + + // Open the Acceptor. + else if (peer_acceptor.open (ACE_INET_Addr (port), + ACE_Reactor::instance ()) == -1) + ACE_ERROR_RETURN ((LM_ERROR, + "%p\n", + "open"), + -1); + + ACE_DEBUG ((LM_DEBUG, + "(%P|%t) starting up connection server\n")); + + // Perform connection service until we receive SIGINT. + + while (ACE_Reactor::event_loop_done() == 0) + ACE_Reactor::run_event_loop (); + + ACE_DEBUG ((LM_DEBUG, + "(%P|%t) shutting down connection server\n")); + return 0; +} + +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) +template class ACE_Acceptor<Connection_Handler, ACE_SOCK_ACCEPTOR>; +template class ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>; +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +#pragma instantiate ACE_Acceptor<Connection_Handler, ACE_SOCK_ACCEPTOR> +#pragma instantiate ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH> +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/examples/NT_Service/main.cpp b/examples/NT_Service/main.cpp new file mode 100644 index 00000000000..de95db92bb2 --- /dev/null +++ b/examples/NT_Service/main.cpp @@ -0,0 +1,258 @@ +// $Id$ + +// ============================================================================ +// +// = LIBRARY +// examples/NT_Service +// +// = FILENAME +// main.cpp +// +// = DESCRIPTION +// This is the main program - it just hands control off to the +// process instance to figure out what to do. This program only +// runs on Win32. +// +// = AUTHOR +// Gonzalo Diethelm <gonzo@cs.wustl.edu> +// and Steve Huston <shuston@riverace.com> +// +// ============================================================================ + +#include "ace/Get_Opt.h" +#include "ntsvc.h" + +// Default for the -i (install) option +#define DEFAULT_SERVICE_INIT_STARTUP SERVICE_AUTO_START + +class Process +{ +public: + Process (void); + ~Process (void); + + int run(int argc, ACE_TCHAR* argv[]); + +private: + void parse_args (int argc, + ACE_TCHAR* argv[]); + void print_usage_and_die (void); + +private: + char progname[128]; + + int opt_install; + int opt_remove; + int opt_start; + int opt_kill; + int opt_type; + int opt_debug; + + int opt_startup; +}; + +typedef ACE_Singleton<Process, ACE_Mutex> PROCESS; + +Process::Process (void) + : opt_install (0), + opt_remove (0), + opt_start (0), + opt_kill (0), + opt_type (0), + opt_debug (0), + opt_startup (0) +{ + ACE_OS::strcpy (progname, + "service"); + ACE::init (); +} + +Process::~Process (void) +{ + ACE::fini (); +} + +void +Process::print_usage_and_die (void) +{ + ACE_DEBUG ((LM_INFO, + "Usage: %s" + " -in -r -s -k -tn -d\n" + " -i: Install this program as an NT service, with specified startup\n" + " -r: Remove this program from the Service Manager\n" + " -s: Start the service\n" + " -k: Kill the service\n" + " -t: Set startup for an existing service\n" + " -d: Debug; run as a regular application\n", + progname, + 0)); + ACE_OS::exit(1); +} + +void +Process::parse_args (int argc, ACE_TCHAR* argv[]) +{ + ACE_Get_Opt get_opt (argc, argv, ACE_TEXT ("i:rskt:d")); + int c; + + while ((c = get_opt ()) != -1) + switch (c) + { + case 'i': + opt_install = 1; + opt_startup = ACE_OS::atoi (get_opt.opt_arg ()); + if (opt_startup <= 0) + print_usage_and_die (); + break; + case 'r': + opt_remove = 1; + break; + case 's': + opt_start = 1; + break; + case 'k': + opt_kill = 1; + break; + case 't': + opt_type = 1; + opt_startup = ACE_OS::atoi (get_opt.opt_arg ()); + if (opt_startup <= 0) + print_usage_and_die (); + break; + case 'd': + opt_debug = 1; + break; + default: + // -i can also be given without a value - if so, it defaults + // to defined value. + if (ACE_OS::strcmp (get_opt.argv ()[get_opt.opt_ind () - 1], ACE_TEXT ("-i")) == 0) + { + opt_install = 1; + opt_startup = DEFAULT_SERVICE_INIT_STARTUP; + } + else + { + print_usage_and_die (); + } + break; + } +} + +// Define a function to handle Ctrl+C to cleanly shut this down. + +static BOOL __stdcall +ConsoleHandler (DWORD ctrlType) +{ + ACE_UNUSED_ARG (ctrlType); + SERVICE::instance ()->handle_control (SERVICE_CONTROL_STOP); + return TRUE; +} + +ACE_NT_SERVICE_DEFINE (Beeper, + Service, + ACE_TEXT ("Annoying Beeper Service")); + +int +Process::run (int argc, ACE_TCHAR* argv[]) +{ + SERVICE::instance ()->name (ACE_TEXT ("Beeper"), + ACE_TEXT ("Annoying Beeper Service")); + + parse_args (argc, argv); + + if (opt_install && !opt_remove) + { + if (-1 == SERVICE::instance ()->insert (opt_startup)) + { + ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("insert"))); + return -1; + } + return 0; + } + + if (opt_remove && !opt_install) + { + if (-1 == SERVICE::instance ()->remove ()) + { + ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("remove"))); + return -1; + } + return 0; + } + + if (opt_start && opt_kill) + print_usage_and_die (); + + if (opt_start) + { + if (-1 == SERVICE::instance ()->start_svc ()) + { + ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("start"))); + return -1; + } + return 0; + } + + if (opt_kill) + { + if (-1 == SERVICE::instance ()->stop_svc ()) + { + ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("stop"))); + return -1; + } + return 0; + } + + if (opt_type) + { + if (-1 == SERVICE::instance ()->startup (opt_startup)) + { + ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("set startup"))); + return -1; + } + return 0; + } + + // If we get here, we either run the app in debug mode (-d) or are + // being called from the service manager to start the service. + + if (opt_debug) + { + SetConsoleCtrlHandler (&ConsoleHandler, 1); + SERVICE::instance ()->svc (); + } + else + { + ofstream *output_file = new ofstream("ntsvc.log", ios::out); + if (output_file && output_file->rdstate() == ios::goodbit) + ACE_LOG_MSG->msg_ostream(output_file, 1); + ACE_LOG_MSG->open(argv[0], + ACE_Log_Msg::STDERR | ACE_Log_Msg::OSTREAM, + 0); + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%T (%t): Starting service.\n"))); + + ACE_NT_SERVICE_RUN (Beeper, + SERVICE::instance (), + ret); + if (ret == 0) + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("%p\n"), + ACE_TEXT ("Couldn't start service"))); + else + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%T (%t): Service stopped.\n"))); + } + + return 0; +} + +int +main (int argc, ACE_TCHAR* argv[]) +{ + return PROCESS::instance ()->run (argc, argv); +} + +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) +template class ACE_Singleton<Process, ACE_Mutex>; +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +#pragma instantiate ACE_Singleton<Process, ACE_Mutex> +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/examples/NT_Service/ntsvc.cpp b/examples/NT_Service/ntsvc.cpp new file mode 100644 index 00000000000..d872769bc46 --- /dev/null +++ b/examples/NT_Service/ntsvc.cpp @@ -0,0 +1,111 @@ +// $Id$ + +// ============================================================================ +// +// = LIBRARY +// examples/NT_Service +// +// = FILENAME +// ntsvc.cpp +// +// = DESCRIPTION +// This is the implementation of the NT service. It beeps every 2 +// seconds until the service is stopped. +// +// = AUTHOR +// Gonzalo Diethelm <gonzo@cs.wustl.edu> +// and Steve Huston <shuston@riverace.com> +// +// ============================================================================ + +#include "ace/OS.h" +#include "ace/Reactor.h" +#include "ntsvc.h" + +Service::Service (void) +{ + // Remember the Reactor instance. + reactor (ACE_Reactor::instance ()); + + // Schedule a timer every two seconds. + ACE_Time_Value tv (2, 0); + ACE_Reactor::instance ()->schedule_timer (this, 0, tv, tv); +} + +// This method is called when the service gets a control request. It +// handles requests for stop and shutdown by calling terminate (). +// All others get handled by calling up to inherited::handle_control. + +void +Service::handle_control (DWORD control_code) +{ + if (control_code == SERVICE_CONTROL_SHUTDOWN + || control_code == SERVICE_CONTROL_STOP) + { + report_status (SERVICE_STOP_PENDING); + + ACE_DEBUG ((LM_INFO, + "Service control stop requested\n")); + stop_ = 1; + reactor ()->notify (this, + ACE_Event_Handler::EXCEPT_MASK); + } + else + inherited::handle_control (control_code); +} + +// This is just here to be the target of the notify from above... it +// doesn't do anything except aid on popping the reactor off its wait +// and causing a drop out of handle_events. + +int +Service::handle_exception (ACE_HANDLE) +{ + return 0; +} + +// Beep every two seconds. This is what this NT service does... + +int +Service::handle_timeout (const ACE_Time_Value &tv, + const void *) +{ + ACE_UNUSED_ARG (tv); + MessageBeep (MB_OK); + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%T (%t): Beep...\n"))); + return 0; +} + +// This is the main processing function for the Service. It sets up +// the initial configuration and runs the event loop until a shutdown +// request is received. + +int +Service::svc (void) +{ + ACE_DEBUG ((LM_DEBUG, + "Service::svc\n")); + + // As an NT service, we come in here in a different thread than the + // one which created the reactor. So in order to do anything, we + // need to own the reactor. If we are not a service, report_status + // will return -1. + if (report_status (SERVICE_RUNNING) == 0) + reactor ()->owner (ACE_Thread::self ()); + + stop_ = 0; + + while (!stop_) + reactor ()->handle_events (); + + // Cleanly terminate connections, terminate threads. + ACE_DEBUG ((LM_DEBUG, + "Shutting down\n")); + return 0; +} + +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) +template class ACE_Singleton<Service, ACE_Mutex>; +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +#pragma instantiate ACE_Singleton<Service, ACE_Mutex> +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/examples/Service_Configurator/IPC-tests/server/Server.dsp b/examples/Service_Configurator/IPC-tests/server/Server.dsp new file mode 100644 index 00000000000..dedc82fc1af --- /dev/null +++ b/examples/Service_Configurator/IPC-tests/server/Server.dsp @@ -0,0 +1,299 @@ +# Microsoft Developer Studio Project File - Name="Examples Service Configurator Server Library" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=Examples Service Configurator Server Library - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Server.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Server.mak" CFG="Examples Service Configurator Server Library - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Examples Service Configurator Server Library - Win32 MFC Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "Examples Service Configurator Server Library - Win32 MFC Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "Examples Service Configurator Server Library - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "Examples Service Configurator Server Library - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Examples Service Configurator Server Library - Win32 MFC Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir ""
+# PROP BASE Intermediate_Dir "Release\MFC\Server"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Release\MFC\Server"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../../../" /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "NDEBUG" /D "ACE_SVC_BUILD_DLL" /D ACE_HAS_MFC=1 /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /machine:I386
+# ADD LINK32 ../../../../ace/ACEmfc.lib /nologo /dll /machine:I386 /out:"../../../../bin/Servermfc.dll"
+
+!ELSEIF "$(CFG)" == "Examples Service Configurator Server Library - Win32 MFC Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir ""
+# PROP BASE Intermediate_Dir "Debug\MFC\Server"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug\MFC\Server"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../../../" /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "_DEBUG" /D "ACE_SVC_BUILD_DLL" /D ACE_HAS_MFC=1 /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 ../../../../ace/ACEmfcd.lib /nologo /dll /debug /machine:I386 /out:"../../../../bin/Servermfcd.dll" /pdbtype:sept
+
+!ELSEIF "$(CFG)" == "Examples Service Configurator Server Library - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir ""
+# PROP BASE Intermediate_Dir "Release\Server"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Release\Server"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../../../" /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "NDEBUG" /D "ACE_SVC_BUILD_DLL" /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /machine:I386
+# ADD LINK32 ../../../../ace/ACE.lib advapi32.lib /nologo /dll /machine:I386 /out:"../../../../bin/Server.dll"
+
+!ELSEIF "$(CFG)" == "Examples Service Configurator Server Library - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir ""
+# PROP BASE Intermediate_Dir "Debug\Server"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug\Server"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../../../" /D "WIN32" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "_DEBUG" /D "ACE_SVC_BUILD_DLL" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 ../../../../ace/ACEd.lib /nologo /dll /debug /machine:I386 /out:"../../../../bin/Serverd.dll" /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "Examples Service Configurator Server Library - Win32 MFC Release"
+# Name "Examples Service Configurator Server Library - Win32 MFC Debug"
+# Name "Examples Service Configurator Server Library - Win32 Release"
+# Name "Examples Service Configurator Server Library - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
+# Begin Source File
+
+SOURCE=.\Handle_Broadcast.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_CODgram.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_Dgram.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_FIFO.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_Pipe.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_SPIPE.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_Stream.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_R_Dgram.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_R_Stream.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_Thr_Stream.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_Timeout.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;fi;fd"
+# Begin Source File
+
+SOURCE=.\Handle_Broadcast.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_CODgram.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_Dgram.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_FIFO.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_Pipe.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_SPIPE.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_Stream.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_R_Dgram.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_R_Stream.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_Thr_Stream.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_Timeout.h
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl;pidl"
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter "inl;i"
+# Begin Source File
+
+SOURCE=.\Handle_Broadcast.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_CODgram.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_Dgram.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_FIFO.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_Pipe.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_SPIPE.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_L_Stream.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_R_Dgram.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_R_Stream.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_Thr_Stream.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\Handle_Timeout.i
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/include/makeinclude/ace_flags.bor b/include/makeinclude/ace_flags.bor new file mode 100644 index 00000000000..b013345239e --- /dev/null +++ b/include/makeinclude/ace_flags.bor @@ -0,0 +1,132 @@ +# +# Flags specific for compiling ACE library and applications +# with Borland C++Builder +# + +!ifdef STATIC +DLL_FLAG=0 +DLL_NAME= +!else +DLL_FLAG=1 +DLL_NAME=dll +!endif + +# +# Compiler flags +# +!ifdef DEBUG +ACE_CFLAGS = -I$(ACE_ROOT) -DACE_HAS_DLL=$(DLL_FLAG) -DACE_OS_HAS_DLL=$(DLL_FLAG) -DACE_NO_INLINE=1 +!else +ACE_CFLAGS = -I$(ACE_ROOT) -DACE_HAS_DLL=$(DLL_FLAG) -DACE_OS_HAS_DLL=$(DLL_FLAG) +!endif +!ifdef SSL_ROOT +SSL_CFLAGS = -I$(SSL_ROOT)\inc32 -DACE_HAS_SSL=1 +!endif +ACE_XML_CFLAGS = -I$(ACE_ROOT) -I$(ACE_ROOT)\XML -DACEXML_HAS_DLL=$(DLL_FLAG) +ACE_SSL_CFLAGS = -I$(ACE_ROOT) -DACE_SSL_HAS_DLL=$(DLL_FLAG) +ACE_QOS_CFLAGS = -I$(ACE_ROOT) -DACE_QoS_HAS_DLL=$(DLL_FLAG) +ACE_RMCAST_CFLAGS = -I$(ACE_ROOT) -DACE_RMCAST_HAS_DLL=$(DLL_FLAG) +TAO_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_HAS_DLL=$(DLL_FLAG) +TAO_DOMAIN_FLAGS = -I$(ACE_ROOT)\TAO -DTAO_DOMAIN_HAS_DLL=$(DLL_FLAG) +TAO_DYNAMICANY_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_DYNAMICANY_HAS_DLL=$(DLL_FLAG) +TAO_DYNAMICINTERFACE_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_DYNAMICINTERFACE_HAS_DLL=$(DLL_FLAG) +TAO_BIDIRGIOP_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_BIDIRGIOP_HAS_DLL=$(DLL_FLAG) +TAO_IFR_CLIENT_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_IFR_CLIENT_HAS_DLL=$(DLL_FLAG) +TAO_STRATEGIES_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_STRATEGIES_HAS_DLL=$(DLL_FLAG) +TAO_PORTABLESERVER_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_PORTABLESERVER_HAS_DLL=$(DLL_FLAG) +TAO_IORMANIP_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_IORMANIP_HAS_DLL=$(DLL_FLAG) +TAO_IORTABLE_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_IORTABLE_HAS_DLL=$(DLL_FLAG) +TAO_SMARTPROXIES_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_SMARTPROXIES_HAS_DLL=$(DLL_FLAG) +TAO_TYPECODEFACTORY_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_TYPECODEFACTORY_HAS_DLL=$(DLL_FLAG) +TAO_RTCORBA_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_RTCORBA_HAS_DLL=$(DLL_FLAG) +TAO_RTPORTABLESERVER_CFLAGS = -I$(ACE_ROOT)\TAO -DTAO_RTPORTABLESERVER_HAS_DLL=$(DLL_FLAG) +TAO_IDL_BE_CFLAGS = -I$(ACE_ROOT)\TAO\TAO_IDL -I$(ACE_ROOT)\TAO\TAO_IDL\be_include \ + -DTAO_IDL_BE_HAS_DLL=$(DLL_FLAG) +TAO_IDL_FE_CFLAGS = -I$(ACE_ROOT)\TAO\TAO_IDL -I$(ACE_ROOT)\TAO\TAO_IDL\fe \ + -I$(ACE_ROOT)\TAO\TAO_IDL\include -I$(ACE_ROOT)\TAO\TAO_IDL\util -DTAO_IDL_FE_HAS_DLL=$(DLL_FLAG) +TAO_SVC_UTILS_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_SVC_UTILS_HAS_DLL=$(DLL_FLAG) +TAO_AV_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_AV_HAS_DLL=$(DLL_FLAG) +TAO_CONCURRENCY_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_CONCURRENCY_HAS_DLL=$(DLL_FLAG) +TAO_EVENT_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_EVENT_HAS_DLL=$(DLL_FLAG) +TAO_FT_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_FT_HAS_DLL=$(DLL_FLAG) +TAO_FTORB_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_FT_HAS_DLL=$(DLL_FLAG) +TAO_LIFECYCLE_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_LIFECYCLE_HAS_DLL=$(DLL_FLAG) +TAO_LOADBALANCING_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_LOADBALANCING_HAS_DLL=$(DLL_FLAG) +TAO_LOG_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_LOG_HAS_DLL=$(DLL_FLAG) +TAO_NAMING_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_NAMING_HAS_DLL=$(DLL_FLAG) +TAO_NOTIFY_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_NOTIFY_HAS_DLL=$(DLL_FLAG) +TAO_PROPERTY_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_PROPERTY_HAS_DLL=$(DLL_FLAG) +TAO_RTEVENT_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_RTEVENT_HAS_DLL=$(DLL_FLAG) +TAO_RTOLDEVENT_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_RTOLDEVENT_HAS_DLL=$(DLL_FLAG) +TAO_RTSCHED_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_RTSCHED_HAS_DLL=$(DLL_FLAG) +TAO_RTSCHEDEVENT_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_RTSCHEDEVENT_HAS_DLL=$(DLL_FLAG) +TAO_SECURITY_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_SECURITY_HAS_DLL=$(DLL_FLAG) +TAO_SSLIOP_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_SSLIOP_HAS_DLL=$(DLL_FLAG) +TAO_TIME_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_TIME_HAS_DLL=$(DLL_FLAG) +TAO_TRADING_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_TRADING_HAS_DLL=$(DLL_FLAG) +TAO_PORTABLEGROUP_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_PORTABLEGROUP_HAS_DLL=$(DLL_FLAG) +TAO_ETCL_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs -DTAO_ETCL_HAS_DLL=$(DLL_FLAG) + +# +# Libraries +# +ACE_LIB = $(CORE_BINDIR)\ace$(LIB_DECORATOR).lib +!ifdef SSL_ROOT +SSL_LIB = $(SSL_ROOT)\out32$(DLL_NAME)\libeay32.lib $(SSL_ROOT)\out32$(DLL_NAME)\ssleay32.lib +!endif +ACE_XML_LIB = $(CORE_BINDIR)\ACEXML$(LIB_DECORATOR).lib +ACE_SSL_LIB = $(CORE_BINDIR)\ACE_SSL$(LIB_DECORATOR).lib +ACE_QOS_LIB = $(CORE_BINDIR)\ACE_QoS$(LIB_DECORATOR).lib +NETSVCS_LIB = $(CORE_BINDIR)\netsvcs$(LIB_DECORATOR).lib +ACE_RMCAST_LIB = $(CORE_BINDIR)\ACE_RMCast$(LIB_DECORATOR).lib +TAO_LIB = $(CORE_BINDIR)\TAO$(LIB_DECORATOR).lib +TAO_DOMAIN_LIB = $(CORE_BINDIR)\TAO_Domain$(LIB_DECORATOR).lib +TAO_DYNAMICANY_LIB = $(CORE_BINDIR)\TAO_DynamicAny$(LIB_DECORATOR).lib +TAO_DYNAMICINTERFACE_LIB = $(CORE_BINDIR)\TAO_DynamicInterface$(LIB_DECORATOR).lib +TAO_BIDIRGIOP_LIB = $(CORE_BINDIR)\TAO_BiDirGIOP$(LIB_DECORATOR).lib +TAO_IFR_CLIENT_LIB = $(CORE_BINDIR)\TAO_IFR_Client$(LIB_DECORATOR).lib +TAO_PORTABLESERVER_LIB = $(CORE_BINDIR)\TAO_PortableServer$(LIB_DECORATOR).lib +TAO_STRATEGIES_LIB = $(CORE_BINDIR)\TAO_Strategies$(LIB_DECORATOR).lib +TAO_IORMANIP_LIB = $(CORE_BINDIR)\TAO_IORManip$(LIB_DECORATOR).lib +TAO_IORTABLE_LIB = $(CORE_BINDIR)\TAO_IORTable$(LIB_DECORATOR).lib +TAO_SMARTPROXIES_LIB = $(CORE_BINDIR)\TAO_SmartProxies$(LIB_DECORATOR).lib +TAO_TYPECODEFACTORY_LIB = $(CORE_BINDIR)\TAO_TypeCodeFactory$(LIB_DECORATOR).lib +TAO_RTCORBA_LIB = $(CORE_BINDIR)\TAO_RTCORBA$(LIB_DECORATOR).lib +TAO_RTPORTABLESERVER_LIB = $(CORE_BINDIR)\TAO_RTPortableServer$(LIB_DECORATOR).lib +TAO_IDL_BE_LIB = $(CORE_BINDIR)\TAO_IDL_BE$(LIB_DECORATOR).lib +TAO_IDL_FE_LIB = $(CORE_BINDIR)\TAO_IDL_FE$(LIB_DECORATOR).lib +TAO_SVC_UTILS_LIB = $(CORE_BINDIR)\TAO_Svc_Utils$(LIB_DECORATOR).lib +TAO_AV_LIB = $(CORE_BINDIR)\TAO_AV$(LIB_DECORATOR).lib +TAO_CONCURRENCY_LIB = $(CORE_BINDIR)\TAO_CosConcurrency$(LIB_DECORATOR).lib +TAO_EVENT_LIB = $(CORE_BINDIR)\TAO_CosEvent$(LIB_DECORATOR).lib +TAO_FT_LIB = $(CORE_BINDIR)\TAO_FaultTolerance$(LIB_DECORATOR).lib +TAO_FTORB_LIB = $(CORE_BINDIR)\TAO_FTORB$(LIB_DECORATOR).lib +TAO_LIFECYCLE_LIB = $(CORE_BINDIR)\TAO_CosLifeCycle$(LIB_DECORATOR).lib +TAO_LOADBALANCING_LIB = $(CORE_BINDIR)\TAO_LoadBalancing$(LIB_DECORATOR).lib +TAO_LOG_LIB = $(CORE_BINDIR)\TAO_DsLogAdmin$(LIB_DECORATOR).lib +TAO_NAMING_LIB = $(CORE_BINDIR)\TAO_CosNaming$(LIB_DECORATOR).lib +TAO_NOTIFY_LIB = $(CORE_BINDIR)\TAO_CosNotification$(LIB_DECORATOR).lib +TAO_PROPERTY_LIB = $(CORE_BINDIR)\TAO_CosProperty$(LIB_DECORATOR).lib +TAO_RTEVENT_LIB = $(CORE_BINDIR)\TAO_RTEvent$(LIB_DECORATOR).lib +TAO_RTOLDEVENT_LIB = $(CORE_BINDIR)\TAO_RTOLDEvent$(LIB_DECORATOR).lib +TAO_RTSCHED_LIB = $(CORE_BINDIR)\TAO_RTSched$(LIB_DECORATOR).lib +TAO_RTSCHEDEVENT_LIB = $(CORE_BINDIR)\TAO_RTSchedEvent$(LIB_DECORATOR).lib +TAO_SECURITY_LIB = $(CORE_BINDIR)\TAO_Security$(LIB_DECORATOR).lib +TAO_SSLIOP_LIB = $(CORE_BINDIR)\TAO_SSLIOP$(LIB_DECORATOR).lib +TAO_TIME_LIB = $(CORE_BINDIR)\TAO_CosTime$(LIB_DECORATOR).lib +TAO_TRADING_LIB = $(CORE_BINDIR)\TAO_CosTrading$(LIB_DECORATOR).lib +TAO_PORTABLEGROUP_LIB = $(CORE_BINDIR)\TAO_PortableGroup$(LIB_DECORATOR).lib +TAO_ETCL_LIB = $(CORE_BINDIR)\TAO_ETCL$(LIB_DECORATOR).lib + +# +# Compiler flags tests +# +TAO_RTEVENT_TEST_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs\tests\Event\lib -DEC_TEST_HAS_DLL=$(DLL_FLAG) +TAO_COSEVENT_CECTEST_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs\tests\CosEvent\lib -DCEC_Test_HAS_DLL=$(DLL_FLAG) +TAO_NOTIFYTESTS_CFLAGS = -I$(ACE_ROOT)\TAO\orbsvcs\tests\Notify\lib -DTAO_NOTIFY_TEST_HAS_DLL=$(DLL_FLAG) +# +# Test Libraries +# +TAO_RTEVENT_TEST_LIB = $(CORE_BINDIR)\ECTests$(LIB_DECORATOR).lib +TAO_COSEVENT_CECTEST_LIB = $(CORE_BINDIR)\CECTest$(LIB_DECORATOR).lib +TAO_NOTIFYTESTS_LIB = $(CORE_BINDIR)\TAO_NotifyTests$(LIB_DECORATOR).lib diff --git a/include/makeinclude/platform_linux.GNU b/include/makeinclude/platform_linux.GNU new file mode 100644 index 00000000000..a08d9f529ff --- /dev/null +++ b/include/makeinclude/platform_linux.GNU @@ -0,0 +1,135 @@ +# $Id$ + +# According to Bryon G. Rigg <bgrigg@opus.bcbnet.com>, this file +# should allow ACE to be built on Linux. + +# debug = 1 +# optimize = 1 + +ifndef exceptions + exceptions = 1 +endif +ifeq (,$(debug)) + debug = 1 +endif +ifeq (,$(optimize)) + optimize = 1 +endif + +ifeq (,$(threads)) + threads = 1 +endif + +ifeq ($(threads),0) + CPPFLAGS += -DACE_MT_SAFE=0 +endif # threads + + +PLATFORM_XT_CPPFLAGS= +PLATFORM_XT_LIBS=-lXt +LATFORM_XT_LDFLAGS= + +PLATFORM_FL_CPPFLAGS= +PLATFORM_FL_LIBS=-lfltk +PLATFORM_FL_LDFLAGS= + +PLATFORM_X11_CPPFLAGS=-I/usr/X11R6/include +PLATFORM_X11_LIBS=-lX11 +PLATFORM_X11_LDFLAGS=-L/usr/X11R6/lib + +PLATFORM_GL_CPPFLAGS=-I/usr/X11R6/include +PLATFORM_GL_LIBS =-lGL +PLATFORM_GL_LDFLAGS =-L/usr/X11R6/lib + +PLATFORM_GTK_CPPFLAGS=$(shell gtk-config --cflags) +PLATFORM_GTK_LIBS =$(shell gtk-config --libs) +PLATFORM_GTK_LDFLAGS= + +PLATFORM_WX_CPPFLAGS= $(shell wx-config --cflags) $(PLATFORM_GTK_CPPFLAGS) +PLATFORM_WX_LIBS = $(shell wx-config --libs) $(PLATFORM_GTK_LIBS) +PLATFORM_WX_LDFLAGS = + +PLATFORM_AIO_SUPPORT := \ + $(shell test -e /usr/lib/librt.so && echo -DACE_HAS_AIO_CALLS) + +ifeq ($(insure),1) +CC = insure +CXX = insure +else +CC = gcc +CXX = g++ +endif + +CXX_VERSION := $(shell $(CXX) -dumpversion) + +ifeq (2.95,$(findstring 2.95,$(CXX_VERSION))) + implicit_templates = 1 +else + ifeq (3.,$(findstring 3.,$(CXX_VERSION))) + implicit_templates = 1 + endif + ifeq (2.96,$(findstring 2.96,$(CXX_VERSION))) + implicit_templates = 1 + endif +endif + +ifeq ($(implicit_templates),) + ifeq ($(IMPLICIT_TEMPLATES_FLAG),) + IMPLICIT_TEMPLATES_FLAG=-fno-implicit-templates + endif +endif + +CFLAGS += -W -Wall -Wpointer-arith -pipe +ifeq ($(threads),1) + CPPFLAGS += -D_POSIX_THREADS -D_POSIX_THREAD_SAFE_FUNCTIONS -D_REENTRANT \ + $(PLATFORM_AIO_SUPPORT) +endif # threads + +CCFLAGS += $(CFLAGS) $(IMPLICIT_TEMPLATES_FLAG) +DCFLAGS += -g +DLD = $(CXX) +LD = $(CXX) +LIBS += -ldl + +ifeq ($(threads),1) + LIBS += -lpthread + ifeq (-DACE_HAS_AIO_CALLS,$(PLATFORM_AIO_SUPPORT)) + LIBS += -lrt + endif +endif + +PLATFORM_QT_CPPFLAGS=-I$(QTDIR)/include +PLATFORM_QT_LIBS=-lqt +PLATFORM_QT_LDFLAGS=-L$(QTDIR)/lib + +OCFLAGS += -O3 +PIC = -fPIC +AR = ar +ARFLAGS = rsuv +RANLIB = @true +SOFLAGS = $(CPPFLAGS) -shared +SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $<; \ + $(SOLINK.cc) -o $@ $(LDFLAGS) $(VSHDIR)$*.o +PRELIB = @true + +# Added line below to support "Executable Shared Object" files (as +# needed by the service configurator). +# Marius Kjeldahl <mariusk@sn.no, marius@funcom.com> +ifeq ($(threads),1) + ESOBUILD = $(COMPILEESO.cc) $(PIC) -shared -o $(VSHDIR)$*.so $< + ifndef PRELIB + PRELIB = @true + endif # ! PRELIB +endif + +#### GNU gas has a string limit of 4096 characters. On Alphas, +#### builds will fail due to running over that limit. There are +#### at least two workarounds: +#### 1) Change the limit to 8192 characters and rebuild gas. See +#### ACE-INSTALL.html for more information. +#### 2) Don't use -g when compiling those files. +#### If you're building on an Alpha and you haven't hacked and +#### rebuilt gas, you might need to uncomment the following. +#### ifeq ($(debug),1) +#### SUPPRESS_DASH_G = 1 +#### endif # debug diff --git a/include/makeinclude/platform_sunos5_sunc++.GNU b/include/makeinclude/platform_sunos5_sunc++.GNU new file mode 100644 index 00000000000..8912196b49a --- /dev/null +++ b/include/makeinclude/platform_sunos5_sunc++.GNU @@ -0,0 +1,223 @@ +# $Id$ + +# SunOS 5.x (Solaris 2.x) with Sun C++ 4.2 and 5.x +# +# NOTE: Sun C++ 5.0 users might need to add this to their CCFLAGS: +# -compat=4 and/or remove -instances=explicit. Please note that +# inlining is disabled by default with Sun C++ 5.0. If you'd like +# to try enabling it, comment out the "inline = 0" line below. +# +# To enable compilation of 64-bit binaries with Sun CC 5.0, a +# platform_macros.GNU file such as this can be used: +# fast=1 +# include $(ACE_ROOT)/include/makeinclude/platform_sunos5_sunc++.GNU +# CCFLAGS += -xtarget=ultra2 -xarch=v9a #### CPU specific! +# SOFLAGS += -xtarget=ultra2 -xarch=v9a +# LDFLAGS += -L/opt/SUNWspro/SC5.0/lib/v9 -L/usr/lib/sparcv9 +# Please note that the xtarget and xarch settings are specific to +# the target CPU. The /opt/SUNWspro/ Sun C++ installation directory +# is site-specific. +# +# To build 64-bit binaries with Forte 6, build with the "buildbits=64" +# option (make buildbits=64). +# +# With slight modification, this file could be used with Sun C++ 4.1. +# However, it's likely that you won't be able to build all of ACE +# with Sun C++ 4.1. +# +# NOTE: some ACE files might generate this warning: +# "Warning: Could not find source for " one of the following: +# default constructor, copy constructor, destructor, or assignment +# operator. It appears that with +w, Sun C++ 4.x issues this warning +# whenever it has to generate one of these functions (because it wasn't +# defined by the user). This isn't really a problem. +# This warning appears to be fixed by Sun C++ 4.2 jumbo patch 104631-02. +# +# -pta instantiates all template members, which makes libraries bigger. +# But, it's supposed to put each member into it's own .o, so executable +# size should not be penalized. We don't use it because it's not +# necessary with automatic template instantiation. + +ifeq (,$(compat4)) + compat4 = 0 +endif +ifeq (,$(debug)) + debug = 1 +endif +ifeq (,$(distrib)) + distrib = 0 +endif +ifeq (,$(stdcpplib)) + stdcpplib = 1 +endif +ifeq (,$(threads)) + threads = 1 +endif + +tk_reactor = 0 +ace_with_x11 = 0 + +PLATFORM_TK_CPPFLAGS= +PLATFORM_TK_LIBS=-ltk -ltcl +PLATFORM_TK_LDFLAGS= + +PLATFORM_X11_CPPFLAGS= -I/usr/openwin/include -I/usr/dt/include +PLATFORM_X11_LIBS =-lX11 +PLATFORM_X11_LDFLAGS= + +ifeq ($(threads),1) + CFLAGS += -mt + LDFLAGS += -mt +endif # threads + +CC = cc +CXX = CC + +CC_VERSION = $(shell $(CXX) -V 2>&1) + +ifeq (Compilers 4.2,$(findstring Compilers 4.2,$(CC_VERSION))) + #### CC 4.2, only, supports -features=castop + CCFLAGS += $(CFLAGS) -features=castop + + #### RTTI can coexist with ACE, but it doesn't use it. To enable, + #### add rtti=1 to your make invocation. Sun C++ 4.2, only, supports + #### this option. + ifeq (1,$(rtti)) + CCFLAGS += -features=rtti + else # ! rtti + #### ACE_LACKS_RTTI is necessary with -features=castop, but + #### without -features=rtti, to convert dynamic_cast to static_cast. + CCFLAGS += -DACE_LACKS_RTTI + endif # ! rtti + + #### Create template repository to avoid compiler warning. + TEMPLATE_REPOSITORY = Templates.DB +else # ! 4.2 + ifeq (C++ 5,$(findstring C++ 5,$(CC_VERSION))) + #### CC 5.0 or later + #### Inlining appears to cause link problems with early releases of + #### CC 5.0. + ifeq (C++ 5.2,$(findstring C++ 5.2,$(CC_VERSION))) + inline = 1 + exceptions = 1 + else + inline = 0 + endif + + CCFLAGS += $(CFLAGS) + + #### If compat=4 is desired, set up for that. There are syntactic diffs + #### in the compatibility modes, but here all we need to be concerned with + #### is turning on -compat=4, and not trying to enable the new libraries. + #### RTTI may work, but has not been tested. To try it, cut/paste the + #### rtti conditions from the 4.2 section, above. + ifeq ($(compat4),1) + CCFLAGS += -compat=4 -DACE_LACKS_RTTI -instances=explicit + else + #### Support RTTI by default. And, use explicit template instantiation + #### because automatic instantiation appears to be broken, at least + #### with early releases of CC 5.0. And, use old iostreams. + CCFLAGS += -instances=explicit + ifeq (C++ 5.0,$(findstring C++ 5.0,$(CC_VERSION))) + ifeq (1,$(stdcpplib)) + CCFLAGS += -library=Cstd + else + CCFLAGS += -library=iostream,no%Cstd -DACE_USES_OLD_IOSTREAMS + endif # stdcpplib + else + ifeq (0,$(stdcpplib)) + CCFLAGS += -library=iostream -DACE_USES_OLD_IOSTREAMS + endif # stdcpplib + + # If 64-bit build is desired, turn that on. If no code gen options + # are given to Forte 6, the default build is 32-bit, even when + # building on a 64-bit system. Specifying xarch=v9 generates code + # that runs on any Sparc v9 (64-bit) processor. If you want to + # tune this further, you should extract and insert from CCFLAGS + # in a private platform_macros.GNU file. + ifeq (64,$(buildbits)) + CCFLAGS += -xarch=v9 + LDFLAGS += -xarch=v9 + endif # buildbits + endif # CC 5.0 + endif # compat4 requested + endif # CC 5.0 or later +endif # ! 4.2 + +DCFLAGS += -g +DCCFLAGS += -g +DLD = $(CXX) + + +#### Sun CC-specific "Pure virtual finction called" bug fix trigger. +CPPFLAGS += -DSUN_CC_HAS_PVFC_BUG + +#### Exception handling breaks on MP machines prior to Sun C++ 4.2 +#### with jumbo patch 104631-02, see ace/config-sunos5.5.h. +#### If you are using a version of Sun C++ prior to 4,2, or haven't +#### applied that jumbo patch to your 4.2, or don't want to pay the +#### performance penalty of exception handling, then use the default +#### of no exceptions. If you want to enable exception handling, +#### add "exceptions=1" to your "make" invocation. +ifeq (0,$(exceptions)) + CCFLAGS += -noex +endif # ! exceptions + +LD = $(CXX) +ifeq ($(distrib),0) + LDFLAGS += -R $(ACE_ROOT)/ace -R./ +endif + LIBS += -lsocket -ldl -lnsl -lgen -lposix4 + +ifeq (C++ 5,$(findstring C++ 5,$(CC_VERSION))) + ifeq ($(compat4),1) + COMPAT_LIBDIR=/opt/SUNWspro/lib/CC4 + LIBS += -L$(COMPAT_LIBDIR) -lC + endif +endif + +LDFLAGS += -xildoff + +OCFLAGS += -O +PIC = -KPIC +AR = CC +ARFLAGS = -xar -o +RANLIB = echo +SOFLAGS = -G $(CPPFLAGS) + +ifdef BIN + #### Builds .shobj/$*.o file, then .shobj/$*.so file. The .o files + #### are used for building libraries and executables. But, it seems + #### to be necessary to build the .so files (with -G) in order to get + #### all template instantiations. + SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $<; \ + $(SOLINK.cc) -o $@ -h $@ $(LDFLAGS) $(VSHDIR)$*.o +else + #### Optimize builds when no executables are built in the current + #### directory. Only a library is being created, and -G is used + #### in that step. Therefore, all templates instantations are + #### included in the library. This optimization saves almost 11 Mb + #### (2.6 percent) and 27 minutes (22 percent) on the entire ACE + #### build on a 168 MHz Sun Ultra2. + #### + #### Sun C++ won't allow the output from a compile to be named with + #### a .so extension. Rather than muck with the ACE build rules and + #### risk upsetting builds on other platforms, just ln the output + #### after building it. + SOBUILD = $(RM) $@; $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $< && \ + /bin/ln $(VSHDIR)$*.o $@ +endif # BIN + +#### The following macro overrides enable creation of fast executables. +#### They _don't_ support fast compilation :-) +#### To use, add fast=1 to your "make" invocation. +#### +#### -g is incompatible with -fast. If you need -g, you can +#### use "-fast -O3". +#### +ifeq (1,$(fast)) + CFLAGS += -fast + DCFLAGS = + DCCFLAGS = + LDFLAGS += -fast +endif # fast diff --git a/include/makeinclude/wrapper_macros.GNU b/include/makeinclude/wrapper_macros.GNU new file mode 100644 index 00000000000..446be2c6ed8 --- /dev/null +++ b/include/makeinclude/wrapper_macros.GNU @@ -0,0 +1,701 @@ +# -*- Makefile -*- + +#---------------------------------------------------------------------------- +# $Id$ +#---------------------------------------------------------------------------- +# +# ACE supports the following flags. They can be enabled either on +# the command line, e.g., "make purify=1", or added to your +# platform_macros.GNU. To disable the option, set the flag to null, +# e.g., "make debug=". Some flags support setting to 0 disable, +# e.g., "make debug=0". debug=1 is enabled in the platform files +# that are released with ACE. +# +# Please note that the effects of a flag may be platform specific. +# Also, combinations of certain flags may or may not be allowed on +# specific platforms, e.g., debug=1 opt=1 is supported by g++ but +# not all other C++ compilers. +# +# Flag Description +# ---- ----------- +# debug Enable debugging; see DCFLAGS and DCCFLAGS. +# exceptions Enable exception handling (not supported by all platforms). +# include_env Enable usage of CORBA::Environment parameters that is +# compatible with TAO versions before 1.2.2. Default: +# disabled. Has no effect when building with exceptions=0 +# minimum_corba Enable minimumCORBA support. (Documented here, but +# implemented in TAO/rules.TAO.GNU.) +# fast Enable -fast option, e.g., with Sun C++. +# inline Enable ACE inlining. Some platforms enable inlining by +# default, others do not. +# optimize Enable optimization; see OCFLAGS and OCCFLAGS. +# pace Enable PACE as the underpinnings of ACE_OS. +# probe Enable ACE_Timeprobes. +# profile Enable profiling; see PCFLAGS and PCCFLAGS. +# purify Purify all executables. purify must be in user's PATH! +# quantify Quantify all executables. quantify must be in user's PATH! +# repo Use GNU template repository (g++ with repo patches and +# egcs only). +# rtti Enable run-time type identification. On some platforms, +# it is enabled by default, so this is ignored. +# shared_libs Build shared libraries. Ignored if static_libs_only is set. +# static_libs Build static libraries. Ignored if shared_libs_only is set. +# shared_libs_only Only build shared libraries. Ignored if no SHLIBs are +# specified by the Makefile, as in performance-tests/Misc. +# static_libs_only Only build static libraries. +# threads Build with thread support. +# xt_reactor Build the XtReactor. +# fl_reactor Build the FlReactor. +# tk_reactor Build the TkReactor. +# qt_reactor Build the QtReactor. +# gtk_reactor Build the GtkReactor. +# ssl Build with OpenSSL support. +# rapi Build with RAPI +# split Build the library by first splitting up the ACE source to several +# files, with one object code entity for each source file. This allows +# an application that is linked with ACE to extract _exactly_ what it +# needs from the library, resulting in a smaller executable. +# Setting this to 1 overrides debug to 0. +# +# Usually, users do not need to be concerned with make targets. +# Just enter "make" on the command line to build. A few notable +# targets are listed below. +# +# Target Description +# ------ ----------- +# show_statics Lists all static objects in object files built for +# current directory. Only supported for g++. +# show_uninit Lists all uninitialized in object files built for +# current directory. Only supported for g++. +# +# The following describes the ACE wrapper macros: +# +# Variable Description +# -------- ----------- +# ACE_HAS_GNUG_PRE_2_8 CXX includes "g++", and the g++ version is +# prior to 2.8.0. This is automatically determined +# below, but can be overridden in the user's +# platform_macros.GNU or environment. Three values +# are supported: +# 1 for g++ < 2.8.0, +# 0 for g++ >= 2.8.0 or egcs, +# undefined for non-g++ compilers. +# ARFLAGS Flags for the archive utility (ar) +# CC C compiler command +# CXX C++ compiler command +# COMPILE.c Flags for compiling with C +# COMPILE.cc Flags for compiling with C++ +# CPPFLAGS C pre-processor flags +# CFLAGS C compilation flags +# CCFLAGS C++ compilation flags +# DCFLAGS C compilation flags for debugging +# DCCFLAGS C++ compilation flags for debugging +# DEFFLAGS C++ preprocessor flag for defining symbols +# DLD Name of dynamic linker +# LD Name of linker +# IDL Name of the CORBA IDL compiler +# INSBIN Binary (executable) installation directory +# INSINC Include file installation directory +# INSMAN Manpage installation directory +# INSLIB Library installation directory +# LDFLAGS ld linker flags +# LINK.c Flags for linking with C +# LINK.cc Flags for linking with C++ +# MAKEFLAGS Flags that are passed into the compilation from the commandline +# OCFLAGS Optimizing C compilation flags +# OCCFLAGS Optimizing C++ compilation flags +# PCFLAGS C compilation flags for profiling +# PCCFLAGS C++ compilation flags for profiling +# PLATFORM_XT_CPPFLAGS Platform CPP options for X11 (some require -I...) +# PLATFORM_XT_LDFLAGS Platform LD options for X11 (some require -L...) +# PLATFORM_XT_LIBS Platform libraries require with X11 +# PLATFORM_SSL_CPPFLAGS Platform CPP options for OpenSSL (may need -I...) +# PLATFORM_SSL_LDFLAGS Platform LD options for OpenSSL (may need -L...) +# PLATFORM_SSL_LIBS Platform libraries required with OpenSSL +# PLATFORM_RAPI_CPPFLAGS Platform CPP options for RAPI +# PLATFORM_RAPI_LDFLAGS Platform LD options for RAPI +# PLATFORM_RAPI_LIBS Platform libraries required with RAPI +# PRELINK Executable to precede linking, such as quantify +# PURELINK If set, contains purify executable as well as all options +# PURE_CACHE_BASE_DIR +# The base directory in which Pure products will produce +# instrumented libraries. If you don't want that to be below +# /tmp, set this variable in your environment or on the make +# command line. +# PURE_CACHE_DIR +# The full name of the directory in which Pure produces will +# produce instrumented libraries. +# PTDIRS Pathnames of directories containing template code +# RM Name of program to use to remove files +# SOFLAGS Flags used to build a shared library +# SOLINK.cc Link line necessary to build a share library +# VAR Variant identifier suffix +# VDIR Directory for object code +# VSHDIR Directory for shared object code +# ACE_ROOT Pathname for the root of the build tree +# +#---------------------------------------------------------------------------- +# Platform-dependent macro definitions +# (link to the appropriate platform-specific config file). +#---------------------------------------------------------------------------- + +#### Default to building shared libraries only. Set it here to give the +#### platform a chance to override. +ifeq ($(shared_libs),) + shared_libs = 1 +endif # shared_libs +ifeq ($(static_libs),) + static_libs = 0 +endif # static_libs + +#### Defined versioned_so = 1 if your platform requires version number +#### be appended after so library. +versioned_so = 0 + +#### The system has X Windows and we want to include the XtReactor in +#### the library +xt_reactor = 0 + +ifndef PACE_ROOT + PACE_ROOT = $(ACE_ROOT)/PACE +endif # PACE_ROOT + +# Include this before the below variables to make it possible for +# platform_macros.GNU to set default values for them. +include $(ACE_ROOT)/include/makeinclude/platform_macros.GNU + +#### +#### Defaults are exceptions off (0), fast off (0), and rtti off (0) +#### +ifndef exceptions + exceptions = 0 +endif + +ifndef fast + fast = 0 +endif + +# @@@ Should this really be the default? Or should we let the +# compiler choose? +ifndef rtti + rtti = 0 +endif + +#---------------------------------------------------------------------------- +# Platform-independent macro definitions +#---------------------------------------------------------------------------- + +CPPFLAGS += $(DEFFLAGS) $(INCLDIRS) + +# Define default extentions for IDL-generated files +ifeq ($(IDL_CLIENT_HDR_EXT),) +IDL_CLIENT_HDR_EXT = C.h +endif +ifeq ($(IDL_CLIENT_INL_EXT),) +IDL_CLIENT_INL_EXT = C.i +endif +ifeq ($(IDL_CLIENT_SRC_EXT),) +IDL_CLIENT_SRC_EXT = C.cpp +endif +ifeq ($(IDL_SERVER_HDR_EXT),) +IDL_SERVER_HDR_EXT = S.h +endif +ifeq ($(IDL_SERVER_INL_EXT),) +IDL_SERVER_INL_EXT = S.i +endif +ifeq ($(IDL_SERVER_SRC_EXT),) +IDL_SERVER_SRC_EXT = S.cpp +endif +ifeq ($(IDL_SERVER_THDR_EXT),) +IDL_SERVER_THDR_EXT = S_T.h +endif +ifeq ($(IDL_SERVER_TINL_EXT),) +IDL_SERVER_TINL_EXT = S_T.i +endif +ifeq ($(IDL_SERVER_TSRC_EXT),) +IDL_SERVER_TSRC_EXT = S_T.cpp +endif + +ifeq (,$(findstring -I$(ACE_ROOT),$(INCLDIRS))) + INCLDIRS += -I$(ACE_ROOT) +endif +INSBIN = $(ACE_ROOT)/bin +INSINC = $(ACE_ROOT)/ace +INSLIB = $(ACE_ROOT)/ace +INSMAN = $(ACE_ROOT)/man +ifeq (,$(findstring -L$(ACE_ROOT)/ace,$(LDFLAGS))) + LDFLAGS += -L$(ACE_ROOT)/ace -L./ +endif +LEX = flex + +ifndef COMSPEC + ifdef ComSpec + #### ACE+TAO use COMSPEC, but ComSpec is defined. + COMSPEC = $(ComSpec) + endif # ComSpec +endif # ! COMPSPEC + +ifdef COMSPEC + #### Assume we're on a WIN32 host. + ACE_NUL = nul +else # ! WIN32 + ACE_NUL = /dev/null +endif # ! WIN32 + +#### Redirect stderr to nul device, and mask exit status. +ACE_NUL_STDERR = 2>$(ACE_NUL) || true +PCFLAGS += #### set in platform_macros.GNU file, e.g., -p +PCCFLAGS += #### set in platform_macros.GNU file, e.g., -p +VAR = + +# Let users override the default VDIR directories +ifndef VDIR +VDIR = .obj/ +endif # VDIR +ifndef VSHDIR + VSHDIR = .shobj/ +endif # VSHDIR + +ifndef ACELIB + ACELIB = -lACE +endif + +# NOTE: VLDLIBS is defined below, in case it is overridden for static- +# or shared-only builds. +YACC = bison + +# Define SOEXT trailing digits if platform needs it. +ifeq ($(versioned_so),1) + ACE_LDSO_Version_Number := $(shell echo .`perl -ne 'if (/ACE version/) \ + { s/[^0-9]+(\d+\.\d+)(\.\d+)?.+/\1/ ; print }' ${ACE_ROOT}/VERSION `) +else + ACE_LDSO_Version_Number = +endif + +#---------------------------------------------------------------------------- +# Platform-dependent macros that require platform_macros.GNU. +#---------------------------------------------------------------------------- + +ifeq ($(findstring g++,$(CXX)),g++) + ifndef ACE_HAS_GNUG_PRE_2_8 + ifeq ($(filter g++,$(notdir $(CXX))),g++) + ACE_HAS_GNUG_PRE_2_8 := \ + $(shell \ + if $(CXX) --version | egrep '^(cygnus-)?2\.[0-7]' > /dev/null; then \ + echo 1; else echo 0; fi) + else # ! g++ + ifeq (eg++,$(filter g++,$(notdir $(CXX))),eg++) + # Assume that eg++ is egcs. + ACE_HAS_GNUG_PRE_2_8 := 0 + else # ! plain g++ or eg++ + # CXX is something like g++386. Assume, for now, that it's an old g++. + ACE_HAS_GNUG_PRE_2_8 := 1 + endif # ! plain g++ or eg++ + endif # ! g++ + endif # ! ACE_HAS_GNUG_PRE_2_8 +endif # g++ + +# We dont want to hard code. Looks like the contents of VDIR should +# have the right contents in any type of builds. If not, folks please +# feel to revert it to the way things were in rev 4.114. +ifndef OBJDIRS + OBJDIRS = $(basename $(VDIR)) +endif # OBJDIRS + +ifndef OBJEXT + OBJEXT=o +endif + +ifndef SOEXT + SOEXT=so +endif + +ifndef LIBEXT + LIBEXT=a +endif + +ifndef CC_OUTPUT_FLAG + CC_OUTPUT_FLAG = -o +endif # CC_OUTPUT_FLAG + +ifndef SO_OUTPUT_FLAG + SO_OUTPUT_FLAG = -o +endif # SO_OUTPUT_FLAG + +ifndef LINK_OUTPUT_FLAG + LINK_OUTPUT_FLAG = -o +endif # LINK_OUTPUT_FLAG + +#---------------------------------------------------------------------------- +# make flags +#---------------------------------------------------------------------------- + +ifeq ($(optimize),0) + override optimize = +endif # optimize + +ifneq ($(optimize),) + CFLAGS += $(OCFLAGS) + CCFLAGS += $(OCCFLAGS) +endif # optimize + +ifeq ($(split),0) + override split = +endif # split + +ifneq ($(split),) + override split_target = SPLIT + override debug = 0 + CPPFLAGS += -DACE_IS_SPLITTING +else + override split_target = +endif # split + +ifeq ($(debug),0) + override debug = +endif # debug + +ifeq ($(debug),) + CPPFLAGS += -DACE_NDEBUG +# Disable the RCSID for release/non-debug builds. + ifeq (,$(findstring ACE_USE_RCSID,$(CPPFLAGS))) + CPPFLAGS += -DACE_USE_RCSID=0 + endif +else + CFLAGS += $(DCFLAGS) + CCFLAGS += $(DCCFLAGS) +endif # debug + +ifeq ($(threads),0) + override threads = +endif # threads + +ifeq ($(xt_reactor),0) + override xt_reactor = +endif # xt_reactor + +ifneq ($(xt_reactor),) + override ace_with_x11=1 + CPPFLAGS += -DACE_HAS_XT $(PLATFORM_XT_CPPFLAGS) + LIBS += $(PLATFORM_XT_LIBS) + LDFLAGS += $(PLATFORM_XT_LDFLAGS) +endif # xt_reactor + +ifeq ($(fl_reactor),0) + override fl_reactor = +endif # fl_reactor + +ifneq ($(fl_reactor),) + override ace_with_x11=1 + override ace_with_gl=1 + CPPFLAGS += -DACE_HAS_FL $(PLATFORM_FL_CPPFLAGS) + LIBS += $(PLATFORM_FL_LIBS) + LDFLAGS += $(PLATFORM_FL_LDFLAGS) +endif # fl_reactor + +ifeq ($(tk_reactor),0) + override tk_reactor = +endif # tk_reactor + +ifneq ($(tk_reactor),) + override ace_with_tk=1 + CPPFLAGS += -DACE_HAS_TK $(PLATFORM_TK_CPPFLAGS) + LIBS += $(PLATFORM_TK_LIBS) + LDFLAGS += $(PLATFORM_TK_LDFLAGS) +endif # tk_reactor + +ifeq ($(qt_reactor),0) + override qt_reactor = +endif # qt_reactor + +ifneq ($(qt_reactor),) + override ace_with_qt=1 + CPPFLAGS += -DACE_HAS_QT $(PLATFORM_QT_CPPFLAGS) + LIBS += $(PLATFORM_QT_LIBS) + LDFLAGS += $(PLATFORM_QT_LDFLAGS) +endif # qt_reactor + +ifneq ($(QTDIR),) + MOC = ${QTDIR}/bin/moc +else + MOC = moc +endif + +ifeq ($(gtk_reactor),0) + override gtk_reactor = +endif # gtk_reactor + +ifneq ($(gtk_reactor),) + override ace_with_gtk=1 + CPPFLAGS += -DACE_HAS_GTK $(PLATFORM_GTK_CPPFLAGS) + LIBS += $(PLATFORM_GTK_LIBS) + LDFLAGS += $(PLATFORM_GTK_LDFLAGS) +endif # gtk_reactor + +ifeq ($(rapi),0) + override rapi = +endif #rapi + +ifneq ($(rapi),) + CPPFLAGS += -DACE_HAS_RAPI $(PLATFORM_RAPI_CPPFLAGS) + LIBS += $(PLATFORM_RAPI_LIBS) + LDFLAGS += $(PLATFORM_RAPI_LDFLAGS) +endif # rapi + +ifeq ($(ace_with_gl),0) + override ace_with_gl = +endif # ace_with_gl + +ifneq ($(ace_with_gl),) + override ace_with_x11 = 1 + CPPFLAGS += $(PLATFORM_GL_CPPFLAGS) + LIBS += $(PLATFORM_GL_LIBS) + LDFLAGS += $(PLATFORM_GL_LDFLAGS) +endif # ace_with_gl + +ifeq ($(ace_with_x11),0) + override ace_with_x11 = +endif # ace_with_x11 + +ifneq ($(ace_with_x11),) + CPPFLAGS += $(PLATFORM_X11_CPPFLAGS) + LIBS += $(PLATFORM_X11_LIBS) + LDFLAGS += $(PLATFORM_X11_LDFLAGS) +endif # ace_with_x11 + +ifeq ($(ssl),0) + override ssl = +endif # ssl + +ifneq ($(ssl),) + CPPFLAGS += $(PLATFORM_SSL_CPPFLAGS) + LIBS += $(PLATFORM_SSL_LIBS) + LDFLAGS += $(PLATFORM_SSL_LDFLAGS) +endif # ssl + +ifeq ($(exceptions),0) + ifeq ($(include_env),1) + CPPFLAGS += -DACE_ENV_BKWD_COMPAT + endif + ifeq ($(ACE_HAS_GNUG_PRE_2_8),0) + #### Disable the default exception handling of g++ >= 2.8.0. + ifneq ($(ACE_GNUG_ON_UNIXWARE),) + CCFLAGS += -fcheck-new + else + CCFLAGS += -fno-exceptions -fcheck-new + endif # ! ACE_GNUG_ON_UNIXWARE + endif # ! ACE_HAS_GNUG_PRE_2_8 +else # exceptions + CPPFLAGS += -DACE_HAS_EXCEPTIONS + ifeq ($(ACE_HAS_GNUG_PRE_2_8),1) + #### Enable exception handling with g++ < 2.8.0. Not recommended, + #### but provided here for completeness. + CCFLAGS += -fhandle-exceptions + else # ! ACE_HAS_GNUG_PRE_2_8 + ifeq ($(ACE_HAS_GNUG_PRE_2_8),0) + #### Disable this warning on g++ >= 2.8.0 if exceptions are enabled, + #### it gets confused and reports too many bogus warnings. + CFLAGS += -Wno-uninitialized + endif # g++ > 2.8.0 + endif # ! ACE_HAS_GNUG_PRE_2_8 +endif # exceptions + +ifeq ($(pace),0) + override pace= +endif # pace + +ifneq ($(pace),) + ifneq ($(inline),0) + CPPFLAGS += -DPACE_HAS_INLINE=1 + endif + CPPFLAGS += -DACE_HAS_PACE -DPACE_HAS_ALL_POSIX_FUNCS -I$(ACE_ROOT)/PACE + ACELIB = -lACE + ifeq ($(inline),0) + ACELIB += -lPACE + LDFLAGS += -L$(PACE_ROOT)/pace/ + endif # inline == 0 + ifdef VXWORKS + ACELIB += -lPACE + LDFLAGS += -L$(PACE_ROOT)/pace/ + endif # inline == 0 + include $(PACE_ROOT)/include/makeinclude/rules.common.GNU +endif # pace + +ifeq ($(profile),0) + override profile = +endif # profile + +ifneq ($(profile),) + CFLAGS += $(PCFLAGS) + CCFLAGS += $(PCCFLAGS) +endif # profile + +ifeq ($(inline),0) + CPPFLAGS += -DACE_NO_INLINE +else +ifeq ($(inline),1) + CPPFLAGS += -D__ACE_INLINE__ +endif # inline eq 1 +endif # inline eq 0 + +ifeq ($(shared_libs),0) + override shared_libs = +endif # shared_libs +ifeq ($(static_libs),0) + override static_libs = +endif # static_libs + +ifeq ($(shared_libs_only),0) + override shared_libs_only = +endif # shared_libs_only +ifeq ($(static_libs_only),0) + override static_libs_only = +endif # static_libs_only + +ifdef shared_libs_only + override shared_libs = 1 + override static_libs = +endif # shared_libs_only +ifdef static_libs_only + override shared_libs = + override static_libs = 1 +endif # static_libs_only + +#### We need to set VBIN here, because it's used in the BUILD +#### definitions below. +VBIN = $(BIN:%=%$(VAR)) + +ifdef shared_libs + ifdef static_libs + #### Build both shared and static libs. + BUILD = $(VSHLIB) $(SHLIBA) $(VLIB) $(VBIN) + else # ! static_libs + #### Build shared libs only. + ifeq ($(SHLIB),) + #### Makefile only specifies static libs, so only build static libs. + BUILD = $(VLIB) $(VBIN) + else # ! SHLIB + #### Don't build static libs. + BUILD = $(VSHLIB) $(SHLIBA) $(VBIN) + LIB = +# OBJEXT = so + ifndef VXWORKS + VDIR = $(basename $(VSHDIR)) + ifeq ($(BIN),) + #### No executables are being built, so don't create .obj/. + OBJDIRS = $(VSHDIR) + endif # BIN + endif # ! VXWORKS + endif # ! SHLIB + endif # ! static_libs + + ifdef SHLIBA + LDLIBS := $(LDLIBS:-l%=-l%shr) + ACE_SHLIBS := $(ACE_SHLIBS:-l%=-l%shr) + endif # SHLIBA +else # ! shared_libs + ifdef static_libs + #### Don't build shared libs. + BUILD = $(VLIB) $(VBIN) + OBJDIRS = $(basename $(VDIR)) + PIC = + SHLIB = + SOEXT = o + VSHDIR = $(basename $(VDIR)) + VLDLIBS = $(LDLIBS:%.so=%.o) + else # ! static_libs + #### Don't build any libs. + BUILD = $(VBIN) + endif # ! static_libs +endif # ! shared_libs + +VLDLIBS = $(LDLIBS) $(ACELIB) $(LIBS) + +ifeq ($(probe),0) + override probe = +endif # probe + +ifeq ($(probe),1) + CPPFLAGS += -DACE_COMPILE_TIMEPROBES +endif # probe + +ifeq ($(purify),0) + override purify = +endif # purify + +PURE_CACHE_BASE_DIR = /tmp/purifycache +PURE_CACHE_DIR = $(PURE_CACHE_BASE_DIR)-$(LOGNAME)-$(notdir $(CXX) ) + +ifdef purify + #### Pick up Purify directory from the users PATH. + ACE_PURIFY_DIR := \ + $(shell type purify | sed -e 's/.* is //' -e 's%/purify$$%%') + + #### You might want to adjust the Purify options below. + #### -best-effort is undocumented but supported, and seems + #### to help avoid occasional link failure. + PURELINK += purify -best-effort -cache-dir=$(PURE_CACHE_DIR) \ + -chain-length=20 -fds-inuse-at-exit=no \ + -inuse-at-exit -max_threads=100 + CPPFLAGS += -DACE_HAS_PURIFY -I$(ACE_PURIFY_DIR) +endif # purify + +ifeq ($(quantify),0) + override quantify = +endif # quantify + +ifdef quantify + #### Pick up Quantify directory from the users PATH. + ACE_QUANTIFY_DIR := \ + $(shell type quantify | sed -e 's/.* is //' -e 's%/quantify$$%%') + + #### You might want to adjust the Quantify options below. + #### -best-effort is undocumented but supported, and seems + #### to help avoid occasional link failure. + PRELINK += quantify -best-effort -cache-dir=$(PURE_CACHE_DIR) \ + -max_threads=100 + CPPFLAGS += -DACE_HAS_QUANTIFY -I$(ACE_QUANTIFY_DIR) + + ifeq ($(shell uname -p),sparc) + PRELINK += -record-register-window-traps + endif # sparc +endif # quantify + +ifeq ($(repo),0) + override repo = +endif # repo + +ifdef repo + #### Remove -fno-implicit-templates from, and add -frepo to, CCFLAGS. + CCFLAGS := $(strip $(subst -fno-implicit-templates,,$(CCFLAGS))) + CCFLAGS += -frepo + CPPFLAGS += -DACE_HAS_GNU_REPO +# ace_lib_prelink := 1 +endif # repo + + +#---------------------------------------------------------------------------- +# Conditional macro definitions +#---------------------------------------------------------------------------- + +COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c +COMPILE.cc = $(CXX) $(CCFLAGS) $(CPPFLAGS) $(PTDIRS) -c +COMPILE-NO_DASH_G.cc = `echo $(COMPILE.cc) | sed 's/-g //'` +# 960905 Marius Kjeldahl <marius@funcom.com> +# Added the line below to be used for compiling executable shared objects +COMPILEESO.cc = $(CXX) $(CCFLAGS) $(CPPFLAGS) $(PTDIRS) + +ifeq ($(LINK.c),override) + LINK.c = $(LINK.c.override) +else + LINK.c = $(PURELINK) $(PRELINK) $(LD) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) \ + $(LDLIBS) $(LIBS) +endif # LINK.c.override + +ifeq ($(LINK.cc),override) + LINK.cc = $(LINK.cc.override) +else + LINK.cc = $(PURELINK) $(PRELINK) $(LD) $(CCFLAGS) $(CPPFLAGS) $(PTDIRS) +endif # LINK.cc.override + +SOLINK.cc = $(PRELINK) $(DLD) $(SOFLAGS) diff --git a/tests/Framework_Component_Test.cpp b/tests/Framework_Component_Test.cpp new file mode 100644 index 00000000000..6b1b4e3cadd --- /dev/null +++ b/tests/Framework_Component_Test.cpp @@ -0,0 +1,116 @@ +// $Id$ + +// ============================================================================ +// +// = LIBRARY +// tests +// +// = DESCRIPTION +// This program tests both the ACE_Framework_Compondent and ACE_Repository. +// +// = AUTHOR +// Don Hinton <dhinton@ieee.org> +// +// ============================================================================ + +#include "ace/Framework_Component.h" + +#include "ace/OS.h" +#include "ace/Get_Opt.h" +#include "ace/ARGV.h" +#include "ace/SString.h" +#include "tests/test_config.h" + +ACE_RCSID(tests, Framework_Component_Test, "$Id$") + +/// This is a singleton we will use to test the ACE_Framework_Repository +class My_Singleton +{ +public: + My_Singleton (void) + { + ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("My_Singleton::ctor\n"))); + } + virtual ~My_Singleton (void) + { + ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("My_Singleton::dtor\n"))); + } + + static My_Singleton * instance (void); + + static void close_singleton (void); + +private: + static My_Singleton *instance_; +}; + +My_Singleton *My_Singleton::instance_ = 0; + +void +My_Singleton::close_singleton (void) +{ + ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("My_Singleton::close_singleton\n"))); + delete My_Singleton::instance_; + My_Singleton::instance_ = 0; +} + +My_Singleton * +My_Singleton::instance (void) +{ + ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("My_Singleton::instance\n"))); + + if (My_Singleton::instance_ == 0) + { + // Perform Double-Checked Locking Optimization. + ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, + *ACE_Static_Object_Lock::instance (), 0)); + if (My_Singleton::instance_ == 0) + { + ACE_NEW_RETURN (My_Singleton::instance_, + My_Singleton (), + 0); + ACE_REGISTER_FRAMEWORK_COMPONENT(My_Singleton, My_Singleton::instance_); + } + } + return My_Singleton::instance_; +} + + +int +main (int, ACE_TCHAR *argv[]) +{ + ACE_START_TEST (ACE_LIB_TEXT("Framework_Component_Test")); + ACE_UNUSED_ARG (argv); + + // Create an instance of My_Singleton that will be managed + // by the ACE_Framework_Repository and keep a pointer to + // instance. + My_Singleton *first = My_Singleton::instance (); + + // Now, close down the repository. + ACE_Framework_Repository::close_singleton (); + + ACE_Framework_Repository::instance (); + + // Now get another pointer to My_Singleton and make sure + // that it's different. We could also test other pointers + // like ACE_Reactor, ACE_Proactor, or the repository itself + // if we wanted. + My_Singleton *second = My_Singleton::instance (); + + if (first == second) + ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("Pointer are equal, but shouldn't be.\n"))); + + // Close down the repository again since we are writing debug messages. + // And want all of them to go to the log. + ACE_Framework_Repository::close_singleton (); + + ACE_END_TEST; + return 0; +} + +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) +template class ACE_Framework_Component_T<My_Singleton>; +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +#pragma instantiate ACE_Framework_Component_T<My_Singleton> +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/tests/Framework_Component_Test.dsp b/tests/Framework_Component_Test.dsp new file mode 100644 index 00000000000..d66987f6ac0 --- /dev/null +++ b/tests/Framework_Component_Test.dsp @@ -0,0 +1,162 @@ +# Microsoft Developer Studio Project File - Name="Framework_Component_Test" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Framework_Component_Test - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Framework_Component_Test.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Framework_Component_Test.mak" CFG="Framework_Component_Test - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Framework_Component_Test - Win32 Static Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE "Framework_Component_Test - Win32 Static Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Framework_Component_Test - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Framework_Component_Test - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Framework_Component_Test - Win32 Static Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Static_Debug"
+# PROP BASE Intermediate_Dir "Static_Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Static_Debug"
+# PROP Intermediate_Dir "Static_Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "_DEBUG" /D ACE_AS_STATIC_LIBS /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
+# ADD LINK32 acesd.lib advapi32.lib user32.lib /nologo /subsystem:console /debug /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Framework_Component_Test - Win32 Static Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Static_Release"
+# PROP BASE Intermediate_Dir "Static_Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Static_Release"
+# PROP Intermediate_Dir "Static_Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D ACE_AS_STATIC_LIBS /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 aces.lib advapi32.lib user32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Framework_Component_Test - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Framework_Component_Test - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\ace"
+
+!ENDIF
+
+# Begin Target
+
+# Name "Framework_Component_Test - Win32 Static Debug"
+# Name "Framework_Component_Test - Win32 Static Release"
+# Name "Framework_Component_Test - Win32 Release"
+# Name "Framework_Component_Test - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
+# Begin Source File
+
+SOURCE=.\Framework_Component_Test.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
+# Begin Source File
+
+SOURCE=.\test_config.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/tests/Get_Opt_Test.icc b/tests/Get_Opt_Test.icc new file mode 100644 index 00000000000..a3e18db1fb0 --- /dev/null +++ b/tests/Get_Opt_Test.icc @@ -0,0 +1,15 @@ +// $Id$ + +include "vacpp_setup.icc" +option + link(libSearchPath, platformLibSearchPath), + incl(searchPath, ".."), + link(linkWithMultiThreadLib,yes), + link(debug) + { + target type (exe) "Get_Opt_Test" + { + source type (cpp) "Get_Opt_Test.cpp" + source platformLinkLibs + } + } diff --git a/tests/INET_Addr_Test.icc b/tests/INET_Addr_Test.icc new file mode 100644 index 00000000000..c897cdf43db --- /dev/null +++ b/tests/INET_Addr_Test.icc @@ -0,0 +1,15 @@ +// $Id$ + +include "vacpp_setup.icc" +option + link(libSearchPath, platformLibSearchPath), + incl(searchPath, ".."), + link(linkWithMultiThreadLib,yes), + link(debug) + { + target type (exe) "INET_Addr_Test" + { + source type (cpp) "INET_Addr_Test.cpp" + source platformLinkLibs + } + } diff --git a/tests/Makefile b/tests/Makefile new file mode 100644 index 00000000000..b9ac6110b76 --- /dev/null +++ b/tests/Makefile @@ -0,0 +1,12996 @@ +#---------------------------------------------------------------------------- +# +# $Id$ +# +# Makefile for all the ACE ``one-button' tests +#---------------------------------------------------------------------------- + +#---------------------------------------------------------------------------- +# Local macros +#---------------------------------------------------------------------------- + +BIN = Aio_Platform_Test \ + Arg_Shifter_Test \ + ARGV_Test \ + Atomic_Op_Test \ + Auto_IncDec_Test \ + Barrier_Test \ + Basic_Types_Test \ + Bound_Ptr_Test \ + Buffer_Stream_Test \ + Cache_Map_Manager_Test \ + Cached_Accept_Conn_Test \ + Cached_Conn_Test \ + Capabilities_Test \ + CDR_File_Test \ + CDR_Test \ + Collection_Test \ + Config_Test \ + Conn_Test \ + Date_Time_Test \ + Dirent_Test \ + DLList_Test \ + DLL_Test\ + Enum_Interfaces_Test \ + Env_Value_Test \ + Framework_Component_Test \ + Future_Test \ + Future_Set_Test \ + Get_Opt_Test \ + Handle_Set_Test \ + High_Res_Timer_Test \ + Hash_Map_Manager_Test \ + Hash_Map_Bucket_Iterator_Test \ + INET_Addr_Test \ + IOStream_Test \ + Lazy_Map_Manager_Test \ + Log_Msg_Test \ + Logging_Strategy_Test \ + Malloc_Test \ + Map_Test \ + Map_Manager_Test \ + Max_Default_Port_Test \ + MEM_Stream_Test \ + Mem_Map_Test \ + MM_Shared_Memory_Test \ + MT_Reactor_Timer_Test \ + MT_SOCK_Test \ + Message_Block_Test \ + Message_Queue_Test \ + Message_Queue_Test_Ex \ + Message_Queue_Notifications_Test \ + Notify_Performance_Test \ + Object_Manager_Test \ + OrdMultiSet_Test \ + OS_Test \ + Proactor_Test \ + Proactor_Timer_Test \ + Process_Mutex_Test \ + Process_Strategy_Test \ + Priority_Buffer_Test \ + Dynamic_Priority_Test \ + Priority_Task_Test \ + Priority_Reactor_Test \ + Process_Manager_Test \ + Pipe_Test \ + RB_Tree_Test \ + Reactors_Test \ + Reactor_Exceptions_Test \ + Reactor_Notify_Test \ + Reactor_Performance_Test \ + Reactor_Timer_Test \ + Reader_Writer_Test \ + Recursive_Mutex_Test \ + Refcounted_Auto_Ptr_Test \ + Reverse_Lock_Test \ + Semaphore_Test \ + Signal_Test \ + Sigset_Ops_Test \ + Simple_Message_Block_Test \ + SOCK_Test \ + SOCK_Connector_Test \ + SOCK_Send_Recv_Test \ + SPIPE_Test \ + SString_Test \ + SV_Shared_Memory_Test \ + Svc_Handler_Test \ + Task_Test \ + Thread_Manager_Test \ + Thread_Mutex_Test \ + Thread_Pool_Test \ + Timeprobe_Test \ + Time_Service_Test \ + Time_Value_Test \ + Timer_Queue_Test \ + TSS_Test \ + Vector_Test \ + UPIPE_SAP_Test \ + Upgradable_RW_Test + +BIN2 = Naming_Test \ + Thread_Pool_Reactor_Test \ + Thread_Pool_Reactor_Resume_Test \ + XtReactor_Test \ + FlReactor_Test \ + TkReactor_Test + +#### If the ACE library wasn't built with all components, don't +#### try to build certain tests. +ACE_BUILD_COMPONENTS := $(shell sh $(ACE_ROOT)/bin/ace_components --ace) +ifeq (Other,$(findstring Other,$(ACE_BUILD_COMPONENTS))) + BIN += $(BIN2) +endif # ! Other +ifeq (Token,$(findstring Token,$(ACE_BUILD_COMPONENTS))) + BIN += Tokens_Test +else + #### Ensure that Tokens_Test gets cleaned up, even if the ace + #### directory was realcleaned first (and ACE_BUILD_COMPONENTS + #### is empty). + BIN2 += Tokens_Test +endif # ! Token + +PSRC=$(addsuffix .cpp,$(BIN)) + +#---------------------------------------------------------------------------- +# Include macros and targets +#---------------------------------------------------------------------------- + +include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU +include $(ACE_ROOT)/include/makeinclude/macros.GNU + +ifneq ($(ACE_HAS_GNUG_PRE_2_8),1) + ifeq ($(LYNXTARGET),) + BIN += CDR_Array_Test + BUILD += CDR_Array_Test + else + #### LynxOS: but only with 3.1.0 or later. (Pre-3.0.0 has + #### ACE_GNUG_PRE_2_8 == 1.) + ifneq ($(VERSION),3.0.0) + BIN += CDR_Array_Test + BUILD += CDR_Array_Test + endif # > 3.0.0 + endif +endif + +ifeq ($(shared_libs),1) +# The Service_Config_Test dynamically loads a shared library. + BIN += Service_Config_Test +endif # shared_libs + +ifneq ($(ACE_HAS_GNUG_PRE_2_8),1) + ifneq ($(rmcast),0) + DIRS += RMCast + endif # rmcast +endif # ACE_HAS_GNUG_PRE_2_8 + +ifeq ($(ssl),1) + DIRS += SSL +endif # ssl + +include $(ACE_ROOT)/include/makeinclude/rules.common.GNU +include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU +include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU + +ifdef purify + #### SIGINT is used by Thread_Manager_Test. + #### SIGHUP and SIGTERM are used by Signal_Test. + PURELINK += -ignore-signals=SIGHUP,SIGINT,SIGTERM +endif # purify + +ifndef SOEXT + SOEXT=so +endif +ifdef shared_libs + ifndef VXWORKS + #### Build libDLL_Test and libService_Config_DLL libraries first, + #### so that they don't see the template instantiations from all + #### of the tests. + BUILD := \ + libDLL_Test.$(SOEXT) \ + libService_Config_DLL.$(SOEXT) \ + $(BUILD) + endif # ! VXWORKS +endif # shared_libs + +include $(ACE_ROOT)/include/makeinclude/rules.local.GNU + +# To build multiple executables in the same directory on AIX, it works +# best to wipe out any previously-created tempinc directory. +# The compiler/linker isn't too smart about instantiating templates... +ifdef TEMPINCDIR +COMPILE.cc := $(RM) -rf tempinc; $(COMPILE.cc) +endif + +#---------------------------------------------------------------------------- +# Local targets +#---------------------------------------------------------------------------- + +libDLL_Test.$(SOEXT): DLL_Test_Impl.cpp DLL_Test_Impl.h + @$(MAKE) -f Makefile.DLL_Test + +libService_Config_DLL.$(SOEXT): Service_Config_DLL.cpp Service_Config_DLL.h + @$(MAKE) -f Makefile.Service_Config_DLL + +ifdef VXWORKS +all: run_test.vxworks + +run_test.vxworks: run_test.lst + run_test.pl -v -Config STATIC -Config CHECK_RESOURCES -o run_test.vxworks +endif + +realclean: clean + -$(MAKE) -f Makefile.DLL_Test realclean + -$(MAKE) -f Makefile.Service_Config_DLL realclean + -$(RM) log/compilations.log* + +#---------------------------------------------------------------------------- +# Dependencies +#---------------------------------------------------------------------------- +# DO NOT DELETE THIS LINE -- g++dep uses it. +# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. + + +.obj/Aio_Platform_Test.o .obj/Aio_Platform_Test.so .shobj/Aio_Platform_Test.o .shobj/Aio_Platform_Test.so: Aio_Platform_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp + +.obj/Arg_Shifter_Test.o .obj/Arg_Shifter_Test.so .shobj/Arg_Shifter_Test.o .shobj/Arg_Shifter_Test.so: Arg_Shifter_Test.cpp \ + $(ACE_ROOT)/ace/Arg_Shifter.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + test_config.h \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp + +.obj/ARGV_Test.o .obj/ARGV_Test.so .shobj/ARGV_Test.o .shobj/ARGV_Test.so: ARGV_Test.cpp \ + $(ACE_ROOT)/ace/ARGV.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/ARGV.i \ + test_config.h \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp + +.obj/Atomic_Op_Test.o .obj/Atomic_Op_Test.so .shobj/Atomic_Op_Test.o .shobj/Atomic_Op_Test.so: Atomic_Op_Test.cpp \ + test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Atomic_Op.h \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Atomic_Op.cpp + +.obj/Auto_IncDec_Test.o .obj/Auto_IncDec_Test.so .shobj/Auto_IncDec_Test.o .shobj/Auto_IncDec_Test.so: Auto_IncDec_Test.cpp \ + $(ACE_ROOT)/ace/Auto_IncDec_T.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Auto_IncDec_T.i \ + $(ACE_ROOT)/ace/Auto_IncDec_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Atomic_Op.h \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Atomic_Op.cpp \ + test_config.h + +.obj/Barrier_Test.o .obj/Barrier_Test.so .shobj/Barrier_Test.o .shobj/Barrier_Test.so: Barrier_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i + +.obj/Basic_Types_Test.o .obj/Basic_Types_Test.so .shobj/Basic_Types_Test.o .shobj/Basic_Types_Test.so: Basic_Types_Test.cpp \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Version.h \ + test_config.h \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp + +.obj/Bound_Ptr_Test.o .obj/Bound_Ptr_Test.so .shobj/Bound_Ptr_Test.o .shobj/Bound_Ptr_Test.so: Bound_Ptr_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Method_Request.h \ + $(ACE_ROOT)/ace/Activation_Queue.h \ + $(ACE_ROOT)/ace/Activation_Queue.i \ + $(ACE_ROOT)/ace/Bound_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/Bound_Ptr.i + +.obj/Buffer_Stream_Test.o .obj/Buffer_Stream_Test.so .shobj/Buffer_Stream_Test.o .shobj/Buffer_Stream_Test.so: Buffer_Stream_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Stream.h \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Stream.i \ + $(ACE_ROOT)/ace/Stream.cpp + +.obj/Cache_Map_Manager_Test.o .obj/Cache_Map_Manager_Test.so .shobj/Cache_Map_Manager_Test.o .shobj/Cache_Map_Manager_Test.so: Cache_Map_Manager_Test.cpp \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + test_config.h \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Cache_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Pair_T.h \ + $(ACE_ROOT)/ace/Pair.h \ + $(ACE_ROOT)/ace/Pair_T.i \ + $(ACE_ROOT)/ace/Pair_T.cpp \ + $(ACE_ROOT)/ace/Cache_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Cache_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ + $(ACE_ROOT)/ace/Map_Manager.cpp \ + $(ACE_ROOT)/ace/Caching_Strategies_T.h \ + $(ACE_ROOT)/ace/Caching_Utility_T.h \ + $(ACE_ROOT)/ace/Cleanup_Strategies_T.h \ + $(ACE_ROOT)/ace/Cleanup_Strategies_T.cpp \ + $(ACE_ROOT)/ace/Caching_Utility_T.cpp \ + $(ACE_ROOT)/ace/Recyclable.h \ + $(ACE_ROOT)/ace/Recyclable.inl \ + $(ACE_ROOT)/ace/Caching_Strategies_T.i \ + $(ACE_ROOT)/ace/Caching_Strategies_T.cpp \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Get_Opt.i \ + Cache_Map_Manager_Test.h + +.obj/Cached_Accept_Conn_Test.o .obj/Cached_Accept_Conn_Test.so .shobj/Cached_Accept_Conn_Test.o .shobj/Cached_Accept_Conn_Test.so: Cached_Accept_Conn_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + Cached_Accept_Conn_Test.h \ + $(ACE_ROOT)/ace/SOCK_Connector.h \ + $(ACE_ROOT)/ace/SOCK_Stream.h \ + $(ACE_ROOT)/ace/SOCK_IO.h \ + $(ACE_ROOT)/ace/SOCK.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/IPC_SAP.h \ + $(ACE_ROOT)/ace/IPC_SAP.i \ + $(ACE_ROOT)/ace/SOCK.i \ + $(ACE_ROOT)/ace/SOCK_IO.i \ + $(ACE_ROOT)/ace/INET_Addr.h \ + $(ACE_ROOT)/ace/INET_Addr.i \ + $(ACE_ROOT)/ace/SOCK_Stream.i \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/SOCK_Connector.i \ + $(ACE_ROOT)/ace/SOCK_Acceptor.h \ + $(ACE_ROOT)/ace/SOCK_Acceptor.i \ + $(ACE_ROOT)/ace/Acceptor.h \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Svc_Handler.h \ + $(ACE_ROOT)/ace/Synch_Options.h \ + $(ACE_ROOT)/ace/Synch_Options.i \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Recyclable.h \ + $(ACE_ROOT)/ace/Recyclable.inl \ + $(ACE_ROOT)/ace/Svc_Handler.cpp \ + $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \ + $(ACE_ROOT)/ace/Dynamic.h \ + $(ACE_ROOT)/ace/Dynamic.i \ + $(ACE_ROOT)/ace/Strategies_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Refcountable.h \ + $(ACE_ROOT)/ace/Refcountable.inl \ + $(ACE_ROOT)/ace/Hashable.h \ + $(ACE_ROOT)/ace/Hashable.inl \ + $(ACE_ROOT)/ace/Strategies_T.i \ + $(ACE_ROOT)/ace/Strategies_T.cpp \ + $(ACE_ROOT)/ace/Service_Repository.h \ + $(ACE_ROOT)/ace/Service_Types.h \ + $(ACE_ROOT)/ace/Service_Types.i \ + $(ACE_ROOT)/ace/Service_Repository.i \ + $(ACE_ROOT)/ace/WFMO_Reactor.h \ + $(ACE_ROOT)/ace/Process_Mutex.h \ + $(ACE_ROOT)/ace/Process_Mutex.inl \ + $(ACE_ROOT)/ace/WFMO_Reactor.i \ + $(ACE_ROOT)/ace/Acceptor.cpp \ + $(ACE_ROOT)/ace/Connector.h \ + $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ + $(ACE_ROOT)/ace/Map_Manager.cpp \ + $(ACE_ROOT)/ace/Connector.cpp \ + $(ACE_ROOT)/ace/Caching_Utility_T.h \ + $(ACE_ROOT)/ace/Cleanup_Strategies_T.h \ + $(ACE_ROOT)/ace/Cleanup_Strategies_T.cpp \ + $(ACE_ROOT)/ace/Caching_Utility_T.cpp \ + $(ACE_ROOT)/ace/Cached_Connect_Strategy_T.h \ + $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Cache_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Pair_T.h \ + $(ACE_ROOT)/ace/Pair.h \ + $(ACE_ROOT)/ace/Pair_T.i \ + $(ACE_ROOT)/ace/Pair_T.cpp \ + $(ACE_ROOT)/ace/Cache_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Cache_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Caching_Strategies_T.h \ + $(ACE_ROOT)/ace/Caching_Strategies_T.i \ + $(ACE_ROOT)/ace/Caching_Strategies_T.cpp \ + $(ACE_ROOT)/ace/Cached_Connect_Strategy_T.cpp \ + $(ACE_ROOT)/ace/Handle_Gobbler.h \ + $(ACE_ROOT)/ace/Handle_Gobbler.i \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/Get_Opt.i + +.obj/Cached_Conn_Test.o .obj/Cached_Conn_Test.so .shobj/Cached_Conn_Test.o .shobj/Cached_Conn_Test.so: Cached_Conn_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + Cached_Conn_Test.h \ + $(ACE_ROOT)/ace/SOCK_Stream.h \ + $(ACE_ROOT)/ace/SOCK_IO.h \ + $(ACE_ROOT)/ace/SOCK.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/IPC_SAP.h \ + $(ACE_ROOT)/ace/IPC_SAP.i \ + $(ACE_ROOT)/ace/SOCK.i \ + $(ACE_ROOT)/ace/SOCK_IO.i \ + $(ACE_ROOT)/ace/INET_Addr.h \ + $(ACE_ROOT)/ace/INET_Addr.i \ + $(ACE_ROOT)/ace/SOCK_Stream.i \ + $(ACE_ROOT)/ace/Svc_Handler.h \ + $(ACE_ROOT)/ace/Synch_Options.h \ + $(ACE_ROOT)/ace/Synch_Options.i \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Recyclable.h \ + $(ACE_ROOT)/ace/Recyclable.inl \ + $(ACE_ROOT)/ace/Svc_Handler.cpp \ + $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \ + $(ACE_ROOT)/ace/Dynamic.h \ + $(ACE_ROOT)/ace/Dynamic.i \ + $(ACE_ROOT)/ace/SOCK_Connector.h \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/SOCK_Connector.i \ + $(ACE_ROOT)/ace/SOCK_Acceptor.h \ + $(ACE_ROOT)/ace/SOCK_Acceptor.i \ + $(ACE_ROOT)/ace/Acceptor.h \ + $(ACE_ROOT)/ace/Strategies_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Refcountable.h \ + $(ACE_ROOT)/ace/Refcountable.inl \ + $(ACE_ROOT)/ace/Hashable.h \ + $(ACE_ROOT)/ace/Hashable.inl \ + $(ACE_ROOT)/ace/Strategies_T.i \ + $(ACE_ROOT)/ace/Strategies_T.cpp \ + $(ACE_ROOT)/ace/Service_Repository.h \ + $(ACE_ROOT)/ace/Service_Types.h \ + $(ACE_ROOT)/ace/Service_Types.i \ + $(ACE_ROOT)/ace/Service_Repository.i \ + $(ACE_ROOT)/ace/WFMO_Reactor.h \ + $(ACE_ROOT)/ace/Process_Mutex.h \ + $(ACE_ROOT)/ace/Process_Mutex.inl \ + $(ACE_ROOT)/ace/WFMO_Reactor.i \ + $(ACE_ROOT)/ace/Acceptor.cpp \ + $(ACE_ROOT)/ace/Connector.h \ + $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ + $(ACE_ROOT)/ace/Map_Manager.cpp \ + $(ACE_ROOT)/ace/Connector.cpp \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/Get_Opt.i \ + $(ACE_ROOT)/ace/Caching_Utility_T.h \ + $(ACE_ROOT)/ace/Cleanup_Strategies_T.h \ + $(ACE_ROOT)/ace/Cleanup_Strategies_T.cpp \ + $(ACE_ROOT)/ace/Caching_Utility_T.cpp \ + $(ACE_ROOT)/ace/Cached_Connect_Strategy_T.h \ + $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Cache_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Pair_T.h \ + $(ACE_ROOT)/ace/Pair.h \ + $(ACE_ROOT)/ace/Pair_T.i \ + $(ACE_ROOT)/ace/Pair_T.cpp \ + $(ACE_ROOT)/ace/Cache_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Cache_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Caching_Strategies_T.h \ + $(ACE_ROOT)/ace/Caching_Strategies_T.i \ + $(ACE_ROOT)/ace/Caching_Strategies_T.cpp \ + $(ACE_ROOT)/ace/Cached_Connect_Strategy_T.cpp \ + $(ACE_ROOT)/ace/Handle_Gobbler.h \ + $(ACE_ROOT)/ace/Handle_Gobbler.i + +.obj/Capabilities_Test.o .obj/Capabilities_Test.so .shobj/Capabilities_Test.o .shobj/Capabilities_Test.so: Capabilities_Test.cpp \ + $(ACE_ROOT)/ace/Capabilities.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Capabilities.i \ + test_config.h \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp + +.obj/CDR_File_Test.o .obj/CDR_File_Test.so .shobj/CDR_File_Test.o .shobj/CDR_File_Test.so: CDR_File_Test.cpp \ + $(ACE_ROOT)/ace/CDR_Stream.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/CDR_Base.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/CDR_Base.inl \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/CDR_Stream.i \ + $(ACE_ROOT)/ace/FILE_Connector.h \ + $(ACE_ROOT)/ace/FILE_IO.h \ + $(ACE_ROOT)/ace/FILE.h \ + $(ACE_ROOT)/ace/IO_SAP.h \ + $(ACE_ROOT)/ace/IO_SAP.i \ + $(ACE_ROOT)/ace/FILE_Addr.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/FILE_Addr.i \ + $(ACE_ROOT)/ace/FILE.i \ + $(ACE_ROOT)/ace/FILE_IO.i \ + $(ACE_ROOT)/ace/FILE_Connector.i \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Get_Opt.i \ + test_config.h \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp + +.obj/CDR_Test.o .obj/CDR_Test.so .shobj/CDR_Test.o .shobj/CDR_Test.so: CDR_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Get_Opt.i \ + $(ACE_ROOT)/ace/CDR_Stream.h \ + $(ACE_ROOT)/ace/CDR_Base.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/CDR_Base.inl \ + $(ACE_ROOT)/ace/CDR_Stream.i + +.obj/Collection_Test.o .obj/Collection_Test.so .shobj/Collection_Test.o .shobj/Collection_Test.so: Collection_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp + +.obj/Config_Test.o .obj/Config_Test.so .shobj/Config_Test.o .shobj/Config_Test.so: Config_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + Config_Test.h \ + $(ACE_ROOT)/ace/Configuration.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Hash_Map_With_Allocator_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Hash_Map_With_Allocator_T.i \ + $(ACE_ROOT)/ace/Hash_Map_With_Allocator_T.cpp \ + $(ACE_ROOT)/ace/Configuration_Import_Export.h + +.obj/Conn_Test.o .obj/Conn_Test.so .shobj/Conn_Test.o .shobj/Conn_Test.so: Conn_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/SOCK_Connector.h \ + $(ACE_ROOT)/ace/SOCK_Stream.h \ + $(ACE_ROOT)/ace/SOCK_IO.h \ + $(ACE_ROOT)/ace/SOCK.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/IPC_SAP.h \ + $(ACE_ROOT)/ace/IPC_SAP.i \ + $(ACE_ROOT)/ace/SOCK.i \ + $(ACE_ROOT)/ace/SOCK_IO.i \ + $(ACE_ROOT)/ace/INET_Addr.h \ + $(ACE_ROOT)/ace/INET_Addr.i \ + $(ACE_ROOT)/ace/SOCK_Stream.i \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/SOCK_Connector.i \ + $(ACE_ROOT)/ace/LOCK_SOCK_Acceptor.h \ + $(ACE_ROOT)/ace/SOCK_Acceptor.h \ + $(ACE_ROOT)/ace/SOCK_Acceptor.i \ + $(ACE_ROOT)/ace/LOCK_SOCK_Acceptor.cpp \ + $(ACE_ROOT)/ace/Acceptor.h \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Svc_Handler.h \ + $(ACE_ROOT)/ace/Synch_Options.h \ + $(ACE_ROOT)/ace/Synch_Options.i \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Recyclable.h \ + $(ACE_ROOT)/ace/Recyclable.inl \ + $(ACE_ROOT)/ace/Svc_Handler.cpp \ + $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \ + $(ACE_ROOT)/ace/Dynamic.h \ + $(ACE_ROOT)/ace/Dynamic.i \ + $(ACE_ROOT)/ace/Strategies_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Refcountable.h \ + $(ACE_ROOT)/ace/Refcountable.inl \ + $(ACE_ROOT)/ace/Hashable.h \ + $(ACE_ROOT)/ace/Hashable.inl \ + $(ACE_ROOT)/ace/Strategies_T.i \ + $(ACE_ROOT)/ace/Strategies_T.cpp \ + $(ACE_ROOT)/ace/Service_Repository.h \ + $(ACE_ROOT)/ace/Service_Types.h \ + $(ACE_ROOT)/ace/Service_Types.i \ + $(ACE_ROOT)/ace/Service_Repository.i \ + $(ACE_ROOT)/ace/WFMO_Reactor.h \ + $(ACE_ROOT)/ace/Process_Mutex.h \ + $(ACE_ROOT)/ace/Process_Mutex.inl \ + $(ACE_ROOT)/ace/WFMO_Reactor.i \ + $(ACE_ROOT)/ace/Acceptor.cpp \ + $(ACE_ROOT)/ace/Connector.h \ + $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ + $(ACE_ROOT)/ace/Map_Manager.cpp \ + $(ACE_ROOT)/ace/Connector.cpp \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/Get_Opt.i \ + Conn_Test.h + +.obj/Date_Time_Test.o .obj/Date_Time_Test.so .shobj/Date_Time_Test.o .shobj/Date_Time_Test.so: Date_Time_Test.cpp \ + $(ACE_ROOT)/ace/Date_Time.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Date_Time.i \ + test_config.h \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp + +.obj/Dirent_Test.o .obj/Dirent_Test.so .shobj/Dirent_Test.o .shobj/Dirent_Test.so: Dirent_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Dirent.h \ + $(ACE_ROOT)/ace/Dirent.i \ + $(ACE_ROOT)/ace/Dirent_Selector.h \ + $(ACE_ROOT)/ace/Dirent_Selector.inl + +.obj/DLList_Test.o .obj/DLList_Test.so .shobj/DLList_Test.o .shobj/DLList_Test.so: DLList_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i + +.obj/DLL_Test.o .obj/DLL_Test.so .shobj/DLL_Test.o .shobj/DLL_Test.so: DLL_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + DLL_Test.h \ + $(ACE_ROOT)/ace/DLL.h \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp + +.obj/Enum_Interfaces_Test.o .obj/Enum_Interfaces_Test.so .shobj/Enum_Interfaces_Test.o .shobj/Enum_Interfaces_Test.so: Enum_Interfaces_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/INET_Addr.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/INET_Addr.i + +.obj/Env_Value_Test.o .obj/Env_Value_Test.so .shobj/Env_Value_Test.o .shobj/Env_Value_Test.so: Env_Value_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Process.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Process.i \ + $(ACE_ROOT)/ace/Env_Value_T.h \ + $(ACE_ROOT)/ace/Env_Value_T.i \ + $(ACE_ROOT)/ace/Env_Value_T.cpp + +.obj/Future_Test.o .obj/Future_Test.so .shobj/Future_Test.o .shobj/Future_Test.so: Future_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Future.h \ + $(ACE_ROOT)/ace/Strategies_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Synch_Options.h \ + $(ACE_ROOT)/ace/Synch_Options.i \ + $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \ + $(ACE_ROOT)/ace/Recyclable.h \ + $(ACE_ROOT)/ace/Recyclable.inl \ + $(ACE_ROOT)/ace/Refcountable.h \ + $(ACE_ROOT)/ace/Refcountable.inl \ + $(ACE_ROOT)/ace/Hashable.h \ + $(ACE_ROOT)/ace/Hashable.inl \ + $(ACE_ROOT)/ace/Strategies_T.i \ + $(ACE_ROOT)/ace/Strategies_T.cpp \ + $(ACE_ROOT)/ace/Service_Repository.h \ + $(ACE_ROOT)/ace/Service_Types.h \ + $(ACE_ROOT)/ace/Service_Types.i \ + $(ACE_ROOT)/ace/Service_Repository.i \ + $(ACE_ROOT)/ace/WFMO_Reactor.h \ + $(ACE_ROOT)/ace/Process_Mutex.h \ + $(ACE_ROOT)/ace/Process_Mutex.inl \ + $(ACE_ROOT)/ace/WFMO_Reactor.i \ + $(ACE_ROOT)/ace/Future.cpp \ + $(ACE_ROOT)/ace/Method_Request.h \ + $(ACE_ROOT)/ace/Activation_Queue.h \ + $(ACE_ROOT)/ace/Activation_Queue.i \ + $(ACE_ROOT)/ace/Atomic_Op.h \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Atomic_Op.cpp + +.obj/Future_Set_Test.o .obj/Future_Set_Test.so .shobj/Future_Set_Test.o .shobj/Future_Set_Test.so: Future_Set_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Future.h \ + $(ACE_ROOT)/ace/Strategies_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Synch_Options.h \ + $(ACE_ROOT)/ace/Synch_Options.i \ + $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \ + $(ACE_ROOT)/ace/Recyclable.h \ + $(ACE_ROOT)/ace/Recyclable.inl \ + $(ACE_ROOT)/ace/Refcountable.h \ + $(ACE_ROOT)/ace/Refcountable.inl \ + $(ACE_ROOT)/ace/Hashable.h \ + $(ACE_ROOT)/ace/Hashable.inl \ + $(ACE_ROOT)/ace/Strategies_T.i \ + $(ACE_ROOT)/ace/Strategies_T.cpp \ + $(ACE_ROOT)/ace/Service_Repository.h \ + $(ACE_ROOT)/ace/Service_Types.h \ + $(ACE_ROOT)/ace/Service_Types.i \ + $(ACE_ROOT)/ace/Service_Repository.i \ + $(ACE_ROOT)/ace/WFMO_Reactor.h \ + $(ACE_ROOT)/ace/Process_Mutex.h \ + $(ACE_ROOT)/ace/Process_Mutex.inl \ + $(ACE_ROOT)/ace/WFMO_Reactor.i \ + $(ACE_ROOT)/ace/Future.cpp \ + $(ACE_ROOT)/ace/Future_Set.h \ + $(ACE_ROOT)/ace/Future_Set.cpp \ + $(ACE_ROOT)/ace/Method_Request.h \ + $(ACE_ROOT)/ace/Activation_Queue.h \ + $(ACE_ROOT)/ace/Activation_Queue.i \ + $(ACE_ROOT)/ace/Atomic_Op.h \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Atomic_Op.cpp + +.obj/Get_Opt_Test.o .obj/Get_Opt_Test.so .shobj/Get_Opt_Test.o .shobj/Get_Opt_Test.so: Get_Opt_Test.cpp \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Get_Opt.i \ + $(ACE_ROOT)/ace/ARGV.h \ + $(ACE_ROOT)/ace/ARGV.i \ + test_config.h \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp + +.obj/Handle_Set_Test.o .obj/Handle_Set_Test.so .shobj/Handle_Set_Test.o .shobj/Handle_Set_Test.so: Handle_Set_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Profile_Timer.h \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/High_Res_Timer.h \ + $(ACE_ROOT)/ace/High_Res_Timer.i \ + $(ACE_ROOT)/ace/Profile_Timer.i \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp + +.obj/High_Res_Timer_Test.o .obj/High_Res_Timer_Test.so .shobj/High_Res_Timer_Test.o .shobj/High_Res_Timer_Test.so: High_Res_Timer_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/High_Res_Timer.h \ + $(ACE_ROOT)/ace/High_Res_Timer.i \ + $(ACE_ROOT)/ace/Sched_Params.h \ + $(ACE_ROOT)/ace/Sched_Params.i \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Get_Opt.i + +.obj/Hash_Map_Manager_Test.o .obj/Hash_Map_Manager_Test.so .shobj/Hash_Map_Manager_Test.o .shobj/Hash_Map_Manager_Test.so: Hash_Map_Manager_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h + +.obj/Hash_Map_Bucket_Iterator_Test.o .obj/Hash_Map_Bucket_Iterator_Test.so .shobj/Hash_Map_Bucket_Iterator_Test.o .shobj/Hash_Map_Bucket_Iterator_Test.so: Hash_Map_Bucket_Iterator_Test.cpp \ + test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Get_Opt.i + +.obj/INET_Addr_Test.o .obj/INET_Addr_Test.so .shobj/INET_Addr_Test.o .shobj/INET_Addr_Test.so: INET_Addr_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/INET_Addr.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/INET_Addr.i + +.obj/IOStream_Test.o .obj/IOStream_Test.so .shobj/IOStream_Test.o .shobj/IOStream_Test.so: IOStream_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Acceptor.h \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Svc_Handler.h \ + $(ACE_ROOT)/ace/Synch_Options.h \ + $(ACE_ROOT)/ace/Synch_Options.i \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Recyclable.h \ + $(ACE_ROOT)/ace/Recyclable.inl \ + $(ACE_ROOT)/ace/Svc_Handler.cpp \ + $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \ + $(ACE_ROOT)/ace/Dynamic.h \ + $(ACE_ROOT)/ace/Dynamic.i \ + $(ACE_ROOT)/ace/Strategies_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Refcountable.h \ + $(ACE_ROOT)/ace/Refcountable.inl \ + $(ACE_ROOT)/ace/Hashable.h \ + $(ACE_ROOT)/ace/Hashable.inl \ + $(ACE_ROOT)/ace/Strategies_T.i \ + $(ACE_ROOT)/ace/Strategies_T.cpp \ + $(ACE_ROOT)/ace/Service_Repository.h \ + $(ACE_ROOT)/ace/Service_Types.h \ + $(ACE_ROOT)/ace/Service_Types.i \ + $(ACE_ROOT)/ace/Service_Repository.i \ + $(ACE_ROOT)/ace/WFMO_Reactor.h \ + $(ACE_ROOT)/ace/Process_Mutex.h \ + $(ACE_ROOT)/ace/Process_Mutex.inl \ + $(ACE_ROOT)/ace/WFMO_Reactor.i \ + $(ACE_ROOT)/ace/Acceptor.cpp \ + $(ACE_ROOT)/ace/SOCK_Connector.h \ + $(ACE_ROOT)/ace/SOCK_Stream.h \ + $(ACE_ROOT)/ace/SOCK_IO.h \ + $(ACE_ROOT)/ace/SOCK.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/IPC_SAP.h \ + $(ACE_ROOT)/ace/IPC_SAP.i \ + $(ACE_ROOT)/ace/SOCK.i \ + $(ACE_ROOT)/ace/SOCK_IO.i \ + $(ACE_ROOT)/ace/INET_Addr.h \ + $(ACE_ROOT)/ace/INET_Addr.i \ + $(ACE_ROOT)/ace/SOCK_Stream.i \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/SOCK_Connector.i \ + $(ACE_ROOT)/ace/SOCK_Acceptor.h \ + $(ACE_ROOT)/ace/SOCK_Acceptor.i \ + $(ACE_ROOT)/ace/IOStream.h \ + $(ACE_ROOT)/ace/IOStream_T.h \ + $(ACE_ROOT)/ace/IOStream_T.i \ + $(ACE_ROOT)/ace/IOStream_T.cpp + +.obj/Lazy_Map_Manager_Test.o .obj/Lazy_Map_Manager_Test.so .shobj/Lazy_Map_Manager_Test.o .shobj/Lazy_Map_Manager_Test.so: Lazy_Map_Manager_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ + $(ACE_ROOT)/ace/Map_Manager.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Active_Map_Manager.h \ + $(ACE_ROOT)/ace/Active_Map_Manager.i \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp + +.obj/Log_Msg_Test.o .obj/Log_Msg_Test.so .shobj/Log_Msg_Test.o .shobj/Log_Msg_Test.so: Log_Msg_Test.cpp \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/FILE_Connector.h \ + $(ACE_ROOT)/ace/FILE_IO.h \ + $(ACE_ROOT)/ace/FILE.h \ + $(ACE_ROOT)/ace/IO_SAP.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/IO_SAP.i \ + $(ACE_ROOT)/ace/FILE_Addr.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/FILE_Addr.i \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/FILE.i \ + $(ACE_ROOT)/ace/FILE_IO.i \ + $(ACE_ROOT)/ace/FILE_Connector.i \ + $(ACE_ROOT)/ace/Log_Msg_Callback.h \ + test_config.h \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp + +.obj/Logging_Strategy_Test.o .obj/Logging_Strategy_Test.so .shobj/Logging_Strategy_Test.o .shobj/Logging_Strategy_Test.so: Logging_Strategy_Test.cpp \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/Get_Opt.i \ + test_config.h + +.obj/Malloc_Test.o .obj/Malloc_Test.so .shobj/Malloc_Test.o .shobj/Malloc_Test.so: Malloc_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Process.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Process.i \ + $(ACE_ROOT)/ace/Process_Mutex.h \ + $(ACE_ROOT)/ace/Process_Mutex.inl \ + $(ACE_ROOT)/ace/PI_Malloc.h \ + $(ACE_ROOT)/ace/Based_Pointer_T.h \ + $(ACE_ROOT)/ace/Based_Pointer_T.i \ + $(ACE_ROOT)/ace/Based_Pointer_T.cpp \ + $(ACE_ROOT)/ace/Based_Pointer_Repository.h \ + $(ACE_ROOT)/ace/PI_Malloc.i \ + Malloc_Test.h + +.obj/Map_Test.o .obj/Map_Test.so .shobj/Map_Test.o .shobj/Map_Test.so: Map_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + Map_Test.h \ + $(ACE_ROOT)/ace/Active_Map_Manager.h \ + $(ACE_ROOT)/ace/Active_Map_Manager.i \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ + $(ACE_ROOT)/ace/Map_Manager.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Map_T.h \ + $(ACE_ROOT)/ace/Map.h \ + $(ACE_ROOT)/ace/Pair.h \ + $(ACE_ROOT)/ace/Pair_T.h \ + $(ACE_ROOT)/ace/Pair_T.i \ + $(ACE_ROOT)/ace/Pair_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Map_T.i \ + $(ACE_ROOT)/ace/Map_T.cpp \ + $(ACE_ROOT)/ace/Profile_Timer.h \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/High_Res_Timer.h \ + $(ACE_ROOT)/ace/High_Res_Timer.i \ + $(ACE_ROOT)/ace/Profile_Timer.i + +.obj/Map_Manager_Test.o .obj/Map_Manager_Test.so .shobj/Map_Manager_Test.o .shobj/Map_Manager_Test.so: Map_Manager_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ + $(ACE_ROOT)/ace/Map_Manager.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Active_Map_Manager.h \ + $(ACE_ROOT)/ace/Active_Map_Manager.i \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Profile_Timer.h \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/High_Res_Timer.h \ + $(ACE_ROOT)/ace/High_Res_Timer.i \ + $(ACE_ROOT)/ace/Profile_Timer.i \ + $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Cache_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Pair_T.h \ + $(ACE_ROOT)/ace/Pair.h \ + $(ACE_ROOT)/ace/Pair_T.i \ + $(ACE_ROOT)/ace/Pair_T.cpp \ + $(ACE_ROOT)/ace/Cache_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Cache_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Cache_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Caching_Strategies_T.h \ + $(ACE_ROOT)/ace/Caching_Utility_T.h \ + $(ACE_ROOT)/ace/Cleanup_Strategies_T.h \ + $(ACE_ROOT)/ace/Cleanup_Strategies_T.cpp \ + $(ACE_ROOT)/ace/Caching_Utility_T.cpp \ + $(ACE_ROOT)/ace/Recyclable.h \ + $(ACE_ROOT)/ace/Recyclable.inl \ + $(ACE_ROOT)/ace/Caching_Strategies_T.i \ + $(ACE_ROOT)/ace/Caching_Strategies_T.cpp + +.obj/Max_Default_Port_Test.o .obj/Max_Default_Port_Test.so .shobj/Max_Default_Port_Test.o .shobj/Max_Default_Port_Test.so: Max_Default_Port_Test.cpp \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/SOCK_Connector.h \ + $(ACE_ROOT)/ace/SOCK_Stream.h \ + $(ACE_ROOT)/ace/SOCK_IO.h \ + $(ACE_ROOT)/ace/SOCK.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/IPC_SAP.h \ + $(ACE_ROOT)/ace/IPC_SAP.i \ + $(ACE_ROOT)/ace/SOCK.i \ + $(ACE_ROOT)/ace/SOCK_IO.i \ + $(ACE_ROOT)/ace/INET_Addr.h \ + $(ACE_ROOT)/ace/INET_Addr.i \ + $(ACE_ROOT)/ace/SOCK_Stream.i \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/SOCK_Connector.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + Max_Default_Port_Test.h \ + $(ACE_ROOT)/ace/SOCK_Acceptor.h \ + $(ACE_ROOT)/ace/SOCK_Acceptor.i \ + test_config.h + +.obj/MEM_Stream_Test.o .obj/MEM_Stream_Test.so .shobj/MEM_Stream_Test.o .shobj/MEM_Stream_Test.so: MEM_Stream_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Get_Opt.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/MEM_Connector.h \ + $(ACE_ROOT)/ace/SOCK_Connector.h \ + $(ACE_ROOT)/ace/SOCK_Stream.h \ + $(ACE_ROOT)/ace/SOCK_IO.h \ + $(ACE_ROOT)/ace/SOCK.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/IPC_SAP.h \ + $(ACE_ROOT)/ace/IPC_SAP.i \ + $(ACE_ROOT)/ace/SOCK.i \ + $(ACE_ROOT)/ace/SOCK_IO.i \ + $(ACE_ROOT)/ace/INET_Addr.h \ + $(ACE_ROOT)/ace/INET_Addr.i \ + $(ACE_ROOT)/ace/SOCK_Stream.i \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/SOCK_Connector.i \ + $(ACE_ROOT)/ace/MEM_Stream.h \ + $(ACE_ROOT)/ace/MEM_IO.h \ + $(ACE_ROOT)/ace/MEM_SAP.h \ + $(ACE_ROOT)/ace/PI_Malloc.h \ + $(ACE_ROOT)/ace/Based_Pointer_T.h \ + $(ACE_ROOT)/ace/Based_Pointer_T.i \ + $(ACE_ROOT)/ace/Based_Pointer_T.cpp \ + $(ACE_ROOT)/ace/Based_Pointer_Repository.h \ + $(ACE_ROOT)/ace/PI_Malloc.i \ + $(ACE_ROOT)/ace/Process_Mutex.h \ + $(ACE_ROOT)/ace/Process_Mutex.inl \ + $(ACE_ROOT)/ace/MEM_SAP.i \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/Process_Semaphore.h \ + $(ACE_ROOT)/ace/Process_Semaphore.inl \ + $(ACE_ROOT)/ace/MEM_IO.i \ + $(ACE_ROOT)/ace/MEM_Stream.i \ + $(ACE_ROOT)/ace/MEM_Addr.h \ + $(ACE_ROOT)/ace/MEM_Addr.i \ + $(ACE_ROOT)/ace/MEM_Connector.i \ + $(ACE_ROOT)/ace/MEM_Acceptor.h \ + $(ACE_ROOT)/ace/SOCK_Acceptor.h \ + $(ACE_ROOT)/ace/SOCK_Acceptor.i \ + $(ACE_ROOT)/ace/OS_QoS.h \ + $(ACE_ROOT)/ace/MEM_Acceptor.i \ + $(ACE_ROOT)/ace/Select_Reactor.h \ + $(ACE_ROOT)/ace/Select_Reactor_T.h \ + $(ACE_ROOT)/ace/Select_Reactor_Base.h \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Token.h \ + $(ACE_ROOT)/ace/Token.i \ + $(ACE_ROOT)/ace/Pipe.h \ + $(ACE_ROOT)/ace/Pipe.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Select_Reactor_Base.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Select_Reactor_T.cpp \ + $(ACE_ROOT)/ace/Timer_Heap.h \ + $(ACE_ROOT)/ace/Timer_Heap_T.h \ + $(ACE_ROOT)/ace/Timer_Heap_T.cpp \ + $(ACE_ROOT)/ace/Select_Reactor_T.i \ + $(ACE_ROOT)/ace/Connector.h \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ + $(ACE_ROOT)/ace/Map_Manager.cpp \ + $(ACE_ROOT)/ace/Svc_Handler.h \ + $(ACE_ROOT)/ace/Synch_Options.h \ + $(ACE_ROOT)/ace/Synch_Options.i \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Recyclable.h \ + $(ACE_ROOT)/ace/Recyclable.inl \ + $(ACE_ROOT)/ace/Svc_Handler.cpp \ + $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \ + $(ACE_ROOT)/ace/Dynamic.h \ + $(ACE_ROOT)/ace/Dynamic.i \ + $(ACE_ROOT)/ace/Strategies_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Refcountable.h \ + $(ACE_ROOT)/ace/Refcountable.inl \ + $(ACE_ROOT)/ace/Hashable.h \ + $(ACE_ROOT)/ace/Hashable.inl \ + $(ACE_ROOT)/ace/Strategies_T.i \ + $(ACE_ROOT)/ace/Strategies_T.cpp \ + $(ACE_ROOT)/ace/Service_Repository.h \ + $(ACE_ROOT)/ace/Service_Types.h \ + $(ACE_ROOT)/ace/Service_Types.i \ + $(ACE_ROOT)/ace/Service_Repository.i \ + $(ACE_ROOT)/ace/WFMO_Reactor.h \ + $(ACE_ROOT)/ace/WFMO_Reactor.i \ + $(ACE_ROOT)/ace/Connector.cpp \ + $(ACE_ROOT)/ace/Acceptor.h \ + $(ACE_ROOT)/ace/Acceptor.cpp \ + $(ACE_ROOT)/ace/Atomic_Op.h \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Atomic_Op.cpp \ + $(ACE_ROOT)/ace/Process.h \ + $(ACE_ROOT)/ace/Process.i \ + $(ACE_ROOT)/ace/Process_Manager.h \ + $(ACE_ROOT)/ace/Process_Manager.i \ + MEM_Stream_Test.h + +.obj/Mem_Map_Test.o .obj/Mem_Map_Test.so .shobj/Mem_Map_Test.o .shobj/Mem_Map_Test.so: Mem_Map_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i + +.obj/MM_Shared_Memory_Test.o .obj/MM_Shared_Memory_Test.so .shobj/MM_Shared_Memory_Test.o .shobj/MM_Shared_Memory_Test.so: MM_Shared_Memory_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Shared_Memory_MM.h \ + $(ACE_ROOT)/ace/Shared_Memory.h \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/Shared_Memory_MM.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/Process_Semaphore.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Process_Semaphore.inl \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i + +.obj/MT_Reactor_Timer_Test.o .obj/MT_Reactor_Timer_Test.so .shobj/MT_Reactor_Timer_Test.o .shobj/MT_Reactor_Timer_Test.so: MT_Reactor_Timer_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + MT_Reactor_Timer_Test.h \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Pipe.h \ + $(ACE_ROOT)/ace/Pipe.i + +.obj/MT_SOCK_Test.o .obj/MT_SOCK_Test.so .shobj/MT_SOCK_Test.o .shobj/MT_SOCK_Test.so: MT_SOCK_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/SOCK_Connector.h \ + $(ACE_ROOT)/ace/SOCK_Stream.h \ + $(ACE_ROOT)/ace/SOCK_IO.h \ + $(ACE_ROOT)/ace/SOCK.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/IPC_SAP.h \ + $(ACE_ROOT)/ace/IPC_SAP.i \ + $(ACE_ROOT)/ace/SOCK.i \ + $(ACE_ROOT)/ace/SOCK_IO.i \ + $(ACE_ROOT)/ace/INET_Addr.h \ + $(ACE_ROOT)/ace/INET_Addr.i \ + $(ACE_ROOT)/ace/SOCK_Stream.i \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/SOCK_Connector.i \ + $(ACE_ROOT)/ace/SOCK_Acceptor.h \ + $(ACE_ROOT)/ace/SOCK_Acceptor.i \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i + +.obj/Message_Block_Test.o .obj/Message_Block_Test.so .shobj/Message_Block_Test.o .shobj/Message_Block_Test.so: Message_Block_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Profile_Timer.h \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/High_Res_Timer.h \ + $(ACE_ROOT)/ace/High_Res_Timer.i \ + $(ACE_ROOT)/ace/Profile_Timer.i + +.obj/Message_Queue_Test.o .obj/Message_Queue_Test.so .shobj/Message_Queue_Test.o .shobj/Message_Queue_Test.so: Message_Queue_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/High_Res_Timer.h \ + $(ACE_ROOT)/ace/High_Res_Timer.i + +.obj/Message_Queue_Test_Ex.o .obj/Message_Queue_Test_Ex.so .shobj/Message_Queue_Test_Ex.o .shobj/Message_Queue_Test_Ex.so: Message_Queue_Test_Ex.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/High_Res_Timer.h \ + $(ACE_ROOT)/ace/High_Res_Timer.i + +.obj/Message_Queue_Notifications_Test.o .obj/Message_Queue_Notifications_Test.so .shobj/Message_Queue_Notifications_Test.o .shobj/Message_Queue_Notifications_Test.so: \ + Message_Queue_Notifications_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Reactor_Notification_Strategy.h \ + $(ACE_ROOT)/ace/Reactor_Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Atomic_Op.h \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Atomic_Op.cpp + +.obj/Notify_Performance_Test.o .obj/Notify_Performance_Test.so .shobj/Notify_Performance_Test.o .shobj/Notify_Performance_Test.so: Notify_Performance_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Profile_Timer.h \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/High_Res_Timer.h \ + $(ACE_ROOT)/ace/High_Res_Timer.i \ + $(ACE_ROOT)/ace/Profile_Timer.i \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Get_Opt.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/WFMO_Reactor.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Process_Mutex.h \ + $(ACE_ROOT)/ace/Process_Mutex.inl \ + $(ACE_ROOT)/ace/WFMO_Reactor.i \ + $(ACE_ROOT)/ace/Select_Reactor.h \ + $(ACE_ROOT)/ace/Select_Reactor_T.h \ + $(ACE_ROOT)/ace/Select_Reactor_Base.h \ + $(ACE_ROOT)/ace/Token.h \ + $(ACE_ROOT)/ace/Token.i \ + $(ACE_ROOT)/ace/Pipe.h \ + $(ACE_ROOT)/ace/Pipe.i \ + $(ACE_ROOT)/ace/Select_Reactor_Base.i \ + $(ACE_ROOT)/ace/Select_Reactor_T.cpp \ + $(ACE_ROOT)/ace/Timer_Heap.h \ + $(ACE_ROOT)/ace/Timer_Heap_T.h \ + $(ACE_ROOT)/ace/Timer_Heap_T.cpp \ + $(ACE_ROOT)/ace/Select_Reactor_T.i \ + $(ACE_ROOT)/ace/Atomic_Op.h \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Atomic_Op.cpp + +.obj/Object_Manager_Test.o .obj/Object_Manager_Test.so .shobj/Object_Manager_Test.o .shobj/Object_Manager_Test.so: Object_Manager_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp + +.obj/OrdMultiSet_Test.o .obj/OrdMultiSet_Test.so .shobj/OrdMultiSet_Test.o .shobj/OrdMultiSet_Test.so: OrdMultiSet_Test.cpp \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + test_config.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp + +.obj/OS_Test.o .obj/OS_Test.so .shobj/OS_Test.o .shobj/OS_Test.so: OS_Test.cpp \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + test_config.h \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp + +.obj/Proactor_Test.o .obj/Proactor_Test.so .shobj/Proactor_Test.o .shobj/Proactor_Test.so: Proactor_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/INET_Addr.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/INET_Addr.i \ + $(ACE_ROOT)/ace/SOCK_Connector.h \ + $(ACE_ROOT)/ace/SOCK_Stream.h \ + $(ACE_ROOT)/ace/SOCK_IO.h \ + $(ACE_ROOT)/ace/SOCK.h \ + $(ACE_ROOT)/ace/IPC_SAP.h \ + $(ACE_ROOT)/ace/IPC_SAP.i \ + $(ACE_ROOT)/ace/SOCK.i \ + $(ACE_ROOT)/ace/SOCK_IO.i \ + $(ACE_ROOT)/ace/SOCK_Stream.i \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/SOCK_Connector.i \ + $(ACE_ROOT)/ace/SOCK_Acceptor.h \ + $(ACE_ROOT)/ace/SOCK_Acceptor.i \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Get_Opt.i \ + $(ACE_ROOT)/ace/Proactor.h \ + $(ACE_ROOT)/ace/Asynch_IO.h \ + $(ACE_ROOT)/ace/Asynch_IO_Impl.h \ + $(ACE_ROOT)/ace/Asynch_IO_Impl.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Timer_List.h \ + $(ACE_ROOT)/ace/Timer_List_T.h \ + $(ACE_ROOT)/ace/Timer_List_T.cpp \ + $(ACE_ROOT)/ace/Timer_Heap.h \ + $(ACE_ROOT)/ace/Timer_Heap_T.h \ + $(ACE_ROOT)/ace/Timer_Heap_T.cpp \ + $(ACE_ROOT)/ace/Timer_Wheel.h \ + $(ACE_ROOT)/ace/Timer_Wheel_T.h \ + $(ACE_ROOT)/ace/Timer_Wheel_T.cpp \ + $(ACE_ROOT)/ace/High_Res_Timer.h \ + $(ACE_ROOT)/ace/High_Res_Timer.i \ + $(ACE_ROOT)/ace/Proactor.i \ + $(ACE_ROOT)/ace/Asynch_Acceptor.h \ + $(ACE_ROOT)/ace/Asynch_Acceptor.cpp \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/POSIX_Proactor.h \ + $(ACE_ROOT)/ace/Proactor_Impl.h \ + $(ACE_ROOT)/ace/Pipe.h \ + $(ACE_ROOT)/ace/Pipe.i \ + $(ACE_ROOT)/ace/POSIX_Asynch_IO.h \ + $(ACE_ROOT)/ace/POSIX_Asynch_IO.i \ + $(ACE_ROOT)/ace/POSIX_Proactor.i \ + $(ACE_ROOT)/ace/SUN_Proactor.h + +.obj/Process_Mutex_Test.o .obj/Process_Mutex_Test.so .shobj/Process_Mutex_Test.o .shobj/Process_Mutex_Test.so: Process_Mutex_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Process.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Process.i \ + $(ACE_ROOT)/ace/Process_Mutex.h \ + $(ACE_ROOT)/ace/Process_Mutex.inl \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Get_Opt.i + +.obj/Process_Strategy_Test.o .obj/Process_Strategy_Test.so .shobj/Process_Strategy_Test.o .shobj/Process_Strategy_Test.so: Process_Strategy_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Acceptor.h \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Svc_Handler.h \ + $(ACE_ROOT)/ace/Synch_Options.h \ + $(ACE_ROOT)/ace/Synch_Options.i \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Recyclable.h \ + $(ACE_ROOT)/ace/Recyclable.inl \ + $(ACE_ROOT)/ace/Svc_Handler.cpp \ + $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \ + $(ACE_ROOT)/ace/Dynamic.h \ + $(ACE_ROOT)/ace/Dynamic.i \ + $(ACE_ROOT)/ace/Strategies_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Refcountable.h \ + $(ACE_ROOT)/ace/Refcountable.inl \ + $(ACE_ROOT)/ace/Hashable.h \ + $(ACE_ROOT)/ace/Hashable.inl \ + $(ACE_ROOT)/ace/Strategies_T.i \ + $(ACE_ROOT)/ace/Strategies_T.cpp \ + $(ACE_ROOT)/ace/Service_Repository.h \ + $(ACE_ROOT)/ace/Service_Types.h \ + $(ACE_ROOT)/ace/Service_Types.i \ + $(ACE_ROOT)/ace/Service_Repository.i \ + $(ACE_ROOT)/ace/WFMO_Reactor.h \ + $(ACE_ROOT)/ace/Process_Mutex.h \ + $(ACE_ROOT)/ace/Process_Mutex.inl \ + $(ACE_ROOT)/ace/WFMO_Reactor.i \ + $(ACE_ROOT)/ace/Acceptor.cpp \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/Get_Opt.i \ + $(ACE_ROOT)/ace/SOCK_Acceptor.h \ + $(ACE_ROOT)/ace/SOCK_Stream.h \ + $(ACE_ROOT)/ace/SOCK_IO.h \ + $(ACE_ROOT)/ace/SOCK.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/IPC_SAP.h \ + $(ACE_ROOT)/ace/IPC_SAP.i \ + $(ACE_ROOT)/ace/SOCK.i \ + $(ACE_ROOT)/ace/SOCK_IO.i \ + $(ACE_ROOT)/ace/INET_Addr.h \ + $(ACE_ROOT)/ace/INET_Addr.i \ + $(ACE_ROOT)/ace/SOCK_Stream.i \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/SOCK_Acceptor.i \ + $(ACE_ROOT)/ace/SOCK_Connector.h \ + $(ACE_ROOT)/ace/SOCK_Connector.i \ + $(ACE_ROOT)/ace/File_Lock.h \ + $(ACE_ROOT)/ace/File_Lock.inl \ + Process_Strategy_Test.h + +.obj/Priority_Buffer_Test.o .obj/Priority_Buffer_Test.so .shobj/Priority_Buffer_Test.o .shobj/Priority_Buffer_Test.so: Priority_Buffer_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i + +.obj/Dynamic_Priority_Test.o .obj/Dynamic_Priority_Test.so .shobj/Dynamic_Priority_Test.o .shobj/Dynamic_Priority_Test.so: Dynamic_Priority_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/High_Res_Timer.h \ + $(ACE_ROOT)/ace/High_Res_Timer.i \ + $(ACE_ROOT)/ace/Sched_Params.h \ + $(ACE_ROOT)/ace/Sched_Params.i + +.obj/Priority_Task_Test.o .obj/Priority_Task_Test.so .shobj/Priority_Task_Test.o .shobj/Priority_Task_Test.so: Priority_Task_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Sched_Params.h \ + $(ACE_ROOT)/ace/Sched_Params.i + +.obj/Priority_Reactor_Test.o .obj/Priority_Reactor_Test.so .shobj/Priority_Reactor_Test.o .shobj/Priority_Reactor_Test.so: Priority_Reactor_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Get_Opt.i \ + $(ACE_ROOT)/ace/SOCK_Connector.h \ + $(ACE_ROOT)/ace/SOCK_Stream.h \ + $(ACE_ROOT)/ace/SOCK_IO.h \ + $(ACE_ROOT)/ace/SOCK.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/IPC_SAP.h \ + $(ACE_ROOT)/ace/IPC_SAP.i \ + $(ACE_ROOT)/ace/SOCK.i \ + $(ACE_ROOT)/ace/SOCK_IO.i \ + $(ACE_ROOT)/ace/INET_Addr.h \ + $(ACE_ROOT)/ace/INET_Addr.i \ + $(ACE_ROOT)/ace/SOCK_Stream.i \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/SOCK_Connector.i \ + $(ACE_ROOT)/ace/SOCK_Acceptor.h \ + $(ACE_ROOT)/ace/SOCK_Acceptor.i \ + $(ACE_ROOT)/ace/Acceptor.h \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Svc_Handler.h \ + $(ACE_ROOT)/ace/Synch_Options.h \ + $(ACE_ROOT)/ace/Synch_Options.i \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Recyclable.h \ + $(ACE_ROOT)/ace/Recyclable.inl \ + $(ACE_ROOT)/ace/Svc_Handler.cpp \ + $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \ + $(ACE_ROOT)/ace/Dynamic.h \ + $(ACE_ROOT)/ace/Dynamic.i \ + $(ACE_ROOT)/ace/Strategies_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Refcountable.h \ + $(ACE_ROOT)/ace/Refcountable.inl \ + $(ACE_ROOT)/ace/Hashable.h \ + $(ACE_ROOT)/ace/Hashable.inl \ + $(ACE_ROOT)/ace/Strategies_T.i \ + $(ACE_ROOT)/ace/Strategies_T.cpp \ + $(ACE_ROOT)/ace/Service_Repository.h \ + $(ACE_ROOT)/ace/Service_Types.h \ + $(ACE_ROOT)/ace/Service_Types.i \ + $(ACE_ROOT)/ace/Service_Repository.i \ + $(ACE_ROOT)/ace/WFMO_Reactor.h \ + $(ACE_ROOT)/ace/Process_Mutex.h \ + $(ACE_ROOT)/ace/Process_Mutex.inl \ + $(ACE_ROOT)/ace/WFMO_Reactor.i \ + $(ACE_ROOT)/ace/Acceptor.cpp \ + $(ACE_ROOT)/ace/Connector.h \ + $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ + $(ACE_ROOT)/ace/Map_Manager.cpp \ + $(ACE_ROOT)/ace/Connector.cpp \ + $(ACE_ROOT)/ace/Priority_Reactor.h \ + $(ACE_ROOT)/ace/Select_Reactor.h \ + $(ACE_ROOT)/ace/Select_Reactor_T.h \ + $(ACE_ROOT)/ace/Select_Reactor_Base.h \ + $(ACE_ROOT)/ace/Token.h \ + $(ACE_ROOT)/ace/Token.i \ + $(ACE_ROOT)/ace/Pipe.h \ + $(ACE_ROOT)/ace/Pipe.i \ + $(ACE_ROOT)/ace/Select_Reactor_Base.i \ + $(ACE_ROOT)/ace/Select_Reactor_T.cpp \ + $(ACE_ROOT)/ace/Timer_Heap.h \ + $(ACE_ROOT)/ace/Timer_Heap_T.h \ + $(ACE_ROOT)/ace/Timer_Heap_T.cpp \ + $(ACE_ROOT)/ace/Select_Reactor_T.i \ + Priority_Reactor_Test.h + +.obj/Process_Manager_Test.o .obj/Process_Manager_Test.so .shobj/Process_Manager_Test.o .shobj/Process_Manager_Test.so: Process_Manager_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Process_Manager.h \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Process.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Process.i \ + $(ACE_ROOT)/ace/Process_Manager.i \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Get_Opt.i + +.obj/Pipe_Test.o .obj/Pipe_Test.so .shobj/Pipe_Test.o .shobj/Pipe_Test.so: Pipe_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Pipe.h \ + $(ACE_ROOT)/ace/Pipe.i \ + $(ACE_ROOT)/ace/Process.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Process.i \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Get_Opt.i + +.obj/RB_Tree_Test.o .obj/RB_Tree_Test.so .shobj/RB_Tree_Test.o .shobj/RB_Tree_Test.so: RB_Tree_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/RB_Tree.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/RB_Tree.i \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/RB_Tree.cpp \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + RB_Tree_Test.h + +.obj/Reactors_Test.o .obj/Reactors_Test.so .shobj/Reactors_Test.o .shobj/Reactors_Test.so: Reactors_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Atomic_Op.h \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Atomic_Op.cpp + +.obj/Reactor_Exceptions_Test.o .obj/Reactor_Exceptions_Test.so .shobj/Reactor_Exceptions_Test.o .shobj/Reactor_Exceptions_Test.so: Reactor_Exceptions_Test.cpp \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/SOCK_Dgram.h \ + $(ACE_ROOT)/ace/SOCK.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/IPC_SAP.h \ + $(ACE_ROOT)/ace/IPC_SAP.i \ + $(ACE_ROOT)/ace/SOCK.i \ + $(ACE_ROOT)/ace/INET_Addr.h \ + $(ACE_ROOT)/ace/INET_Addr.i \ + $(ACE_ROOT)/ace/SOCK_Dgram.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + test_config.h + +.obj/Reactor_Notify_Test.o .obj/Reactor_Notify_Test.so .shobj/Reactor_Notify_Test.o .shobj/Reactor_Notify_Test.so: Reactor_Notify_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Pipe.h \ + $(ACE_ROOT)/ace/Pipe.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/Select_Reactor.h \ + $(ACE_ROOT)/ace/Select_Reactor_T.h \ + $(ACE_ROOT)/ace/Select_Reactor_Base.h \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Token.h \ + $(ACE_ROOT)/ace/Token.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Select_Reactor_Base.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Select_Reactor_T.cpp \ + $(ACE_ROOT)/ace/Timer_Heap.h \ + $(ACE_ROOT)/ace/Timer_Heap_T.h \ + $(ACE_ROOT)/ace/Timer_Heap_T.cpp \ + $(ACE_ROOT)/ace/Select_Reactor_T.i + +.obj/Reactor_Performance_Test.o .obj/Reactor_Performance_Test.so .shobj/Reactor_Performance_Test.o .shobj/Reactor_Performance_Test.so: Reactor_Performance_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + Reactor_Performance_Test.h \ + $(ACE_ROOT)/ace/SOCK_Stream.h \ + $(ACE_ROOT)/ace/SOCK_IO.h \ + $(ACE_ROOT)/ace/SOCK.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/IPC_SAP.h \ + $(ACE_ROOT)/ace/IPC_SAP.i \ + $(ACE_ROOT)/ace/SOCK.i \ + $(ACE_ROOT)/ace/SOCK_IO.i \ + $(ACE_ROOT)/ace/INET_Addr.h \ + $(ACE_ROOT)/ace/INET_Addr.i \ + $(ACE_ROOT)/ace/SOCK_Stream.i \ + $(ACE_ROOT)/ace/Svc_Handler.h \ + $(ACE_ROOT)/ace/Synch_Options.h \ + $(ACE_ROOT)/ace/Synch_Options.i \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Recyclable.h \ + $(ACE_ROOT)/ace/Recyclable.inl \ + $(ACE_ROOT)/ace/Svc_Handler.cpp \ + $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \ + $(ACE_ROOT)/ace/Dynamic.h \ + $(ACE_ROOT)/ace/Dynamic.i \ + $(ACE_ROOT)/ace/Profile_Timer.h \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/High_Res_Timer.h \ + $(ACE_ROOT)/ace/High_Res_Timer.i \ + $(ACE_ROOT)/ace/Profile_Timer.i \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/Get_Opt.i \ + $(ACE_ROOT)/ace/SOCK_Connector.h \ + $(ACE_ROOT)/ace/SOCK_Connector.i \ + $(ACE_ROOT)/ace/SOCK_Acceptor.h \ + $(ACE_ROOT)/ace/SOCK_Acceptor.i \ + $(ACE_ROOT)/ace/Acceptor.h \ + $(ACE_ROOT)/ace/Strategies_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Refcountable.h \ + $(ACE_ROOT)/ace/Refcountable.inl \ + $(ACE_ROOT)/ace/Hashable.h \ + $(ACE_ROOT)/ace/Hashable.inl \ + $(ACE_ROOT)/ace/Strategies_T.i \ + $(ACE_ROOT)/ace/Strategies_T.cpp \ + $(ACE_ROOT)/ace/Service_Repository.h \ + $(ACE_ROOT)/ace/Service_Types.h \ + $(ACE_ROOT)/ace/Service_Types.i \ + $(ACE_ROOT)/ace/Service_Repository.i \ + $(ACE_ROOT)/ace/WFMO_Reactor.h \ + $(ACE_ROOT)/ace/Process_Mutex.h \ + $(ACE_ROOT)/ace/Process_Mutex.inl \ + $(ACE_ROOT)/ace/WFMO_Reactor.i \ + $(ACE_ROOT)/ace/Acceptor.cpp \ + $(ACE_ROOT)/ace/Connector.h \ + $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ + $(ACE_ROOT)/ace/Map_Manager.cpp \ + $(ACE_ROOT)/ace/Connector.cpp \ + $(ACE_ROOT)/ace/Select_Reactor.h \ + $(ACE_ROOT)/ace/Select_Reactor_T.h \ + $(ACE_ROOT)/ace/Select_Reactor_Base.h \ + $(ACE_ROOT)/ace/Token.h \ + $(ACE_ROOT)/ace/Token.i \ + $(ACE_ROOT)/ace/Pipe.h \ + $(ACE_ROOT)/ace/Pipe.i \ + $(ACE_ROOT)/ace/Select_Reactor_Base.i \ + $(ACE_ROOT)/ace/Select_Reactor_T.cpp \ + $(ACE_ROOT)/ace/Timer_Heap.h \ + $(ACE_ROOT)/ace/Timer_Heap_T.h \ + $(ACE_ROOT)/ace/Timer_Heap_T.cpp \ + $(ACE_ROOT)/ace/Select_Reactor_T.i + +.obj/Reactor_Timer_Test.o .obj/Reactor_Timer_Test.so .shobj/Reactor_Timer_Test.o .shobj/Reactor_Timer_Test.so: Reactor_Timer_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/High_Res_Timer.h \ + $(ACE_ROOT)/ace/High_Res_Timer.i + +.obj/Reader_Writer_Test.o .obj/Reader_Writer_Test.so .shobj/Reader_Writer_Test.o .shobj/Reader_Writer_Test.so: Reader_Writer_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Get_Opt.i \ + $(ACE_ROOT)/ace/Atomic_Op.h \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Atomic_Op.cpp + +.obj/Recursive_Mutex_Test.o .obj/Recursive_Mutex_Test.so .shobj/Recursive_Mutex_Test.o .shobj/Recursive_Mutex_Test.so: Recursive_Mutex_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Get_Opt.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Thread_Manager.i + +.obj/Refcounted_Auto_Ptr_Test.o .obj/Refcounted_Auto_Ptr_Test.so .shobj/Refcounted_Auto_Ptr_Test.o .shobj/Refcounted_Auto_Ptr_Test.so: Refcounted_Auto_Ptr_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Method_Request.h \ + $(ACE_ROOT)/ace/Activation_Queue.h \ + $(ACE_ROOT)/ace/Activation_Queue.i \ + $(ACE_ROOT)/ace/Refcounted_Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/Refcounted_Auto_Ptr.i + +.obj/Reverse_Lock_Test.o .obj/Reverse_Lock_Test.so .shobj/Reverse_Lock_Test.o .shobj/Reverse_Lock_Test.so: Reverse_Lock_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp + +.obj/Semaphore_Test.o .obj/Semaphore_Test.so .shobj/Semaphore_Test.o .shobj/Semaphore_Test.so: Semaphore_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Get_Opt.i + +.obj/Signal_Test.o .obj/Signal_Test.so .shobj/Signal_Test.o .shobj/Signal_Test.so: Signal_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Process.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Process.i \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/Get_Opt.i \ + $(ACE_ROOT)/ace/ARGV.h \ + $(ACE_ROOT)/ace/ARGV.i + +.obj/Sigset_Ops_Test.o .obj/Sigset_Ops_Test.so .shobj/Sigset_Ops_Test.o .shobj/Sigset_Ops_Test.so: Sigset_Ops_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp + +.obj/Simple_Message_Block_Test.o .obj/Simple_Message_Block_Test.so .shobj/Simple_Message_Block_Test.o .shobj/Simple_Message_Block_Test.so: Simple_Message_Block_Test.cpp \ + test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp + +.obj/SOCK_Test.o .obj/SOCK_Test.so .shobj/SOCK_Test.o .shobj/SOCK_Test.so: SOCK_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/SOCK_Connector.h \ + $(ACE_ROOT)/ace/SOCK_Stream.h \ + $(ACE_ROOT)/ace/SOCK_IO.h \ + $(ACE_ROOT)/ace/SOCK.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/IPC_SAP.h \ + $(ACE_ROOT)/ace/IPC_SAP.i \ + $(ACE_ROOT)/ace/SOCK.i \ + $(ACE_ROOT)/ace/SOCK_IO.i \ + $(ACE_ROOT)/ace/INET_Addr.h \ + $(ACE_ROOT)/ace/INET_Addr.i \ + $(ACE_ROOT)/ace/SOCK_Stream.i \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/SOCK_Connector.i \ + $(ACE_ROOT)/ace/SOCK_Acceptor.h \ + $(ACE_ROOT)/ace/SOCK_Acceptor.i \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i + +.obj/SOCK_Connector_Test.o .obj/SOCK_Connector_Test.so .shobj/SOCK_Connector_Test.o .shobj/SOCK_Connector_Test.so: SOCK_Connector_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/INET_Addr.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/INET_Addr.i \ + $(ACE_ROOT)/ace/SOCK_Connector.h \ + $(ACE_ROOT)/ace/SOCK_Stream.h \ + $(ACE_ROOT)/ace/SOCK_IO.h \ + $(ACE_ROOT)/ace/SOCK.h \ + $(ACE_ROOT)/ace/IPC_SAP.h \ + $(ACE_ROOT)/ace/IPC_SAP.i \ + $(ACE_ROOT)/ace/SOCK.i \ + $(ACE_ROOT)/ace/SOCK_IO.i \ + $(ACE_ROOT)/ace/SOCK_Stream.i \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/SOCK_Connector.i + +.obj/SOCK_Send_Recv_Test.o .obj/SOCK_Send_Recv_Test.so .shobj/SOCK_Send_Recv_Test.o .shobj/SOCK_Send_Recv_Test.so: SOCK_Send_Recv_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/SOCK_Connector.h \ + $(ACE_ROOT)/ace/SOCK_Stream.h \ + $(ACE_ROOT)/ace/SOCK_IO.h \ + $(ACE_ROOT)/ace/SOCK.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/IPC_SAP.h \ + $(ACE_ROOT)/ace/IPC_SAP.i \ + $(ACE_ROOT)/ace/SOCK.i \ + $(ACE_ROOT)/ace/SOCK_IO.i \ + $(ACE_ROOT)/ace/INET_Addr.h \ + $(ACE_ROOT)/ace/INET_Addr.i \ + $(ACE_ROOT)/ace/SOCK_Stream.i \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/SOCK_Connector.i \ + $(ACE_ROOT)/ace/SOCK_Acceptor.h \ + $(ACE_ROOT)/ace/SOCK_Acceptor.i + +.obj/SPIPE_Test.o .obj/SPIPE_Test.so .shobj/SPIPE_Test.o .shobj/SPIPE_Test.so: SPIPE_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/SPIPE_Addr.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/SPIPE_Addr.i \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/SPIPE_Connector.h \ + $(ACE_ROOT)/ace/SPIPE_Stream.h \ + $(ACE_ROOT)/ace/SPIPE.h \ + $(ACE_ROOT)/ace/IPC_SAP.h \ + $(ACE_ROOT)/ace/IPC_SAP.i \ + $(ACE_ROOT)/ace/SPIPE.i \ + $(ACE_ROOT)/ace/SPIPE_Stream.i \ + $(ACE_ROOT)/ace/SPIPE_Connector.i \ + $(ACE_ROOT)/ace/SPIPE_Acceptor.h + +.obj/SString_Test.o .obj/SString_Test.so .shobj/SString_Test.o .shobj/SString_Test.so: SString_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/SString.i + +.obj/SV_Shared_Memory_Test.o .obj/SV_Shared_Memory_Test.so .shobj/SV_Shared_Memory_Test.o .shobj/SV_Shared_Memory_Test.so: SV_Shared_Memory_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i + +.obj/Svc_Handler_Test.o .obj/Svc_Handler_Test.so .shobj/Svc_Handler_Test.o .shobj/Svc_Handler_Test.so: Svc_Handler_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/FILE_Connector.h \ + $(ACE_ROOT)/ace/FILE_IO.h \ + $(ACE_ROOT)/ace/FILE.h \ + $(ACE_ROOT)/ace/IO_SAP.h \ + $(ACE_ROOT)/ace/IO_SAP.i \ + $(ACE_ROOT)/ace/FILE_Addr.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/FILE_Addr.i \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/FILE.i \ + $(ACE_ROOT)/ace/FILE_IO.i \ + $(ACE_ROOT)/ace/FILE_Connector.i \ + $(ACE_ROOT)/ace/Svc_Handler.h \ + $(ACE_ROOT)/ace/Synch_Options.h \ + $(ACE_ROOT)/ace/Synch_Options.i \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Recyclable.h \ + $(ACE_ROOT)/ace/Recyclable.inl \ + $(ACE_ROOT)/ace/Svc_Handler.cpp \ + $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \ + $(ACE_ROOT)/ace/Dynamic.h \ + $(ACE_ROOT)/ace/Dynamic.i + +.obj/Task_Test.o .obj/Task_Test.so .shobj/Task_Test.o .shobj/Task_Test.so: Task_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Thread_Hook.h + +.obj/Thread_Manager_Test.o .obj/Thread_Manager_Test.so .shobj/Thread_Manager_Test.o .shobj/Thread_Manager_Test.so: Thread_Manager_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp + +.obj/Thread_Mutex_Test.o .obj/Thread_Mutex_Test.so .shobj/Thread_Mutex_Test.o .shobj/Thread_Mutex_Test.so: Thread_Mutex_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Process_Mutex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Process_Mutex.inl + +.obj/Thread_Pool_Test.o .obj/Thread_Pool_Test.so .shobj/Thread_Pool_Test.o .shobj/Thread_Pool_Test.so: Thread_Pool_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp + +.obj/Timeprobe_Test.o .obj/Timeprobe_Test.so .shobj/Timeprobe_Test.o .shobj/Timeprobe_Test.so: Timeprobe_Test.cpp \ + test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Timeprobe.h + +.obj/Time_Service_Test.o .obj/Time_Service_Test.so .shobj/Time_Service_Test.o .shobj/Time_Service_Test.so: Time_Service_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Process.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Process.i + +.obj/Time_Value_Test.o .obj/Time_Value_Test.so .shobj/Time_Value_Test.o .shobj/Time_Value_Test.so: Time_Value_Test.cpp \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + test_config.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp + +.obj/Timer_Queue_Test.o .obj/Timer_Queue_Test.so .shobj/Timer_Queue_Test.o .shobj/Timer_Queue_Test.so: Timer_Queue_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Profile_Timer.h \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/High_Res_Timer.h \ + $(ACE_ROOT)/ace/High_Res_Timer.i \ + $(ACE_ROOT)/ace/Profile_Timer.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Timer_List.h \ + $(ACE_ROOT)/ace/Timer_List_T.h \ + $(ACE_ROOT)/ace/Timer_List_T.cpp \ + $(ACE_ROOT)/ace/Timer_Heap.h \ + $(ACE_ROOT)/ace/Timer_Heap_T.h \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Timer_Heap_T.cpp \ + $(ACE_ROOT)/ace/Timer_Wheel.h \ + $(ACE_ROOT)/ace/Timer_Wheel_T.h \ + $(ACE_ROOT)/ace/Timer_Wheel_T.cpp \ + $(ACE_ROOT)/ace/Timer_Hash.h \ + $(ACE_ROOT)/ace/Timer_Hash_T.h \ + $(ACE_ROOT)/ace/Timer_Hash_T.cpp + +.obj/TSS_Test.o .obj/TSS_Test.so .shobj/TSS_Test.o .shobj/TSS_Test.so: TSS_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.i \ + TSS_Test_Errno.h + +.obj/UPIPE_SAP_Test.o .obj/UPIPE_SAP_Test.so .shobj/UPIPE_SAP_Test.o .shobj/UPIPE_SAP_Test.so: UPIPE_SAP_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Stream.h \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Stream.i \ + $(ACE_ROOT)/ace/Stream.cpp \ + $(ACE_ROOT)/ace/UPIPE_Acceptor.h \ + $(ACE_ROOT)/ace/UPIPE_Stream.h \ + $(ACE_ROOT)/ace/SPIPE.h \ + $(ACE_ROOT)/ace/IPC_SAP.h \ + $(ACE_ROOT)/ace/IPC_SAP.i \ + $(ACE_ROOT)/ace/SPIPE_Addr.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/SPIPE_Addr.i \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/SPIPE.i \ + $(ACE_ROOT)/ace/UPIPE_Addr.h \ + $(ACE_ROOT)/ace/UPIPE_Stream.i \ + $(ACE_ROOT)/ace/SPIPE_Acceptor.h \ + $(ACE_ROOT)/ace/SPIPE_Stream.h \ + $(ACE_ROOT)/ace/SPIPE_Stream.i \ + $(ACE_ROOT)/ace/UPIPE_Acceptor.i \ + $(ACE_ROOT)/ace/UPIPE_Connector.h \ + $(ACE_ROOT)/ace/UPIPE_Connector.i + +.obj/Upgradable_RW_Test.o .obj/Upgradable_RW_Test.so .shobj/Upgradable_RW_Test.o .shobj/Upgradable_RW_Test.so: Upgradable_RW_Test.cpp Upgradable_RW_Test.h \ + test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Get_Opt.i \ + $(ACE_ROOT)/ace/Profile_Timer.h \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/High_Res_Timer.h \ + $(ACE_ROOT)/ace/High_Res_Timer.i \ + $(ACE_ROOT)/ace/Profile_Timer.i \ + $(ACE_ROOT)/ace/Atomic_Op.h \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Atomic_Op.cpp + +.obj/Naming_Test.o .obj/Naming_Test.so .shobj/Naming_Test.o .shobj/Naming_Test.so: Naming_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Naming_Context.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Name_Proxy.h \ + $(ACE_ROOT)/ace/INET_Addr.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/INET_Addr.i \ + $(ACE_ROOT)/ace/SOCK_Connector.h \ + $(ACE_ROOT)/ace/SOCK_Stream.h \ + $(ACE_ROOT)/ace/SOCK_IO.h \ + $(ACE_ROOT)/ace/SOCK.h \ + $(ACE_ROOT)/ace/IPC_SAP.h \ + $(ACE_ROOT)/ace/IPC_SAP.i \ + $(ACE_ROOT)/ace/SOCK.i \ + $(ACE_ROOT)/ace/SOCK_IO.i \ + $(ACE_ROOT)/ace/SOCK_Stream.i \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/SOCK_Connector.i \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Synch_Options.h \ + $(ACE_ROOT)/ace/Synch_Options.i \ + $(ACE_ROOT)/ace/Name_Request_Reply.h \ + $(ACE_ROOT)/ace/Name_Space.h \ + $(ACE_ROOT)/ace/Profile_Timer.h \ + $(ACE_ROOT)/ace/High_Res_Timer.h \ + $(ACE_ROOT)/ace/High_Res_Timer.i \ + $(ACE_ROOT)/ace/Profile_Timer.i + +.obj/Thread_Pool_Reactor_Test.o .obj/Thread_Pool_Reactor_Test.so .shobj/Thread_Pool_Reactor_Test.o .shobj/Thread_Pool_Reactor_Test.so: Thread_Pool_Reactor_Test.cpp \ + test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Get_Opt.i \ + $(ACE_ROOT)/ace/SOCK_Connector.h \ + $(ACE_ROOT)/ace/SOCK_Stream.h \ + $(ACE_ROOT)/ace/SOCK_IO.h \ + $(ACE_ROOT)/ace/SOCK.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/IPC_SAP.h \ + $(ACE_ROOT)/ace/IPC_SAP.i \ + $(ACE_ROOT)/ace/SOCK.i \ + $(ACE_ROOT)/ace/SOCK_IO.i \ + $(ACE_ROOT)/ace/INET_Addr.h \ + $(ACE_ROOT)/ace/INET_Addr.i \ + $(ACE_ROOT)/ace/SOCK_Stream.i \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/SOCK_Connector.i \ + $(ACE_ROOT)/ace/SOCK_Acceptor.h \ + $(ACE_ROOT)/ace/SOCK_Acceptor.i \ + $(ACE_ROOT)/ace/Acceptor.h \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Svc_Handler.h \ + $(ACE_ROOT)/ace/Synch_Options.h \ + $(ACE_ROOT)/ace/Synch_Options.i \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Recyclable.h \ + $(ACE_ROOT)/ace/Recyclable.inl \ + $(ACE_ROOT)/ace/Svc_Handler.cpp \ + $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \ + $(ACE_ROOT)/ace/Dynamic.h \ + $(ACE_ROOT)/ace/Dynamic.i \ + $(ACE_ROOT)/ace/Strategies_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Refcountable.h \ + $(ACE_ROOT)/ace/Refcountable.inl \ + $(ACE_ROOT)/ace/Hashable.h \ + $(ACE_ROOT)/ace/Hashable.inl \ + $(ACE_ROOT)/ace/Strategies_T.i \ + $(ACE_ROOT)/ace/Strategies_T.cpp \ + $(ACE_ROOT)/ace/Service_Repository.h \ + $(ACE_ROOT)/ace/Service_Types.h \ + $(ACE_ROOT)/ace/Service_Types.i \ + $(ACE_ROOT)/ace/Service_Repository.i \ + $(ACE_ROOT)/ace/WFMO_Reactor.h \ + $(ACE_ROOT)/ace/Process_Mutex.h \ + $(ACE_ROOT)/ace/Process_Mutex.inl \ + $(ACE_ROOT)/ace/WFMO_Reactor.i \ + $(ACE_ROOT)/ace/Acceptor.cpp \ + $(ACE_ROOT)/ace/TP_Reactor.h \ + $(ACE_ROOT)/ace/Select_Reactor.h \ + $(ACE_ROOT)/ace/Select_Reactor_T.h \ + $(ACE_ROOT)/ace/Select_Reactor_Base.h \ + $(ACE_ROOT)/ace/Token.h \ + $(ACE_ROOT)/ace/Token.i \ + $(ACE_ROOT)/ace/Pipe.h \ + $(ACE_ROOT)/ace/Pipe.i \ + $(ACE_ROOT)/ace/Select_Reactor_Base.i \ + $(ACE_ROOT)/ace/Select_Reactor_T.cpp \ + $(ACE_ROOT)/ace/Timer_Heap.h \ + $(ACE_ROOT)/ace/Timer_Heap_T.h \ + $(ACE_ROOT)/ace/Timer_Heap_T.cpp \ + $(ACE_ROOT)/ace/Select_Reactor_T.i \ + $(ACE_ROOT)/ace/TP_Reactor.i \ + Thread_Pool_Reactor_Test.h + +.obj/Thread_Pool_Reactor_Resume_Test.o .obj/Thread_Pool_Reactor_Resume_Test.so .shobj/Thread_Pool_Reactor_Resume_Test.o .shobj/Thread_Pool_Reactor_Resume_Test.so: Thread_Pool_Reactor_Resume_Test.cpp \ + test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Get_Opt.i \ + $(ACE_ROOT)/ace/SOCK_Connector.h \ + $(ACE_ROOT)/ace/SOCK_Stream.h \ + $(ACE_ROOT)/ace/SOCK_IO.h \ + $(ACE_ROOT)/ace/SOCK.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/IPC_SAP.h \ + $(ACE_ROOT)/ace/IPC_SAP.i \ + $(ACE_ROOT)/ace/SOCK.i \ + $(ACE_ROOT)/ace/SOCK_IO.i \ + $(ACE_ROOT)/ace/INET_Addr.h \ + $(ACE_ROOT)/ace/INET_Addr.i \ + $(ACE_ROOT)/ace/SOCK_Stream.i \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/SOCK_Connector.i \ + $(ACE_ROOT)/ace/SOCK_Acceptor.h \ + $(ACE_ROOT)/ace/SOCK_Acceptor.i \ + $(ACE_ROOT)/ace/Acceptor.h \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Svc_Handler.h \ + $(ACE_ROOT)/ace/Synch_Options.h \ + $(ACE_ROOT)/ace/Synch_Options.i \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + $(ACE_ROOT)/ace/Recyclable.h \ + $(ACE_ROOT)/ace/Recyclable.inl \ + $(ACE_ROOT)/ace/Svc_Handler.cpp \ + $(ACE_ROOT)/ace/Connection_Recycling_Strategy.h \ + $(ACE_ROOT)/ace/Dynamic.h \ + $(ACE_ROOT)/ace/Dynamic.i \ + $(ACE_ROOT)/ace/Strategies_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Refcountable.h \ + $(ACE_ROOT)/ace/Refcountable.inl \ + $(ACE_ROOT)/ace/Hashable.h \ + $(ACE_ROOT)/ace/Hashable.inl \ + $(ACE_ROOT)/ace/Strategies_T.i \ + $(ACE_ROOT)/ace/Strategies_T.cpp \ + $(ACE_ROOT)/ace/Service_Repository.h \ + $(ACE_ROOT)/ace/Service_Types.h \ + $(ACE_ROOT)/ace/Service_Types.i \ + $(ACE_ROOT)/ace/Service_Repository.i \ + $(ACE_ROOT)/ace/WFMO_Reactor.h \ + $(ACE_ROOT)/ace/Process_Mutex.h \ + $(ACE_ROOT)/ace/Process_Mutex.inl \ + $(ACE_ROOT)/ace/WFMO_Reactor.i \ + $(ACE_ROOT)/ace/Acceptor.cpp \ + $(ACE_ROOT)/ace/TP_Reactor.h \ + $(ACE_ROOT)/ace/Select_Reactor.h \ + $(ACE_ROOT)/ace/Select_Reactor_T.h \ + $(ACE_ROOT)/ace/Select_Reactor_Base.h \ + $(ACE_ROOT)/ace/Token.h \ + $(ACE_ROOT)/ace/Token.i \ + $(ACE_ROOT)/ace/Pipe.h \ + $(ACE_ROOT)/ace/Pipe.i \ + $(ACE_ROOT)/ace/Select_Reactor_Base.i \ + $(ACE_ROOT)/ace/Select_Reactor_T.cpp \ + $(ACE_ROOT)/ace/Timer_Heap.h \ + $(ACE_ROOT)/ace/Timer_Heap_T.h \ + $(ACE_ROOT)/ace/Timer_Heap_T.cpp \ + $(ACE_ROOT)/ace/Select_Reactor_T.i \ + $(ACE_ROOT)/ace/TP_Reactor.i \ + Thread_Pool_Reactor_Resume_Test.h + +.obj/XtReactor_Test.o .obj/XtReactor_Test.so .shobj/XtReactor_Test.o .shobj/XtReactor_Test.so: XtReactor_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp + +.obj/FlReactor_Test.o .obj/FlReactor_Test.so .shobj/FlReactor_Test.o .shobj/FlReactor_Test.so: FlReactor_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp + +.obj/TkReactor_Test.o .obj/TkReactor_Test.so .shobj/TkReactor_Test.o .shobj/TkReactor_Test.so: TkReactor_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp + +.obj/Tokens_Test.o .obj/Tokens_Test.so .shobj/Tokens_Test.o .shobj/Tokens_Test.so: Tokens_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Process.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Process.i \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Get_Opt.i \ + $(ACE_ROOT)/ace/Local_Tokens.h \ + $(ACE_ROOT)/ace/Synch_Options.h \ + $(ACE_ROOT)/ace/Synch_Options.i \ + $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ + $(ACE_ROOT)/ace/Map_Manager.cpp \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Local_Tokens.i \ + $(ACE_ROOT)/ace/Token_Collection.h \ + $(ACE_ROOT)/ace/Token_Collection.i \ + $(ACE_ROOT)/ace/Remote_Tokens.h \ + $(ACE_ROOT)/ace/INET_Addr.h \ + $(ACE_ROOT)/ace/Addr.h \ + $(ACE_ROOT)/ace/Addr.i \ + $(ACE_ROOT)/ace/INET_Addr.i \ + $(ACE_ROOT)/ace/SOCK_Connector.h \ + $(ACE_ROOT)/ace/SOCK_Stream.h \ + $(ACE_ROOT)/ace/SOCK_IO.h \ + $(ACE_ROOT)/ace/SOCK.h \ + $(ACE_ROOT)/ace/IPC_SAP.h \ + $(ACE_ROOT)/ace/IPC_SAP.i \ + $(ACE_ROOT)/ace/SOCK.i \ + $(ACE_ROOT)/ace/SOCK_IO.i \ + $(ACE_ROOT)/ace/SOCK_Stream.i \ + $(ACE_ROOT)/ace/Time_Value.h \ + $(ACE_ROOT)/ace/SOCK_Connector.i \ + $(ACE_ROOT)/ace/Token_Request_Reply.h \ + $(ACE_ROOT)/ace/Token_Request_Reply.i \ + $(ACE_ROOT)/ace/Remote_Tokens.i \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/Token_Invariants.h + +.obj/CDR_Array_Test.o .obj/CDR_Array_Test.so .shobj/CDR_Array_Test.o .shobj/CDR_Array_Test.so: CDR_Array_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Get_Opt.i \ + $(ACE_ROOT)/ace/CDR_Stream.h \ + $(ACE_ROOT)/ace/CDR_Base.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/CDR_Base.inl \ + $(ACE_ROOT)/ace/CDR_Stream.i \ + $(ACE_ROOT)/ace/High_Res_Timer.h \ + $(ACE_ROOT)/ace/High_Res_Timer.i + +.obj/Service_Config_Test.o .obj/Service_Config_Test.so .shobj/Service_Config_Test.o .shobj/Service_Config_Test.so: Service_Config_Test.cpp test_config.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Unbounded_Queue.h \ + $(ACE_ROOT)/ace/Node.h \ + $(ACE_ROOT)/ace/Node.cpp \ + $(ACE_ROOT)/ace/Unbounded_Queue.inl \ + $(ACE_ROOT)/ace/Unbounded_Queue.cpp \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Unbounded_Set.h \ + $(ACE_ROOT)/ace/Unbounded_Set.inl \ + $(ACE_ROOT)/ace/Unbounded_Set.cpp \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(ACE_ROOT)/ace/Service_Config.i \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(ACE_ROOT)/ace/ARGV.h \ + $(ACE_ROOT)/ace/ARGV.i + +# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/tests/Makefile.bor b/tests/Makefile.bor new file mode 100644 index 00000000000..44e947aa516 --- /dev/null +++ b/tests/Makefile.bor @@ -0,0 +1,133 @@ +# +# $Id$ +# Makefile for building the ACE tests +# + +NAMES = \ + Aio_Platform_Test \ + Arg_Shifter_Test \ + ARGV_Test \ + Atomic_Op_Test \ + Auto_IncDec_Test \ + Barrier_Test \ + Basic_Types_Test \ + Bound_Ptr_Test \ + Buffer_Stream_Test \ + Cache_Map_Manager_Test \ + Cached_Accept_Conn_Test \ + Cached_Conn_Test \ + Capabilities_Test \ + CDR_Array_Test \ + CDR_File_Test \ + CDR_Test \ + Collection_Test \ + Conn_Test \ + Config_Test \ + Date_Time_Test \ + Dirent_Test \ + DLL_Test \ + DLList_Test \ + Dynamic_Priority_Test \ + Enum_Interfaces_Test \ + Env_Value_Test \ + FlReactor_Test \ + Framework_Component_Test \ + Future_Set_Test \ + Future_Test \ + Get_Opt_Test \ + Handle_Set_Test \ + Hash_Map_Bucket_Iterator_Test \ + Hash_Map_Manager_Test \ + High_Res_Timer_Test \ + INET_Addr_Test \ + IOStream_Test \ + Lazy_Map_Manager_Test \ + Log_Msg_Test \ + Logging_Strategy_Test \ + Malloc_Test \ + Map_Manager_Test \ + Map_Test \ + Max_Default_Port_Test \ + MEM_Stream_Test \ + Mem_Map_Test \ + Message_Block_Test \ + Message_Queue_Notifications_Test \ + Message_Queue_Test \ + Message_Queue_Test_Ex \ + MM_Shared_Memory_Test \ + MT_Reactor_Timer_Test \ + MT_SOCK_Test \ + Naming_Test \ + New_Fail_Test \ + Notify_Performance_Test \ + Object_Manager_Test \ + OrdMultiSet_Test \ + OS_Test \ + Pipe_Test \ + Proactor_Test \ + Proactor_Timer_Test \ + Priority_Buffer_Test \ + Priority_Reactor_Test \ + Priority_Task_Test \ + Process_Manager_Test \ + Process_Mutex_Test \ + Process_Strategy_Test \ + RB_Tree_Test \ + Reactor_Exceptions_Test \ + Reactor_Notify_Test \ + Reactor_Performance_Test \ + Reactor_Timer_Test \ + Reactors_Test \ + Reader_Writer_Test \ + Recursive_Mutex_Test \ + Refcounted_Auto_Ptr_Test \ + Reverse_Lock_Test \ + Semaphore_Test \ + Service_Config_Test \ + Signal_Test \ + Sigset_Ops_Test \ + Simple_Message_Block_Test \ + SOCK_Connector_Test \ + SOCK_Send_Recv_Test \ + SOCK_Test \ + SPIPE_Test \ + SString_Test \ + SV_Shared_Memory_Test \ + Svc_Handler_Test \ + Task_Test \ + Thread_Manager_Test \ + Thread_Mutex_Test \ + Thread_Pool_Reactor_Test \ + Thread_Pool_Reactor_Resume_Test \ + Thread_Pool_Test \ + Time_Service_Test \ + Time_Value_Test \ + Timeprobe_Test \ + Timer_Queue_Test \ + TkReactor_Test \ + Tokens_Test \ + TSS_Test \ + Vector_Test \ + Upgradable_RW_Test \ + UPIPE_SAP_Test \ + XtReactor_Test + +!ifdef SSL_ROOT +DIRS = RMCast \ + SSL +!else +DIRS = RMCast +!endif + +MAKEFILES = DLL_Test.bor Service_Config_DLL.bor + +OBJFILES = $(OBJDIR)\$(NAME).obj + +CFLAGS = $(ACE_CFLAGS) + +CPPDIR = . + +LIBFILES = $(ACE_LIB) + +!include <$(ACE_ROOT)\include\makeinclude\recurse.bor> +!include <$(ACE_ROOT)\include\makeinclude\build_exe.bor> diff --git a/tests/Process_Manager_Test.cpp b/tests/Process_Manager_Test.cpp new file mode 100644 index 00000000000..47a45ba64ed --- /dev/null +++ b/tests/Process_Manager_Test.cpp @@ -0,0 +1,314 @@ +// $Id$ + +// ============================================================================ +// +// = LIBRARY +// tests +// +// = FILENAME +// Process_Manager_Test.cpp +// +// = DESCRIPTION +// This program tests the various methods provided by +// <ACE_Process_Manager>. It illustrates both the explicit <wait> +// functions and the Reactor-style auto-reaping. There's an +// Exit_Handler class that can print out (in Debug mode) when a +// child has been reaped. +// +// The child processes spawned are simply this program itself, with +// an integer argument specifying how long to "process" (actually, +// the child just sleeps for the specified length of time). +// +// = AUTHOR +// Douglas C. Schmidt <schmidt@cs.wustl.edu> and +// Dave Madden <dhm@mersenne.com> +// +// ============================================================================ + +#include "test_config.h" +#include "ace/Process_Manager.h" +#include "ace/Get_Opt.h" + +ACE_RCSID(tests, Process_Manager_Test, "Process_Manager_Test.cpp,v 4.11 1999/09/02 04:36:30 schmidt Exp") + +#if (!defined (ACE_LACKS_FORK) || defined (ACE_WIN32)) && defined (ACE_HAS_THREADS) + +static u_int debug_test = 0; + +class Exit_Handler : public ACE_Event_Handler +{ +public: + Exit_Handler (const char *msg): msg_ (msg) { } + + virtual ~Exit_Handler (void) { } + + virtual int handle_close (ACE_HANDLE, ACE_Reactor_Mask) + { + delete this; + return 0; + } + + virtual int handle_exit (ACE_Process *proc) + { + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("(%P) Exit_Handler(%s) got %d: %d\n"), + msg_, + int (proc->getpid ()), + int (proc->exit_code ()) )); + return 0; + } +private: + const char *msg_; +}; + +static void +usage (const ACE_TCHAR *argv0) +{ + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("usage: %s [-d] [sleep-seconds]\n"), + argv0)); + ACE_OS::exit (0); +} + +static pid_t +spawn_child (const ACE_TCHAR *argv0, + ACE_Process_Manager &mgr, + int sleep_time = 0) +{ + ACE_Process_Options opts; + + opts.command_line (ACE_TEXT("%s %s %d"), + argv0, + debug_test ? ACE_TEXT ("-d") : ACE_TEXT (""), + sleep_time); + + pid_t result = mgr.spawn (opts); + + if (result != ACE_INVALID_PID) + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("(%P) spawned child: pid %d time %d\n"), + int (result), sleep_time)); + else + ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("spawn failed"))); + + return result; +} + +int +main (int argc, ACE_TCHAR *argv[]) +{ + ACE_Get_Opt args (argc, argv, ACE_TEXT ("d")); + + for (int arg = args (); arg != EOF; arg = args ()) + switch (arg) + { + case 'd': + debug_test = 1u; + break; + default: + usage (argv[0]); + break; + } + + if (args.opt_ind () == argc - 1) + { // child process: sleep & exit + int secs = ACE_OS::atoi (argv[args.opt_ind ()]); + ACE_OS::sleep (secs ? secs : 1); + if (debug_test) + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("%T: pid %P about to exit with code %d\n"), + secs)); + return secs; + } + + if (args.opt_ind () != argc) // incorrect usage + usage (argv[0]); + + ACE_START_TEST (ACE_TEXT ("Process_Manager_Test")); + + // Try the explicit <ACE_Process_Manager::wait> functions + + int result = 0, test_status = 0; + ACE_Process_Manager mgr; + + mgr.register_handler (new Exit_Handler ("default")); + + ACE_exitcode exitcode; + + // -------------------------------------------------- + // wait for a specific PID + pid_t child1 = spawn_child (argv[0], + mgr, + 1); + result = mgr.wait (child1, + &exitcode); + + if (result != child1) + { + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("Error: expected to reap child1 (%d); got %d\n"), + child1, + result)); + if (result == ACE_INVALID_PID) + ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("error"))); + test_status = 1; + } + else + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("(%P) reaped child1, pid %d: %d\n"), + child1, + exitcode)); + + // -------------------------------------------------- + // wait for a specific PID; another should finish first + pid_t child2 = spawn_child (argv[0], + mgr, + 1); + pid_t child3 = spawn_child (argv[0], + mgr, + 4); + result = mgr.wait (child3, + &exitcode); + + if (result != child3) + { + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("Error: expected to reap child3 (%d); got %d\n"), + child3, + result)); + if (result == ACE_INVALID_PID) + ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("error"))); + test_status = 1; + } + else + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("(%P) reaped child 3, pid %d: %d\n"), + child3, + exitcode)); + + // Now wait for any...should get the one that finished earlier. + + result = mgr.wait (0, &exitcode); + + if (result != child2) + { + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("Error: expected to reap child2 (%d); got %d\n"), + child2, + result)); + if (result == ACE_INVALID_PID) + ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("error"))); + test_status = 1; + } + else + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("(%P) reaped child 2, pid %d: %d\n"), + result, + exitcode)); + + // -------------------------------------------------- + // Try the timed wait functions + + // This one shouldn't timeout: + pid_t child4 = spawn_child (argv[0], + mgr, + 1); + result = mgr.wait (0, ACE_Time_Value (4), &exitcode); + + if (result != child4) + { + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("Error: expected to reap child4 (%d); got %d\n"), + child4, + result)); + if (result == ACE_INVALID_PID) + ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("error"))); + test_status = 1; + } + else + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("(%P) reaped child 4 pid %d: %d\n"), + result, + exitcode)); + + // This one should timeout: + pid_t child5 = spawn_child (argv[0], + mgr, + 4); + result = mgr.wait (0, ACE_Time_Value (1), &exitcode); + if (result != 0) + { + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("Error: expected wait to time out; got %d\n"), + result)); + if (result == ACE_INVALID_PID) + ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("error"))); + test_status = 1; + } + else + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("(%P) Correctly timed out wait at child 5\n"))); + + // Now wait indefinitely to clean up... + result = mgr.wait (0, &exitcode); + + if (result != child5) + { + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("Error: expected to reap child5 pid %d; got %d\n"), + child5, + result)); + if (result == ACE_INVALID_PID) + ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("error"))); + test_status = 1; + } + else + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("(%P) reaped child 5, pid %d: %d\n"), + result, + exitcode)); + + // -------------------------------------------------- + // Finally, try the reactor stuff... + mgr.open (ACE_Process_Manager::DEFAULT_SIZE, + ACE_Reactor::instance ()); + + pid_t child6 = spawn_child (argv[0], + mgr, + 5); + /* pid_t child7 = */ spawn_child (argv[0], + mgr, + 6); + + mgr.register_handler (new Exit_Handler ("specific"), + child6); + + ACE_Time_Value how_long (10); + + ACE_Reactor::instance ()->owner (ACE_Thread::self ()); + ACE_Reactor::instance ()->run_event_loop (how_long); + + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("(%P) Reactor loop done!\n") )); + + size_t nr_procs = mgr.managed (); + if (nr_procs != 0) + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("(%P) %d processes left in manager\n"), + nr_procs)); + + ACE_END_TEST; + return test_status; +} + +#else /* (!ACE_LACKS_FORK || ACE_WIN32) && ACE_HAS_THREADS */ +int +main (int, ACE_TCHAR *[]) +{ + ACE_START_TEST (ACE_TEXT ("Process_Manager_Test")); + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("The ACE Process Manager is not supported on this platform\n"))); + ACE_END_TEST; + return 0; +} +#endif /* (!ACE_LACKS_FORK || ACE_WIN32) && ACE_HAS_THREADS */ diff --git a/tests/Vector_Test.cpp b/tests/Vector_Test.cpp new file mode 100644 index 00000000000..be883c5fcf6 --- /dev/null +++ b/tests/Vector_Test.cpp @@ -0,0 +1,82 @@ +// $Id$ + +// ============================================================================ +// +// = LIBRARY +// tests +// +// = FILENAME +// Vector_Test.cpp +// +// = DESCRIPTION +// This is a simple test of the ACE_Vector class and its iterators. +// +// = AUTHOR +// Gonzalo A. Diethelm <gonzalo.diethelm@aditiva.com> +// +// ============================================================================ + +#include "test_config.h" + +ACE_RCSID(tests, Vector_Test, "$Id$") + +#include "ace/Vector_T.h" + +typedef size_t DATA; +typedef ACE_Vector<DATA> VECTOR; +typedef ACE_Vector<DATA>::Iterator ITERATOR; + +const size_t TOP = 100; +const size_t LEFT = 10; + +int main (int, ACE_TCHAR *[]) +{ + ACE_START_TEST (ACE_TEXT ("Vector_Test")); + + VECTOR vector; + size_t i; + + for (i = 0; i < TOP; ++i) + vector.push_back (i); + + ACE_ASSERT (vector.size () == TOP); + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("Size: %d\n"), + vector.size ())); + + for (i = 0; i < TOP; ++i) + ACE_ASSERT (vector[i] == i); + + for (i = 0; i < (TOP - LEFT); ++i) + vector.pop_back (); + + ACE_ASSERT (vector.size () == LEFT); + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("Size: %d\n"), + vector.size ())); + + for (i = 0; i < LEFT; ++i) + ACE_ASSERT (vector[i] == i); + + vector.clear (); + ACE_ASSERT (vector.size () == 0); + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("Size: %d\n"), + vector.size ())); + + ACE_END_TEST; + + return 0; +} + +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) +template class ACE_Vector<DATA>; +template class ACE_Array<DATA>; +template class ACE_Array_Base<DATA>; +template class ACE_Array_Iterator<DATA>; +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +#pragma instantiate ACE_Vector<DATA> +#pragma instantiate ACE_Array<DATA> +#pragma instantiate ACE_Array_Base<DATA> +#pragma instantiate ACE_Array_Iterator<DATA> +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/tests/Vector_Test.dsp b/tests/Vector_Test.dsp new file mode 100644 index 00000000000..36d596270ab --- /dev/null +++ b/tests/Vector_Test.dsp @@ -0,0 +1,162 @@ +# Microsoft Developer Studio Project File - Name="Vector_Test" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Vector_Test - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Vector_Test.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Vector_Test.mak" CFG="Vector_Test - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Vector_Test - Win32 Static Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE "Vector_Test - Win32 Static Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Vector_Test - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Vector_Test - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Vector_Test - Win32 Static Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Static_Debug"
+# PROP BASE Intermediate_Dir "Static_Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Static_Debug"
+# PROP Intermediate_Dir "Static_Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "_DEBUG" /D ACE_AS_STATIC_LIBS /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
+# ADD LINK32 acesd.lib advapi32.lib user32.lib /nologo /subsystem:console /debug /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Vector_Test - Win32 Static Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Static_Release"
+# PROP BASE Intermediate_Dir "Static_Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Static_Release"
+# PROP Intermediate_Dir "Static_Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D ACE_AS_STATIC_LIBS /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 aces.lib advapi32.lib user32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Vector_Test - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib /nologo /subsystem:console /machine:I386 /libpath:"..\ace"
+
+!ELSEIF "$(CFG)" == "Vector_Test - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\ace"
+
+!ENDIF
+
+# Begin Target
+
+# Name "Vector_Test - Win32 Static Debug"
+# Name "Vector_Test - Win32 Static Release"
+# Name "Vector_Test - Win32 Release"
+# Name "Vector_Test - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
+# Begin Source File
+
+SOURCE=.\Vector_Test.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
+# Begin Source File
+
+SOURCE=.\test_config.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/tests/run_test.lst b/tests/run_test.lst new file mode 100644 index 00000000000..a7276f7065e --- /dev/null +++ b/tests/run_test.lst @@ -0,0 +1,119 @@ +# $Id$ +# +# This is the list of tests that need to be run by run_test.pl. +# Each line has its own test, and a test can be followed by a +# list of platforms it runs or does not run on. +# +# Example: Foo_Test: !linux +# Example: Bar_Test: +# Example: Baz_Test: Win32 !Borland +# +# Foo_Test runs on all configurations except for linux +# +# Bar_Test runs on all configurations +# +# Baz_Test only runs on Win32 configurations but not on Borland +# configurations. + +ACE_Init_Test: MSVC +Arg_Shifter_Test +Atomic_Op_Test +Auto_IncDec_Test +Barrier_Test +Basic_Types_Test +Bound_Ptr_Test +Buffer_Stream_Test +Cache_Map_Manager_Test +Cached_Conn_Test: !LynxOS !VxWorks +Cached_Accept_Conn_Test: !VxWorks +Capabilities_Test +CDR_Test +CDR_File_Test +CDR_Array_Test +Collection_Test +Config_Test +Conn_Test: !chorus +Date_Time_Test +Dirent_Test +DLL_Test: !Unicos !STATIC !KCC_Linux +DLList_Test +Dynamic_Priority_Test +Enum_Interfaces_Test +Env_Value_Test: !chorus +Framework_Component_Test +Future_Test +Future_Set_Test +Get_Opt_Test +Handle_Set_Test +Hash_Map_Manager_Test +Hash_Map_Bucket_Iterator_Test +High_Res_Timer_Test +INET_Addr_Test +IOStream_Test +Lazy_Map_Manager_Test +Log_Msg_Test +Logging_Strategy_Test: !STATIC !ST +Map_Manager_Test +Map_Test +Max_Default_Port_Test: !ST +MEM_Stream_Test: !VxWorks +Mem_Map_Test: !chorus !Unicos !VxWorks +Message_Block_Test: !chorus +Message_Queue_Notifications_Test +Message_Queue_Test: !chorus +Message_Queue_Test_Ex: !chorus +MM_Shared_Memory_Test: !chorus !Unicos !VxWorks +MT_Reactor_Timer_Test: !VxWorks +MT_SOCK_Test: !chorus +Malloc_Test: !VxWorks +Naming_Test: OTHER !chorus !LynxOS !Unicos !VxWorks +New_Fail_Test: ALL !DISABLED +Notify_Performance_Test +Object_Manager_Test +OrdMultiSet_Test +OS_Test +Pipe_Test: !MSVC !chorus !VxWorks +Priority_Buffer_Test +Priority_Reactor_Test: !chorus +Priority_Task_Test: !Unicos +Proactor_Test: Win32 +Proactor_Timer_Test: Win32 +Process_Manager_Test: !chorus !VxWorks +Process_Mutex_Test: !chorus !VxWorks +Process_Strategy_Test: !chorus !LynxOS !VxWorks +RB_Tree_Test +Reactors_Test +Reactor_Exceptions_Test +Reactor_Notify_Test: !ST +Reactor_Performance_Test: !chorus +Reactor_Timer_Test +Reader_Writer_Test +Recursive_Mutex_Test: !ST +Refcounted_Auto_Ptr_Test: !VxWorks +Reverse_Lock_Test +Semaphore_Test +Service_Config_Test: !STATIC +Sigset_Ops_Test +Simple_Message_Block_Test: !chorus +Svc_Handler_Test +SOCK_Test: !chorus +SOCK_Connector_Test +SOCK_Send_Recv_Test: !LynxOS +SPIPE_Test: !VxWorks +SString_Test +SV_Shared_Memory_Test: !MSVC !Unicos !VxWorks +Task_Test +Thread_Manager_Test: !Unicos +Thread_Mutex_Test: !chorus +Thread_Pool_Reactor_Test: OTHER +Thread_Pool_Reactor_Resume_Test: OTHER !ST +Thread_Pool_Test: !LynxOS !VxWorks +Timer_Queue_Test +Timeprobe_Test +Time_Service_Test: ALL !STATIC !DISABLED !missing_netsvcs TOKEN !chorus !Unicos +Time_Value_Test +Tokens_Test: ALL MSVC !DISABLED TOKEN !chorus !Unicos +TSS_Test +Vector_Test +UPIPE_SAP_Test: !VxWorks +Upgradable_RW_Test: !chorus diff --git a/tests/tests.dsw b/tests/tests.dsw new file mode 100644 index 00000000000..d819fd963b5 --- /dev/null +++ b/tests/tests.dsw @@ -0,0 +1,1259 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ACE_Init_Test"=.\ACE_Init_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "ARGV_Test"=.\ARGV_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Arg_Shifter_Test"=.\Arg_Shifter_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Atomic_Op_Test"=.\Atomic_Op_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Auto_IncDec_Test"=.\Auto_IncDec_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Barrier_Test"=.\Barrier_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Basic_Types_Test"=.\Basic_Types_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Bound_Ptr_Test"=.\Bound_Ptr_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Buffer_Stream_Test"=.\Buffer_Stream_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "CDR_Array_Test"=.\CDR_Array_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "CDR_File_Test"=.\CDR_File_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "CDR_Test"=.\CDR_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Cache_Map_Manager_Test"=.\Cache_Map_Manager_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Cached_Accept_Conn_Test"=.\Cached_Accept_Conn_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Cached_Conn_Test"=.\Cached_Conn_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Capabilities_Test"=.\Capabilities_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Collection_Test"=.\Collection_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Config_Test"=.\Config_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Conn_Test"=.\Conn_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "DLL_Test"=.\DLL_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name DLL_Test DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "DLL_Test DLL"=.\DLL_Test_Impl.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "DLList_Test"=.\DLList_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Date_Time_Test"=.\Date_Time_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Dirent_Test"=.\Dirent_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Dynamic_Priority_Test"=.\Dynamic_Priority_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Enum_Interfaces_Test"=.\Enum_Interfaces_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Env_Value_Test"=.\Env_Value_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Future_Set_Test"=.\Future_Set_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Future_Test"=.\Future_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Get_Opt_Test"=.\Get_Opt_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Handle_Set_Test"=.\Handle_Set_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Hash_Map_Bucket_Iterator_Test"=.\Hash_Map_Bucket_Iterator_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Hash_Map_Manager_Test"=.\Hash_Map_Manager_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "High_Res_Timer_Test"=.\High_Res_Timer_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "INET_Addr_Test"=.\INET_Addr_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "IOStream_Test"=.\IOStream_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Lazy_Map_Manager_Test"=.\Lazy_Map_Manager_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Log_Msg_Test"=.\Log_Msg_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Logging_Strategy_Test"=.\Logging_Strategy_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "MEM_Stream_Test"=.\MEM_Stream_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "MM_Shared_Memory_Test"=.\MM_Shared_Memory_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "MT_Reactor_Timer_Test"=.\MT_Reactor_Timer_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "MT_SOCK_Test"=.\MT_SOCK_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Malloc_Test"=.\Malloc_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Map_Manager_Test"=.\Map_Manager_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Map_Test"=.\Map_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Max_Default_Port_Test"=.\Max_Default_Port_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Mem_Map_Test"=.\Mem_Map_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Message_Block_Test"=.\Message_Block_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Message_Queue_Notifications_Test"=.\Message_Queue_Notifications_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Message_Queue_Test"=.\Message_Queue_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Message_Queue_Test_Ex"=.\Message_Queue_Test_Ex.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Naming_Test"=.\Naming_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "New_Fail_Test"=.\New_Fail_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Notify_Performance_Test"=.\Notify_Performance_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "OS_Test"=.\OS_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Object_Manager_Test"=.\Object_Manager_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "OrdMultiSet_Test"=.\OrdMultiSet_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Pipe_Test"=.\Pipe_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Priority_Buffer_Test"=.\Priority_Buffer_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Priority_Reactor_Test"=.\Priority_Reactor_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Priority_Task_Test"=.\Priority_Task_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Proactor_Test"=.\Proactor_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Process_Manager_Test"=.\Process_Manager_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Process_Mutex_Test"=.\Process_Mutex_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Process_Strategy_Test"=.\Process_Strategy_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "RB_Tree_Test"=.\RB_Tree_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Reactor_Exceptions_Test"=.\Reactor_Exceptions_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Reactor_Notify_Test"=.\Reactor_Notify_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Reactor_Performance_Test"=.\Reactor_Performance_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Reactor_Timer_Test"=.\Reactor_Timer_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Reactors_Test"=.\Reactors_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Reader_Writer_Test"=.\Reader_Writer_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Recursive_Mutex_Test"=.\Recursive_Mutex_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Refcounted_Auto_Ptr_Test"=.\Refcounted_Auto_Ptr_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Reverse_Lock_Test"=.\Reverse_Lock_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "SOCK_Connector_Test"=.\SOCK_Connector_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "SOCK_Send_Recv_Test"=.\SOCK_Send_Recv_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "SOCK_Test"=.\SOCK_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "SPIPE_Test"=.\SPIPE_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "SString_Test"=.\SString_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "SV_Shared_Memory_Test"=.\SV_Shared_Memory_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Semaphore_Test"=.\Semaphore_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Service_Config_DLL"=.\Service_Config_DLL.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Service_Config_Test"=.\Service_Config_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name Service_Config_DLL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "Sigset_Ops_Test"=.\Sigset_Ops_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Simple_Message_Block_Test"=.\Simple_Message_Block_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Svc_Handler_Test"=.\Svc_Handler_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "TSS_Test"=.\TSS_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Task_Test"=.\Task_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Thread_Manager_Test"=.\Framework_Component_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Thread_Mutex_Test"=.\Thread_Mutex_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Thread_Pool_Reactor_Resume_Test"=.\Thread_Pool_Reactor_Resume_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Thread_Pool_Reactor_Test"=.\Thread_Pool_Reactor_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Thread_Pool_Test"=.\Thread_Pool_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Time_Service_Test"=.\Time_Service_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Time_Value_Test"=.\Time_Value_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Timeprobe_Test"=.\Timeprobe_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Timer_Queue_Test"=.\Timer_Queue_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Tokens_Test"=.\Tokens_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "UPIPE_SAP_Test"=.\UPIPE_SAP_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Upgradable_RW_Test"=.\Upgradable_RW_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Vector_Test"=.\Vector_Test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/tests/tests.icp b/tests/tests.icp new file mode 100644 index 00000000000..a154ae1a852 --- /dev/null +++ b/tests/tests.icp @@ -0,0 +1,528 @@ +// $Id$ +// +// Visual Age C++ 5 Project file for building all the tests. + +subproject Arg_Shifter_Test icc "Arg_Shifter_Test.icc", ics "Arg_Shifter_Test.ics" +{ +} + +subproject ARGV_Test icc "ARGV_Test.icc", ics "ARGV_Test.ics" +{ +} + +subproject Aio_Platform_Test icc "Aio_Platform_Test.icc", ics "Aio_Platform_Test.ics" +{ +} + +subproject Atomic_Op_Test icc "Atomic_Op_Test.icc", ics "Atomic_Op_Test.ics" +{ +} + +subproject Auto_IncDec_Test icc "Auto_IncDec_Test.icc", ics "Auto_IncDec_Test.ics" +{ +} + +subproject Barrier_Test icc "Barrier_Test.icc", ics "Barrier_Test.ics" +{ +} + +subproject Basic_Types_Test icc "Basic_Types_Test.icc", ics "Basic_Types_Test.ics" +{ +} + +subproject Bound_Ptr_Test icc "Bound_Ptr_Test.icc", ics "Bound_Ptr_Test.ics" +{ +} + +subproject Buffer_Stream_Test icc "Buffer_Stream_Test.icc", ics "Buffer_Stream_Test.ics" +{ +} + +subproject CDR_Array_Test icc "CDR_Array_Test.icc", ics "CDR_Array_Test.ics" +{ +} + +subproject CDR_File_Test icc "CDR_File_Test.icc", ics "CDR_File_Test.ics" +{ +} + +subproject CDR_Test icc "CDR_Test.icc", ics "CDR_Test.ics" +{ +} + +subproject Cache_Map_Manager_Test icc "Cache_Map_Manager_Test.icc", ics "Cache_Map_Manager_Test.ics" +{ +} + +subproject Cached_Accept_Conn_Test icc "Cached_Accept_Conn_Test.icc", ics "Cached_Accept_Conn_Test.ics" +{ +} + +subproject Cached_Conn_Test icc "Cached_Conn_Test.icc", ics "Cached_Conn_Test.ics" +{ +} + +subproject Capabilities_Test icc "Capabilities_Test.icc", ics "Capabilities_Test.ics" +{ +} + +subproject Collection_Test icc "Collection_Test.icc", ics "Collection_Test.ics" +{ +} + +subproject Config_Test icc "Config_Test.icc", ics "Config_Test.ics" +{ +} + +subproject Conn_Test icc "Conn_Test.icc", ics "Conn_Test.ics" +{ +} + +subproject Date_Time_Test icc "Date_Time_Test.icc", ics "Date_Time_Test.ics" +{ +} + +subproject DLL_Test icc "DLL_Test.icc", ics "DLL_Test.ics" +{ +} + +subproject libDLL_Test icc "libDLL_Test.icc", ics "libDLL_Test.ics" +{ +} + +subproject DLList_Test icc "DLList_Test.icc", ics "DLList_Test.ics" +{ +} + +subproject Dirent_Test icc "Dirent_Test.icc", ics "Dirent_Test.ics" +{ +} + +subproject Dynamic_Priority_Test icc "Dynamic_Priority_Test.icc", ics "Dynamic_Priority_Test.ics" +{ +} + +subproject Enum_Interfaces_Test icc "Enum_Interfaces_Test.icc", ics "Enum_Interfaces_Test.ics" +{ +} + +subproject Env_Value_Test icc "Env_Value_Test.icc", ics "Env_Value_Test.ics" +{ +} + +subproject FlReactor_Test icc "FlReactor_Test.icc", ics "FlReactor_Test.ics" +{ +} + +subproject Future_Set_Test icc "Future_Set_Test.icc", ics "Future_Set_Test.ics" +{ +} + +subproject Future_Test icc "Future_Test.icc", ics "Future_Test.ics" +{ +} + +subproject Get_Opt_Test icc "Get_Opt_Test.icc", ics "Get_Opt_Test.ics" +{ +} + +subproject Handle_Set_Test icc "Handle_Set_Test.icc", ics "Handle_Set_Test.ics" +{ +} + +subproject Hash_Map_Bucket_Iterator_Test icc "Hash_Map_Bucket_Iterator_Test.icc", ics "Hash_Map_Bucket_Iterator_Test.ics" +{ +} + +subproject Hash_Map_Manager_Test icc "Hash_Map_Manager_Test.icc", ics "Hash_Map_Manager_Test.ics" +{ +} + +subproject High_Res_Timer_Test icc "High_Res_Timer_Test.icc", ics "High_Res_Timer_Test.ics" +{ +} + +subproject INET_Addr_Test icc "INET_Addr_Test.icc", ics "INET_Addr_Test.ics" +{ +} + +subproject IOStream_Test icc "IOStream_Test.icc", ics "IOStream_Test.ics" +{ +} + +subproject Lazy_Map_Manager_Test icc "Lazy_Map_Manager_Test.icc", ics "Lazy_Map_Manager_Test.ics" +{ +} + +subproject Log_Msg_Test icc "Log_Msg_Test.icc", ics "Log_Msg_Test.ics" +{ +} + +subproject Logging_Strategy_Test icc "Logging_Strategy_Test.icc", ics "Logging_Strategy_Test.ics" +{ +} + +subproject MEM_Stream_Test icc "MEM_Stream_Test.icc", ics "MEM_Stream_Test.ics" +{ +} + +subproject MM_Shared_Memory_Test icc "MM_Shared_Memory_Test.icc", ics "MM_Shared_Memory_Test.ics" +{ +} + +subproject MT_Reactor_Timer_Test icc "MT_Reactor_Timer_Test.icc", ics "MT_Reactor_Timer_Test.ics" +{ +} + +subproject MT_SOCK_Test icc "MT_SOCK_Test.icc", ics "MT_SOCK_Test.ics" +{ +} + +subproject Malloc_Test icc "Malloc_Test.icc", ics "Malloc_Test.ics" +{ +} + +subproject Map_Manager_Test icc "Map_Manager_Test.icc", ics "Map_Manager_Test.ics" +{ +} + +subproject Map_Test icc "Map_Test.icc", ics "Map_Test.ics" +{ +} + +subproject Max_Default_Port_Test icc "Max_Default_Port_Test.icc", ics "Max_Default_Port_Test.ics" +{ +} + +subproject Mem_Map_Test icc "Mem_Map_Test.icc", ics "Mem_Map_Test.ics" +{ +} + +subproject Message_Block_Test icc "Message_Block_Test.icc", ics "Message_Block_Test.ics" +{ +} + +subproject Message_Queue_Notifications_Test icc "Message_Queue_Notifications_Test.icc", ics "Message_Queue_Notifications_Test.ics" +{ +} + +subproject Message_Queue_Test icc "Message_Queue_Test.icc", ics "Message_Queue_Test.ics" +{ +} + +subproject Message_Queue_Test_Ex icc "Message_Queue_Test_Ex.icc", ics "Message_Queue_Test_Ex.ics" +{ +} + +subproject Naming_Test icc "Naming_Test.icc", ics "Naming_Test.ics" +{ +} + +subproject New_Fail_Test icc "New_Fail_Test.icc", ics "New_Fail_Test.ics" +{ +} + +subproject Notify_Performance_Test icc "Notify_Performance_Test.icc", ics "Notify_Performance_Test.ics" +{ +} + +subproject OS_Test icc "OS_Test.icc", ics "OS_Test.ics" +{ +} + +subproject Object_Manager_Test icc "Object_Manager_Test.icc", ics "Object_Manager_Test.ics" +{ +} + +subproject OrdMultiSet_Test icc "OrdMultiSet_Test.icc", ics "OrdMultiSet_Test.ics" +{ +} + +subproject Pipe_Test icc "Pipe_Test.icc", ics "Pipe_Test.ics" +{ +} + +subproject Priority_Buffer_Test icc "Priority_Buffer_Test.icc", ics "Priority_Buffer_Test.ics" +{ +} + +subproject Priority_Reactor_Test icc "Priority_Reactor_Test.icc", ics "Priority_Reactor_Test.ics" +{ +} + +subproject Priority_Task_Test icc "Priority_Task_Test.icc", ics "Priority_Task_Test.ics" +{ +} + +subproject Process_Manager_Test icc "Process_Manager_Test.icc", ics "Process_Manager_Test.ics" +{ +} + +subproject Process_Mutex_Test icc "Process_Mutex_Test.icc", ics "Process_Mutex_Test.ics" +{ +} + +subproject Process_Strategy_Test icc "Process_Strategy_Test.icc", ics "Process_Strategy_Test.ics" +{ +} + +subproject RB_Tree_Test icc "RB_Tree_Test.icc", ics "RB_Tree_Test.ics" +{ +} + +subproject Reactor_Exceptions_Test icc "Reactor_Exceptions_Test.icc", ics "Reactor_Exceptions_Test.ics" +{ +} + +subproject Reactor_Notify_Test icc "Reactor_Notify_Test.icc", ics "Reactor_Notify_Test.ics" +{ +} + +subproject Reactor_Performance_Test icc "Reactor_Performance_Test.icc", ics "Reactor_Performance_Test.ics" +{ +} + +subproject Reactor_Timer_Test icc "Reactor_Timer_Test.icc", ics "Reactor_Timer_Test.ics" +{ +} + +subproject Reactors_Test icc "Reactors_Test.icc", ics "Reactors_Test.ics" +{ +} + +subproject Reader_Writer_Test icc "Reader_Writer_Test.icc", ics "Reader_Writer_Test.ics" +{ +} + +subproject Recursive_Mutex_Test icc "Recursive_Mutex_Test.icc", ics "Recursive_Mutex_Test.ics" +{ +} + +subproject Refcounted_Auto_Ptr_Test icc "Refcounted_Auto_Ptr_Test.icc", ics "Refcounted_Auto_Ptr_Test.ics" +{ +} + +subproject Reverse_Lock_Test icc "Reverse_Lock_Test.icc", ics "Reverse_Lock_Test.ics" +{ +} + +subproject Service_Config_Test icc "Service_Config_Test.icc", ics "Service_Config_Test.ics" +{ +} + +subproject libService_Config_DLL icc "libService_Config_DLL.icc", ics "libService_Config_DLL.ics" +{ +} + +subproject SOCK_Connector_Test icc "SOCK_Connector_Test.icc", ics "SOCK_Connector_Test.ics" +{ +} + +subproject SOCK_Send_Recv_Test icc "SOCK_Send_Recv_Test.icc", ics "SOCK_Send_Recv_Test.ics" +{ +} + +subproject SOCK_Test icc "SOCK_Test.icc", ics "SOCK_Test.ics" +{ +} + +subproject SPIPE_Test icc "SPIPE_Test.icc", ics "SPIPE_Test.ics" +{ +} + +subproject SString_Test icc "SString_Test.icc", ics "SString_Test.ics" +{ +} + +subproject SV_Shared_Memory_Test icc "SV_Shared_Memory_Test.icc", ics "SV_Shared_Memory_Test.ics" +{ +} + +subproject Semaphore_Test icc "Semaphore_Test.icc", ics "Semaphore_Test.ics" +{ +} + +subproject Service_Config_Test icc "Service_Config_Test.icc", ics "Service_Config_Test.ics" +{ +} + +subproject Signal_Test icc "Signal_Test.icc", ics "Signal_Test.ics" +{ +} + +subproject Sigset_Ops_Test icc "Sigset_Ops_Test.icc", ics "Sigset_Ops_Test.ics" +{ +} + +subproject Simple_Message_Block_Test icc "Simple_Message_Block_Test.icc", ics "Simple_Message_Block_Test.ics" +{ +} + +subproject Svc_Handler_Test icc "Svc_Handler_Test.icc", ics "Svc_Handler_Test.ics" +{ +} + +subproject TSS_Test icc "TSS_Test.icc", ics "TSS_Test.ics" +{ +} + +subproject Task_Test icc "Task_Test.icc", ics "Task_Test.ics" +{ +} + +subproject Thread_Manager_Test icc "Thread_Manager_Test.icc", ics "Thread_Manager_Test.ics" +{ +} + +subproject Thread_Mutex_Test icc "Thread_Mutex_Test.icc", ics "Thread_Mutex_Test.ics" +{ +} + +subproject Thread_Pool_Reactor_Test icc "Thread_Pool_Reactor_Test.icc", ics "Thread_Pool_Reactor_Test.ics" +{ +} + +subproject Thread_Pool_Reactor_Resume_Test icc "Thread_Pool_Reactor_Resume_Test.icc", ics "Thread_Pool_Reactor_Resume_Test.ics" +{ +} + +subproject Thread_Pool_Test icc "Thread_Pool_Test.icc", ics "Thread_Pool_Test.ics" +{ +} + +subproject Time_Service_Test icc "Time_Service_Test.icc", ics "Time_Service_Test.ics" +{ +} + +subproject Time_Value_Test icc "Time_Value_Test.icc", ics "Time_Value_Test.ics" +{ +} + +subproject Timeprobe_Test icc "Timeprobe_Test.icc", ics "Timeprobe_Test.ics" +{ +} + +subproject Timer_Queue_Test icc "Timer_Queue_Test.icc", ics "Timer_Queue_Test.ics" +{ +} + +subproject TkReactor_Test icc "TkReactor_Test.icc", ics "TkReactor_Test.ics" +{ +} + +subproject Tokens_Test icc "Tokens_Test.icc", ics "Tokens_Test.ics" +{ +} + +subproject UPIPE_SAP_Test icc "UPIPE_SAP_Test.icc", ics "UPIPE_SAP_Test.ics" +{ +} + +subproject Upgradable_RW_Test icc "Upgradable_RW_Test.icc", ics "Upgradable_RW_Test.ics" +{ +} + +subproject XtReactor_Test icc "XtReactor_Test.icc", ics "XtReactor_Test.ics" +{ +} + + +build all +{ +use ARGV_Test +use Aio_Platform_Test +use Atomic_Op_Test +use Auto_IncDec_Test +use Barrier_Test +use Basic_Types_Test +use Buffer_Stream_Test +use CDR_Array_Test +use CDR_File_Test +use CDR_Test +use Cache_Map_Manager_Test +use Cached_Accept_Conn_Test +use Cached_Conn_Test +use Capabilities_Test +use Collection_Test +use Config_Test +use Conn_Test +use DLL_Test +use libDLL_Test +use DLList_Test +use Dirent_Test +use Dynamic_Priority_Test +use Enum_Interfaces_Test +use Env_Value_Test +use FlReactor_Test +use Future_Set_Test +use Future_Test +use Handle_Set_Test +use Hash_Map_Bucket_Iterator_Test +use Hash_Map_Manager_Test +use High_Res_Timer_Test +use IOStream_Test +use Lazy_Map_Manager_Test +use Log_Msg_Test +use Logging_Strategy_Test +use MEM_Stream_Test +use MM_Shared_Memory_Test +use MT_Reactor_Timer_Test +use MT_SOCK_Test +use Malloc_Test +use Map_Manager_Test +use Map_Test +use Mem_Map_Test +use Message_Block_Test +use Message_Queue_Notifications_Test +use Message_Queue_Test +use Message_Queue_Test_Ex +use Naming_Test +use New_Fail_Test +use Notify_Performance_Test +use OS_Test +use Object_Manager_Test +use OrdMultiSet_Test +use Pipe_Test +use Priority_Buffer_Test +use Priority_Reactor_Test +use Priority_Task_Test +use Process_Manager_Test +use Process_Mutex_Test +use Process_Strategy_Test +use RB_Tree_Test +use Reactor_Exceptions_Test +use Reactor_Notify_Test +use Reactor_Performance_Test +use Reactor_Timer_Test +use Reactors_Test +use Reader_Writer_Test +use Recursive_Mutex_Test +use Refcounted_Auto_Ptr_Test +use Reverse_Lock_Test +use SOCK_Connector_Test +use SOCK_Send_Recv_Test +use SOCK_Test +use SPIPE_Test +use SString_Test +use SV_Shared_Memory_Test +use Semaphore_Test +use Service_Config_Test +use Signal_Test +use Sigset_Ops_Test +use Simple_Message_Block_Test +use Svc_Handler_Test +use TSS_Test +use Task_Test +use Thread_Manager_Test +use Thread_Mutex_Test +use Thread_Pool_Reactor_Test +use Thread_Pool_Test +use Time_Service_Test +use Time_Value_Test +use Timeprobe_Test +use Timer_Queue_Test +use TkReactor_Test +use Tokens_Test +use UPIPE_SAP_Test +use Upgradable_RW_Test +} |