summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorboris <boris@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-09-21 15:59:24 +0000
committerboris <boris@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-09-21 15:59:24 +0000
commit44cfc12e497af4cbb43ce64e3e020cd5cf87ba10 (patch)
tree2257931eb7b05eb1c468ed07599e42d8d1c72afe
parent475826bd9bef5b118adc1d7576c4235da3983b48 (diff)
downloadATCD-44cfc12e497af4cbb43ce64e3e020cd5cf87ba10.tar.gz
ChangeLogTag: Tue Sep 21 11:08:20 2004 Boris Kolpackov <boris@dre.vanderbilt.edu>
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/ValueType.cpp21
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/ValueType.hpp20
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Traversal/ValueType.hpp6
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/Parser.cpp44
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/Parser.hpp18
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticAction.hpp1
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticAction/EventTypeFactory.hpp32
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Factory.hpp4
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/EventTypeFactory.cpp139
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/EventTypeFactory.hpp42
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/Factory.cpp1
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/Factory.hpp9
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/EventType.cpp21
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/EventType.hpp18
-rw-r--r--TAO/CIAO/CCF/CCF/IDL3/Traversal/EventType.hpp10
-rw-r--r--TAO/CIAO/ChangeLog20
16 files changed, 402 insertions, 4 deletions
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/ValueType.cpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/ValueType.cpp
index f369e7d790d..ace6d65eac9 100644
--- a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/ValueType.cpp
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/ValueType.cpp
@@ -72,6 +72,27 @@ namespace CCF
TypeInfo const& ConcreteValueType::
static_type_info () { return concrete_value_type_; }
+
+
+ // ValueTypeFactory
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ value_type_factory_init_ ()
+ {
+ TypeInfo ti (typeid (ValueTypeFactory));
+ ti.add_base (
+ Access::PUBLIC, true, TwoWayOperation::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo value_type_factory_ (value_type_factory_init_ ());
+ }
+
+ TypeInfo const& ValueTypeFactory::
+ static_type_info () { return value_type_factory_; }
}
}
}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/ValueType.hpp b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/ValueType.hpp
index 377e70ab31f..15a2f0d867c 100644
--- a/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/ValueType.hpp
+++ b/TAO/CIAO/CCF/CCF/IDL2/SemanticGraph/ValueType.hpp
@@ -6,6 +6,7 @@
#define CCF_IDL2_SEMANTIC_GRAPH_VALUE_TYPE_HPP
#include "CCF/IDL2/SemanticGraph/Elements.hpp"
+#include "CCF/IDL2/SemanticGraph/Operation.hpp"
namespace CCF
{
@@ -81,6 +82,25 @@ namespace CCF
type_info (static_type_info ());
}
};
+
+
+ //
+ //
+ //
+ class ValueTypeFactory : public virtual TwoWayOperation
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ ValueTypeFactory ()
+ {
+ type_info (static_type_info ());
+ }
+ };
}
}
}
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Traversal/ValueType.hpp b/TAO/CIAO/CCF/CCF/IDL2/Traversal/ValueType.hpp
index 40be839503c..a99ee48e814 100644
--- a/TAO/CIAO/CCF/CCF/IDL2/Traversal/ValueType.hpp
+++ b/TAO/CIAO/CCF/CCF/IDL2/Traversal/ValueType.hpp
@@ -6,7 +6,7 @@
#define CCF_IDL2_TRAVERSAL_VALUE_TYPE_HPP
#include "CCF/IDL2/Traversal/Elements.hpp"
-
+#include "CCF/IDL2/Traversal/Operation.hpp"
#include "CCF/IDL2/SemanticGraph/ValueType.hpp"
namespace CCF
@@ -76,6 +76,10 @@ namespace CCF
typedef
ValueTypeTemplate<SemanticGraph::ConcreteValueType>
ConcreteValueType;
+
+ typedef
+ OperationTemplate<SemanticGraph::ValueTypeFactory>
+ ValueTypeFactory;
}
}
}
diff --git a/TAO/CIAO/CCF/CCF/IDL3/Parser.cpp b/TAO/CIAO/CCF/CCF/IDL3/Parser.cpp
index 4f2c8467376..1d04529c1fe 100644
--- a/TAO/CIAO/CCF/CCF/IDL3/Parser.cpp
+++ b/TAO/CIAO/CCF/CCF/IDL3/Parser.cpp
@@ -120,6 +120,17 @@ namespace CCF
act_event_type_end (
f.event_type (), &SemanticAction::EventType::end),
+ // EventTypeFactory
+ //
+ act_event_type_factory_name (
+ f.event_type_factory (), &SemanticAction::EventTypeFactory::name),
+
+ act_event_type_factory_parameter (
+ f.event_type_factory (), &SemanticAction::EventTypeFactory::parameter),
+
+ act_event_type_factory_raises (
+ f.event_type_factory (), &SemanticAction::EventTypeFactory::raises),
+
// Home
//
@@ -422,10 +433,41 @@ namespace CCF
| attribute_decl
| operation_decl
| value_type_member_decl
- | value_type_factory_decl
+ | event_type_factory_decl
+ )
+ ;
+
+
+ // eventtype factory
+ //
+ //
+ event_type_factory_decl =
+ FACTORY
+ >> simple_identifier[act_event_type_factory_name]
+ >> LPAREN
+ >> event_type_factory_parameter_list
+ >> RPAREN
+ >> !(RAISES >> LPAREN >> event_type_factory_raises_list >> RPAREN)
+ >> SEMI
+ ;
+
+ event_type_factory_parameter_list =
+ *(
+ event_type_factory_parameter
+ >> *(COMMA >> event_type_factory_parameter)
)
;
+ event_type_factory_parameter =
+ IN
+ >> (identifier >> simple_identifier)[act_event_type_factory_parameter]
+ ;
+
+ event_type_factory_raises_list =
+ identifier[act_event_type_factory_raises]
+ >> *(COMMA >> identifier[act_event_type_factory_raises])
+ ;
+
//
// home
//
diff --git a/TAO/CIAO/CCF/CCF/IDL3/Parser.hpp b/TAO/CIAO/CCF/CCF/IDL3/Parser.hpp
index ffce97c5601..39a11f022ca 100644
--- a/TAO/CIAO/CCF/CCF/IDL3/Parser.hpp
+++ b/TAO/CIAO/CCF/CCF/IDL3/Parser.hpp
@@ -68,6 +68,11 @@ namespace CCF
Rule event_type_def_trailer;
Rule event_type_body;
+ Rule event_type_factory_decl;
+ Rule event_type_factory_parameter_list;
+ Rule event_type_factory_parameter;
+ Rule event_type_factory_raises_list;
+
// home
//
Rule home_decl;
@@ -183,6 +188,19 @@ namespace CCF
NoArgAction<SemanticAction::EventType>
act_event_type_end;
+ // EventTypeFactory
+ //
+ OneArgAction<SimpleIdentifierPtr, SemanticAction::EventTypeFactory>
+ act_event_type_factory_name;
+
+ TwoArgAction<IdentifierPtr,
+ SimpleIdentifierPtr,
+ SemanticAction::EventTypeFactory>
+ act_event_type_factory_parameter;
+
+ OneArgAction<IdentifierPtr, SemanticAction::EventTypeFactory>
+ act_event_type_factory_raises;
+
// Home
//
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticAction.hpp b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction.hpp
index 021dbcc598e..ae0f9d21b2e 100644
--- a/TAO/CIAO/CCF/CCF/IDL3/SemanticAction.hpp
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction.hpp
@@ -13,6 +13,7 @@
#include "CCF/IDL3/SemanticAction/Consumes.hpp"
#include "CCF/IDL3/SemanticAction/Emits.hpp"
#include "CCF/IDL3/SemanticAction/EventType.hpp"
+#include "CCF/IDL3/SemanticAction/EventTypeFactory.hpp"
#include "CCF/IDL3/SemanticAction/Home.hpp"
#include "CCF/IDL3/SemanticAction/HomeFactory.hpp"
#include "CCF/IDL3/SemanticAction/HomeFinder.hpp"
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/EventTypeFactory.hpp b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/EventTypeFactory.hpp
new file mode 100644
index 00000000000..12514bb773e
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/EventTypeFactory.hpp
@@ -0,0 +1,32 @@
+// file : CCF/IDL3/SemanticAction/EventTypeFactory.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL3_SEMANTIC_ACTION_EVENT_TYPE_FACTORY_HPP
+#define CCF_IDL3_SEMANTIC_ACTION_EVENT_TYPE_FACTORY_HPP
+
+#include "CCF/IDL3/SemanticAction/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL3
+ {
+ namespace SemanticAction
+ {
+ struct EventTypeFactory
+ {
+ virtual void
+ name (SimpleIdentifierPtr const& id) = 0;
+
+ virtual void
+ parameter (IdentifierPtr const& type,
+ SimpleIdentifierPtr const& name) = 0;
+
+ virtual void
+ raises (IdentifierPtr const& id) = 0;
+ };
+ }
+ }
+}
+
+#endif // CCF_IDL3_SEMANTIC_ACTION_EVENT_TYPE_FACTORY_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Factory.hpp b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Factory.hpp
index 10e4635a64d..8dd3ae3d25f 100644
--- a/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Factory.hpp
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Factory.hpp
@@ -20,6 +20,7 @@ namespace CCF
struct Emits;
struct Consumes;
struct EventType;
+ struct EventTypeFactory;
struct Home;
struct HomeFactory;
struct HomeFinder;
@@ -48,6 +49,9 @@ namespace CCF
virtual EventType&
event_type () = 0;
+ virtual EventTypeFactory&
+ event_type_factory () = 0;
+
virtual Home&
home () = 0;
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/EventTypeFactory.cpp b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/EventTypeFactory.cpp
new file mode 100644
index 00000000000..db687181c61
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/EventTypeFactory.cpp
@@ -0,0 +1,139 @@
+// file : CCF/IDL3/SemanticAction/Impl/EventTypeFactory.cpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#include "CCF/IDL3/SemanticAction/Impl/EventTypeFactory.hpp"
+
+#include <iostream>
+
+using std::cerr;
+using std::endl;
+
+
+namespace CCF
+{
+ namespace IDL3
+ {
+ namespace SemanticAction
+ {
+ namespace Impl
+ {
+ using namespace SemanticGraph;
+
+ EventTypeFactory::
+ EventTypeFactory (Context& c)
+ : Base (c)
+ {
+ }
+
+ void EventTypeFactory::
+ name (SimpleIdentifierPtr const& id)
+ {
+ if (ctx.trace ()) cerr << " " << id << endl;
+
+ f_ = 0;
+
+ SemanticGraph::EventType& h (
+ dynamic_cast<SemanticGraph::EventType&>(ctx.scope ()));
+
+ SimpleName name (id->lexeme ());
+
+ f_ = &ctx.tu ().new_node<SemanticGraph::EventTypeFactory> ();
+
+ ctx.tu ().new_edge<Returns> (*f_, h);
+ ctx.tu ().new_edge<Defines> (ctx.scope (), *f_, name);
+ }
+
+
+ void EventTypeFactory::
+ parameter (IdentifierPtr const& type_id,
+ SimpleIdentifierPtr const& name_id)
+ {
+ if (ctx.trace ()) cerr << "parameter in " << " "
+ << type_id << " " << name_id << endl;
+
+ if (f_ == 0) return;
+
+ Name name (type_id->lexeme ());
+ ScopedName from (ctx.scope ().scoped_name ());
+
+ try
+ {
+ try
+ {
+ Type& t (resolve<Type> (from, name, Flags::complete));
+
+ Parameter& p (
+ ctx.tu ().new_node<InParameter> (name_id->lexeme ()));
+
+ ctx.tu ().new_edge<Belongs> (p, t);
+ ctx.tu ().new_edge<Receives> (*f_, p);
+ }
+ catch (Resolve const&)
+ {
+ cerr << "error: invalid parameter declaration" << endl;
+ throw;
+ }
+ }
+ catch (NotFound const&)
+ {
+ cerr << "no type with name \'" << name
+ << "\' visible from scope \'" << from << "\'" << endl;
+ }
+ catch (WrongType const&)
+ {
+ cerr << "declaration with name \'" << name
+ << "\' visible from scope \'" << from
+ << "\' is not a type declaration" << endl;
+ cerr << "using non-type as an factory parameter type is "
+ << "illegal" << endl;
+ }
+ catch (NotComplete const& e)
+ {
+ cerr << "type \'" << e.name () << "\' is not complete" << endl;
+ }
+ }
+
+ void EventTypeFactory::
+ raises (IdentifierPtr const& id)
+ {
+ if (ctx.trace ()) cerr << "raises " << id << endl;
+
+ if (f_ == 0) return;
+
+ Name name (id->lexeme ());
+ ScopedName from (ctx.scope ().scoped_name ());
+
+ try
+ {
+ try
+ {
+ SemanticGraph::Exception& e (
+ resolve<SemanticGraph::Exception> (from, name));
+
+ ctx.tu ().new_edge<Raises> (*f_, e);
+ }
+ catch (Resolve const&)
+ {
+ cerr << "error: invalid raises declaration" << endl;
+ throw;
+ }
+ }
+ catch (NotFound const&)
+ {
+ cerr << "no exception with name \'" << name
+ << "\' visible from scope \'" << from << "\'" << endl;
+ }
+ catch (WrongType const&)
+ {
+ cerr << "declaration with name \'" << name
+ << "\' visible from scope \'" << from
+ << "\' is not an exception declaration" << endl;
+ cerr << "using non-exception type in raises declaration is "
+ << "illegal" << endl;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/EventTypeFactory.hpp b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/EventTypeFactory.hpp
new file mode 100644
index 00000000000..1489651b7c8
--- /dev/null
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/EventTypeFactory.hpp
@@ -0,0 +1,42 @@
+// file : CCF/IDL3/SemanticAction/Impl/EventTypeFactory.hpp
+// author : Boris Kolpackov <boris@dre.vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef CCF_IDL3_SEMANTIC_ACTION_IMPL_EVENT_TYPE_FACTORY_HPP
+#define CCF_IDL3_SEMANTIC_ACTION_IMPL_EVENT_TYPE_FACTORY_HPP
+
+#include "CCF/IDL3/SemanticGraph/EventType.hpp"
+#include "CCF/IDL3/SemanticAction/EventTypeFactory.hpp"
+#include "CCF/IDL3/SemanticAction/Impl/Elements.hpp"
+
+namespace CCF
+{
+ namespace IDL3
+ {
+ namespace SemanticAction
+ {
+ namespace Impl
+ {
+ struct EventTypeFactory : SemanticAction::EventTypeFactory, Base
+ {
+ EventTypeFactory (Context& c);
+
+ virtual void
+ name (SimpleIdentifierPtr const& id);
+
+ virtual void
+ parameter (IdentifierPtr const& type_id,
+ SimpleIdentifierPtr const& name_id);
+
+ virtual void
+ raises (IdentifierPtr const& id);
+
+ private:
+ SemanticGraph::EventTypeFactory* f_;
+ };
+ }
+ }
+ }
+}
+
+#endif // CCF_IDL3_SEMANTIC_ACTION_IMPL_EVENT_TYPE_FACTORY_HPP
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/Factory.cpp b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/Factory.cpp
index 276272ae041..075955ecc2b 100644
--- a/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/Factory.cpp
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/Factory.cpp
@@ -22,6 +22,7 @@ namespace CCF
consumes_ (ctx_),
emits_ (ctx_),
event_type_ (ctx_),
+ event_type_factory_ (ctx_),
home_ (ctx_),
home_factory_ (ctx_),
home_finder_ (ctx_),
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/Factory.hpp b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/Factory.hpp
index 404f377c0f3..fc6b80a9a6b 100644
--- a/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/Factory.hpp
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticAction/Impl/Factory.hpp
@@ -16,6 +16,7 @@
#include "CCF/IDL3/SemanticAction/Impl/Emits.hpp"
#include "CCF/IDL3/SemanticAction/Impl/Consumes.hpp"
#include "CCF/IDL3/SemanticAction/Impl/EventType.hpp"
+#include "CCF/IDL3/SemanticAction/Impl/EventTypeFactory.hpp"
#include "CCF/IDL3/SemanticAction/Impl/Home.hpp"
#include "CCF/IDL3/SemanticAction/Impl/HomeFactory.hpp"
#include "CCF/IDL3/SemanticAction/Impl/HomeFinder.hpp"
@@ -61,6 +62,13 @@ namespace CCF
return event_type_;
}
+ virtual EventTypeFactory&
+ event_type_factory ()
+ {
+ return event_type_factory_;
+ }
+
+
virtual SemanticAction::Home&
home ()
{
@@ -109,6 +117,7 @@ namespace CCF
Consumes consumes_;
Emits emits_;
EventType event_type_;
+ EventTypeFactory event_type_factory_;
Home home_;
HomeFactory home_factory_;
HomeFinder home_finder_;
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/EventType.cpp b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/EventType.cpp
index 5054b1f2c3e..9348b024737 100644
--- a/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/EventType.cpp
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/EventType.cpp
@@ -75,6 +75,27 @@ namespace CCF
TypeInfo const& ConcreteEventType::
static_type_info () { return concrete_event_type_; }
+
+
+ // EventTypeFactory
+ //
+ //
+ namespace
+ {
+ TypeInfo
+ event_type_factory_init_ ()
+ {
+ TypeInfo ti (typeid (EventTypeFactory));
+ ti.add_base (
+ Access::PUBLIC, true, EventTypeFactory::static_type_info ());
+ return ti;
+ }
+
+ TypeInfo event_type_factory_ (event_type_factory_init_ ());
+ }
+
+ TypeInfo const& EventTypeFactory::
+ static_type_info () { return event_type_factory_; }
}
}
}
diff --git a/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/EventType.hpp b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/EventType.hpp
index d2c352fda80..5990e1e5884 100644
--- a/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/EventType.hpp
+++ b/TAO/CIAO/CCF/CCF/IDL3/SemanticGraph/EventType.hpp
@@ -71,6 +71,24 @@ namespace CCF
type_info (static_type_info ());
}
};
+
+ //
+ //
+ //
+ class EventTypeFactory : public virtual ValueTypeFactory
+ {
+ public:
+ static Introspection::TypeInfo const&
+ static_type_info ();
+
+ protected:
+ friend class Graph<Node, Edge>;
+
+ EventTypeFactory ()
+ {
+ type_info (static_type_info ());
+ }
+ };
}
}
}
diff --git a/TAO/CIAO/CCF/CCF/IDL3/Traversal/EventType.hpp b/TAO/CIAO/CCF/CCF/IDL3/Traversal/EventType.hpp
index 4eab9a361ad..941dfad76e6 100644
--- a/TAO/CIAO/CCF/CCF/IDL3/Traversal/EventType.hpp
+++ b/TAO/CIAO/CCF/CCF/IDL3/Traversal/EventType.hpp
@@ -6,6 +6,8 @@
#define CCF_IDL3_TRAVERSAL_EVENT_TYPE_HPP
#include "CCF/IDL3/SemanticGraph/EventType.hpp"
+
+#include "CCF/IDL2/Traversal/Operation.hpp"
#include "CCF/IDL3/Traversal/Elements.hpp"
namespace CCF
@@ -40,7 +42,7 @@ namespace CCF
virtual void
inherits_none (T&);
-
+
virtual void
supports (T&, EdgeDispatcherBase&);
@@ -55,7 +57,7 @@ namespace CCF
virtual void
supports_none (T&);
-
+
virtual void
post (T&);
@@ -75,6 +77,10 @@ namespace CCF
typedef
EventTypeTemplate<SemanticGraph::ConcreteEventType>
ConcreteEventType;
+
+ typedef
+ OperationTemplate<SemanticGraph::EventTypeFactory>
+ EventTypeFactory;
}
}
}
diff --git a/TAO/CIAO/ChangeLog b/TAO/CIAO/ChangeLog
index 17f7528b23f..b0d5ffb8c89 100644
--- a/TAO/CIAO/ChangeLog
+++ b/TAO/CIAO/ChangeLog
@@ -1,3 +1,23 @@
+Tue Sep 21 11:08:20 2004 Boris Kolpackov <boris@dre.vanderbilt.edu>
+
+ * CCF/CCF/IDL2/SemanticGraph/ValueType.cpp:
+ * CCF/CCF/IDL2/SemanticGraph/ValueType.hpp:
+ * CCF/CCF/IDL2/Traversal/ValueType.hpp:
+ * CCF/CCF/IDL3/Parser.cpp:
+ * CCF/CCF/IDL3/Parser.hpp:
+ * CCF/CCF/IDL3/SemanticAction.hpp:
+ * CCF/CCF/IDL3/SemanticAction/EventTypeFactory.hpp:
+ * CCF/CCF/IDL3/SemanticAction/Factory.hpp:
+ * CCF/CCF/IDL3/SemanticAction/Impl/EventTypeFactory.cpp:
+ * CCF/CCF/IDL3/SemanticAction/Impl/EventTypeFactory.hpp:
+ * CCF/CCF/IDL3/SemanticAction/Impl/Factory.cpp:
+ * CCF/CCF/IDL3/SemanticAction/Impl/Factory.hpp:
+ * CCF/CCF/IDL3/SemanticGraph/EventType.cpp:
+ * CCF/CCF/IDL3/SemanticGraph/EventType.hpp:
+ * CCF/CCF/IDL3/Traversal/EventType.hpp:
+
+ Added support for eventtype factories.
+
Tue Sep 21 07:39:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl>
* DAnCE/ciao/Context_Impl_Base.cpp: