diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-07-30 21:51:49 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-07-30 21:51:49 +0000 |
commit | e50fd17ae67174cf831fd1ee49fbcae25df57c5c (patch) | |
tree | 10e034159f9811a586f9943e7fafa6d290e648e3 | |
parent | e505507d9014a763cbf25c2f484bcf280d84c946 (diff) | |
download | ATCD-e50fd17ae67174cf831fd1ee49fbcae25df57c5c.tar.gz |
ChangeLogTag:Mon Jul 30 14:41:43 2001 Carlos O'Ryan <coryan@uci.edu>
-rw-r--r-- | TAO/tao/LF_Follower_Auto_Adder.cpp | 15 | ||||
-rw-r--r-- | TAO/tao/LF_Follower_Auto_Adder.h | 60 | ||||
-rw-r--r-- | TAO/tao/LF_Follower_Auto_Adder.inl | 29 | ||||
-rw-r--r-- | TAO/tao/Makefile.am | 27 | ||||
-rw-r--r-- | TAO/tao/Makefile.bor | 1 | ||||
-rw-r--r-- | TAO/tao/TAO.dsp | 12 | ||||
-rw-r--r-- | TAO/tao/TAO_Static.dsp | 12 |
7 files changed, 156 insertions, 0 deletions
diff --git a/TAO/tao/LF_Follower_Auto_Adder.cpp b/TAO/tao/LF_Follower_Auto_Adder.cpp new file mode 100644 index 00000000000..906ae29132e --- /dev/null +++ b/TAO/tao/LF_Follower_Auto_Adder.cpp @@ -0,0 +1,15 @@ +// -*- C++ -*- +// $Id$ + +#include "tao/LF_Follower_Auto_Adder.h" + +#if !defined (__ACE_INLINE__) +# include "tao/LF_Follower_Auto_Adder.inl" +#endif /* __ACE_INLINE__ */ + +ACE_RCSID(tao, Follower_Auto_Adder, "$Id$") + +TAO_LF_Follower_Auto_Adder::~TAO_LF_Follower_Auto_Adder (void) +{ + this->leader_follower_.remove_follower (this->follower_); +} diff --git a/TAO/tao/LF_Follower_Auto_Adder.h b/TAO/tao/LF_Follower_Auto_Adder.h new file mode 100644 index 00000000000..9e336614bd0 --- /dev/null +++ b/TAO/tao/LF_Follower_Auto_Adder.h @@ -0,0 +1,60 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file Follower_Auto_Adder.h + * + * $Id$ + * + * @author Carlos O'Ryan <coryan@uci.edu> + */ +//============================================================================= + +#ifndef TAO_LF_FOLLOWER_AUTO_ADDER_H +#define TAO_LF_FOLLOWER_AUTO_ADDER_H +#include "ace/pre.h" + +#include "tao/orbconf.h" +#include "tao/Leader_Follower.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +class TAO_Follower; + +/** + * @brief Implement an auto_adder-like class for the TAO_Followers + * allocated via a TAO_Leader_Follower set. + * + * The Leader/Follower set is a factory for TAO_Follower objects + */ +class TAO_Export TAO_LF_Follower_Auto_Adder +{ +public: + /// Constructor + TAO_LF_Follower_Auto_Adder (TAO_Leader_Follower &, + TAO_Follower *follower); + + /// Destructor + ~TAO_LF_Follower_Auto_Adder (void); + + /// Implement the smart pointer methods + TAO_Follower *get (void); + TAO_Follower *operator->(void); + operator TAO_Follower *(void); + +private: + /// Keep a reference to the leader follower + TAO_Leader_Follower &leader_follower_; + + /// The follower + TAO_Follower *follower_; +}; + +#if defined (__ACE_INLINE__) +# include "tao/LF_Follower_Auto_Adder.inl" +#endif /* __ACE_INLINE__ */ + +#include "ace/post.h" +#endif /* TAO_LF_FOLLOWER_AUTO_ADDER_H */ diff --git a/TAO/tao/LF_Follower_Auto_Adder.inl b/TAO/tao/LF_Follower_Auto_Adder.inl new file mode 100644 index 00000000000..900b10f9658 --- /dev/null +++ b/TAO/tao/LF_Follower_Auto_Adder.inl @@ -0,0 +1,29 @@ +// $Id$ + +ACE_INLINE +TAO_LF_Follower_Auto_Adder:: + TAO_LF_Follower_Auto_Adder (TAO_Leader_Follower &lf, + TAO_Follower *follower) + : leader_follower_ (lf) + , follower_ (follower) +{ + (void) this->leader_follower_.add_follower (this->follower_); +} + +ACE_INLINE TAO_Follower * +TAO_LF_Follower_Auto_Adder::get (void) +{ + return this->follower_; +} + +ACE_INLINE TAO_Follower * +TAO_LF_Follower_Auto_Adder::operator-> (void) +{ + return this->follower_; +} + +ACE_INLINE +TAO_LF_Follower_Auto_Adder::operator TAO_Follower * (void) +{ + return this->follower_; +} diff --git a/TAO/tao/Makefile.am b/TAO/tao/Makefile.am index 1371deb717c..a67181a8aaf 100644 --- a/TAO/tao/Makefile.am +++ b/TAO/tao/Makefile.am @@ -131,7 +131,16 @@ ORB_CORE_FILES = \ StringSeqC.cpp \ ORB_Core.cpp \ ORB_Table.cpp \ + LF_Event.cpp \ + LF_Event_Binder.cpp \ + LF_Event_Loop_Thread_Helper.cpp \ + LF_Strategy.cpp \ + LF_Strategy_Complete.cpp \ Leader_Follower.cpp \ + Leader_Follower_Flushing_Strategy.cpp \ + Follower.cpp \ + Follower_Auto_Ptr.cpp \ + LF_Follower_Auto_Adder.cpp \ Reactor_Registry.cpp \ Single_Reactor.cpp \ Reactor_Per_Priority.cpp \ @@ -295,7 +304,16 @@ HEADER_FILES = \ InterceptorS.h \ Invocation.h \ Key_Adapters.h \ + Follower.h \ + Follower_Auto_Ptr.h \ + LF_Follower_Auto_Adder.h \ Leader_Follower.h \ + Leader_Follower_Flushing_Strategy.h \ + LF_Event.h \ + LF_Event_Binder.h \ + LF_Event_Loop_Thread_Helper.h \ + LF_Strategy.h \ + LF_Strategy_Complete.h \ MProfile.h \ Managed_Types.h \ Marshal.h \ @@ -430,7 +448,16 @@ INLINE_FILES = \ InterceptorC.i \ Invocation.i \ Key_Adapters.i \ + Follower.inl \ + Follower_Auto_Ptr.inl \ + LF_Follower_Auto_Adder.inl \ Leader_Follower.i \ + Leader_Follower_Flushing_Strategy.inl \ + LF_Event.inl \ + LF_Event_Binder.inl \ + LF_Event_Loop_Thread_Helper.inl \ + LF_Strategy.inl \ + LF_Strategy_Complete.inl \ MProfile.i \ Managed_Types.i \ Marshal.i \ diff --git a/TAO/tao/Makefile.bor b/TAO/tao/Makefile.bor index f82c3c3d648..cec043c18a3 100644 --- a/TAO/tao/Makefile.bor +++ b/TAO/tao/Makefile.bor @@ -79,6 +79,7 @@ OBJFILES = \ $(OBJDIR)\Flushing_Strategy.obj \ $(OBJDIR)\Follower.obj \ $(OBJDIR)\Follower_Auto_Ptr.obj \ + $(OBJDIR)\LF_Follower_Auto_Adder.obj \ $(OBJDIR)\GIOP_Message_Base.obj \ $(OBJDIR)\GIOP_Message_Lite.obj \ $(OBJDIR)\GIOP_Message_Generator_Parser.obj \ diff --git a/TAO/tao/TAO.dsp b/TAO/tao/TAO.dsp index 84610b60e0d..e182a8d33f2 100644 --- a/TAO/tao/TAO.dsp +++ b/TAO/tao/TAO.dsp @@ -391,6 +391,10 @@ SOURCE=.\Follower.cpp # End Source File
# Begin Source File
+SOURCE=.\Follower_Auto_Adder.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\Follower_Auto_Ptr.cpp
# End Source File
# Begin Source File
@@ -1151,6 +1155,14 @@ SOURCE=.\Follower.inl # End Source File
# Begin Source File
+SOURCE=.\Follower_Auto_Adder.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Follower_Auto_Adder.inl
+# End Source File
+# Begin Source File
+
SOURCE=.\Follower_Auto_Ptr.h
# End Source File
# Begin Source File
diff --git a/TAO/tao/TAO_Static.dsp b/TAO/tao/TAO_Static.dsp index b800f50da05..f75fb5f5f56 100644 --- a/TAO/tao/TAO_Static.dsp +++ b/TAO/tao/TAO_Static.dsp @@ -323,6 +323,10 @@ SOURCE=.\Flushing_Strategy.h # End Source File
# Begin Source File
+SOURCE=.\Follower_Auto_Adder.h
+# End Source File
+# Begin Source File
+
SOURCE=.\giop.h
# End Source File
# Begin Source File
@@ -1047,6 +1051,10 @@ SOURCE=.\FILE_Parser.i # End Source File
# Begin Source File
+SOURCE=.\Follower_Auto_Adder.inl
+# End Source File
+# Begin Source File
+
SOURCE=.\giop.i
# End Source File
# Begin Source File
@@ -1699,6 +1707,10 @@ SOURCE=.\Flushing_Strategy.cpp # End Source File
# Begin Source File
+SOURCE=.\Follower_Auto_Adder.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\GIOP_Message_Base.cpp
# End Source File
# Begin Source File
|