summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog40
-rw-r--r--ChangeLogs/ChangeLog-02a40
-rw-r--r--ChangeLogs/ChangeLog-03a40
-rw-r--r--ace/Dynamic_Service.cpp5
-rw-r--r--ace/Dynamic_Service.i6
-rw-r--r--ace/Dynamic_Service_Base.cpp20
-rw-r--r--ace/Dynamic_Service_Base.h40
-rw-r--r--ace/ace_dll.dsp23
-rw-r--r--ace/ace_lib.dsp23
9 files changed, 176 insertions, 61 deletions
diff --git a/ChangeLog b/ChangeLog
index af5b791551f..4ed00da9706 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,22 +1,38 @@
+Sun Nov 19 10:37:48 2000 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/ace_dll.dsp:
+ * ace/ace_lib.dsp:
+ Add the new files to the MSVC projects.
+
+ * ace/Dynamic_Service_Base.h:
+ Add missing file.
+
+ * ace/Dynamic_Service_Base.cpp:
+ Removed template-like protections, this is a regular class.
+
+ * ace/Dynamic_Service.i:
+ * ace/Dynamic_Service.cpp:
+ Cosmetic fixes.
+
Sun Nov 19 08:05:08 2000 Priyanka Gontla <pgontla@ece.uci.edu>
- * ace/Makefile:
- Updated.
-
- * ace/Dynamic_Service.cpp:
- * ace/Dynamic_Service.h:
- * ace/Dynamic_Service_Base.cpp:
- * ace/Dynamic_Service_Base.h:
- Not all methods in Dynamic_Service were based on the SERVICE
- types. Moved those to the base class 'Dynamic_Service_Base' and
- the Dynamic_Service inherits from the base class.
-
+ * ace/Makefile:
+ Updated.
+
+ * ace/Dynamic_Service.cpp:
+ * ace/Dynamic_Service.h:
+ * ace/Dynamic_Service_Base.cpp:
+ * ace/Dynamic_Service_Base.h:
+ Not all methods in Dynamic_Service were based on the SERVICE
+ types. Moved those to the base class 'Dynamic_Service_Base' and
+ the Dynamic_Service inherits from the base class.
+
Sat Nov 18 11:35:53 2000 Darrell Brunsch <brunsch@uci.edu>
* tests/OS_Test.cpp:
Changed the signature of main to use ACE_TCHAR. Although
- I don't consider this the "right" way of doing this, it
+ I don't consider this the "right" way of doing this, it
will make the builds happy with ACE_USES_WCHAR until we
implement something better.
diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a
index af5b791551f..4ed00da9706 100644
--- a/ChangeLogs/ChangeLog-02a
+++ b/ChangeLogs/ChangeLog-02a
@@ -1,22 +1,38 @@
+Sun Nov 19 10:37:48 2000 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/ace_dll.dsp:
+ * ace/ace_lib.dsp:
+ Add the new files to the MSVC projects.
+
+ * ace/Dynamic_Service_Base.h:
+ Add missing file.
+
+ * ace/Dynamic_Service_Base.cpp:
+ Removed template-like protections, this is a regular class.
+
+ * ace/Dynamic_Service.i:
+ * ace/Dynamic_Service.cpp:
+ Cosmetic fixes.
+
Sun Nov 19 08:05:08 2000 Priyanka Gontla <pgontla@ece.uci.edu>
- * ace/Makefile:
- Updated.
-
- * ace/Dynamic_Service.cpp:
- * ace/Dynamic_Service.h:
- * ace/Dynamic_Service_Base.cpp:
- * ace/Dynamic_Service_Base.h:
- Not all methods in Dynamic_Service were based on the SERVICE
- types. Moved those to the base class 'Dynamic_Service_Base' and
- the Dynamic_Service inherits from the base class.
-
+ * ace/Makefile:
+ Updated.
+
+ * ace/Dynamic_Service.cpp:
+ * ace/Dynamic_Service.h:
+ * ace/Dynamic_Service_Base.cpp:
+ * ace/Dynamic_Service_Base.h:
+ Not all methods in Dynamic_Service were based on the SERVICE
+ types. Moved those to the base class 'Dynamic_Service_Base' and
+ the Dynamic_Service inherits from the base class.
+
Sat Nov 18 11:35:53 2000 Darrell Brunsch <brunsch@uci.edu>
* tests/OS_Test.cpp:
Changed the signature of main to use ACE_TCHAR. Although
- I don't consider this the "right" way of doing this, it
+ I don't consider this the "right" way of doing this, it
will make the builds happy with ACE_USES_WCHAR until we
implement something better.
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a
index af5b791551f..4ed00da9706 100644
--- a/ChangeLogs/ChangeLog-03a
+++ b/ChangeLogs/ChangeLog-03a
@@ -1,22 +1,38 @@
+Sun Nov 19 10:37:48 2000 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/ace_dll.dsp:
+ * ace/ace_lib.dsp:
+ Add the new files to the MSVC projects.
+
+ * ace/Dynamic_Service_Base.h:
+ Add missing file.
+
+ * ace/Dynamic_Service_Base.cpp:
+ Removed template-like protections, this is a regular class.
+
+ * ace/Dynamic_Service.i:
+ * ace/Dynamic_Service.cpp:
+ Cosmetic fixes.
+
Sun Nov 19 08:05:08 2000 Priyanka Gontla <pgontla@ece.uci.edu>
- * ace/Makefile:
- Updated.
-
- * ace/Dynamic_Service.cpp:
- * ace/Dynamic_Service.h:
- * ace/Dynamic_Service_Base.cpp:
- * ace/Dynamic_Service_Base.h:
- Not all methods in Dynamic_Service were based on the SERVICE
- types. Moved those to the base class 'Dynamic_Service_Base' and
- the Dynamic_Service inherits from the base class.
-
+ * ace/Makefile:
+ Updated.
+
+ * ace/Dynamic_Service.cpp:
+ * ace/Dynamic_Service.h:
+ * ace/Dynamic_Service_Base.cpp:
+ * ace/Dynamic_Service_Base.h:
+ Not all methods in Dynamic_Service were based on the SERVICE
+ types. Moved those to the base class 'Dynamic_Service_Base' and
+ the Dynamic_Service inherits from the base class.
+
Sat Nov 18 11:35:53 2000 Darrell Brunsch <brunsch@uci.edu>
* tests/OS_Test.cpp:
Changed the signature of main to use ACE_TCHAR. Although
- I don't consider this the "right" way of doing this, it
+ I don't consider this the "right" way of doing this, it
will make the builds happy with ACE_USES_WCHAR until we
implement something better.
diff --git a/ace/Dynamic_Service.cpp b/ace/Dynamic_Service.cpp
index 3eeafd651c6..ee40d45f112 100644
--- a/ace/Dynamic_Service.cpp
+++ b/ace/Dynamic_Service.cpp
@@ -4,15 +4,12 @@
#ifndef ACE_DYNAMIC_SERVICE_C
#define ACE_DYNAMIC_SERVICE_C
-#include "ace/Service_Config.h"
+#include "ace/Dynamic_Service.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "ace/Service_Repository.h"
-#include "ace/Dynamic_Service.h"
-
#if !defined (__ACE_INLINE__)
#include "ace/Dynamic_Service.i"
#endif /* __ACE_INLINE__ */
diff --git a/ace/Dynamic_Service.i b/ace/Dynamic_Service.i
index 6765288542e..2d0b32b056c 100644
--- a/ace/Dynamic_Service.i
+++ b/ace/Dynamic_Service.i
@@ -1,12 +1,8 @@
/* -*- C++ -*- */
// $Id$
-// Dynamic_Service.i
-
-/* static */
-
template <class TYPE> ACE_INLINE TYPE *
ACE_Dynamic_Service<TYPE>::instance (const ACE_TCHAR *name)
-{
+{
return ACE_reinterpret_cast(TYPE*,ACE_Dynamic_Service_Base::instance (name));
}
diff --git a/ace/Dynamic_Service_Base.cpp b/ace/Dynamic_Service_Base.cpp
index 61950a686cc..6bcc87ad1ec 100644
--- a/ace/Dynamic_Service_Base.cpp
+++ b/ace/Dynamic_Service_Base.cpp
@@ -1,16 +1,8 @@
// $Id$
-#ifndef ACE_DYNAMIC_SERVICE_BASE_C
-#define ACE_DYNAMIC_SERVICE_BASE_C
-
+#include "ace/Dynamic_Service_Base.h"
#include "ace/Service_Config.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
#include "ace/Service_Repository.h"
-#include "ace/Dynamic_Service_Base.h"
#include "ace/Log_Msg.h"
ACE_RCSID(ace, Dynamic_Service_Base, "$Id$")
@@ -41,11 +33,7 @@ ACE_Dynamic_Service_Base::instance (const ACE_TCHAR *name)
if (type == 0)
return 0;
- else
- {
- void *obj = type->object ();
- return obj;
- }
-}
-#endif /* ACE_DYNAMIC_SERVICE_BASE_C */
+ void *obj = type->object ();
+ return obj;
+}
diff --git a/ace/Dynamic_Service_Base.h b/ace/Dynamic_Service_Base.h
new file mode 100644
index 00000000000..ac774f7a4eb
--- /dev/null
+++ b/ace/Dynamic_Service_Base.h
@@ -0,0 +1,40 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file Dynamic_Service_Base.h
+ *
+ * $Id$
+ *
+ * @author Prashant Jain
+ * @author Doug Schmidt
+ */
+//=============================================================================
+
+#ifndef ACE_DYNAMIC_SERVICE_BASE_H
+#define ACE_DYNAMIC_SERVICE_BASE_H
+#include "ace/pre.h"
+
+#include "ace/OS.h"
+
+/**
+ * @class ACE_Dynamic_Service_Base
+ *
+ * @brief Base class for all ACE_Dynamic_Service instantiations.
+ *
+ * Factors out common code shared by all ACE_Dynamic_Service
+ * instantiations, this avoid code bloat.
+ */
+class ACE_Export ACE_Dynamic_Service_Base
+{
+public:
+ /// Dump the current static of the object
+ void dump (void) const;
+
+protected:
+ /// Return instance using <name> to search the Service_Repository.
+ static void* instance (const ACE_TCHAR *name);
+};
+
+#include "ace/post.h"
+#endif /* ACE_DYNAMIC_SERVICE_BASE_H */
diff --git a/ace/ace_dll.dsp b/ace/ace_dll.dsp
index 9d1c68a9785..159e5cce4a4 100644
--- a/ace/ace_dll.dsp
+++ b/ace/ace_dll.dsp
@@ -905,6 +905,29 @@ SOURCE=.\Dynamic_Service.cpp
# End Source File
# Begin Source File
+SOURCE=.\Dynamic_Service_Base.cpp
+
+!IF "$(CFG)" == "ACE DLL - Win32 Alpha Release"
+
+!ELSEIF "$(CFG)" == "ACE DLL - Win32 Alpha Debug"
+
+!ELSEIF "$(CFG)" == "ACE DLL - Win32 MFC Release"
+
+!ELSEIF "$(CFG)" == "ACE DLL - Win32 MFC Debug"
+
+!ELSEIF "$(CFG)" == "ACE DLL - Win32 Release"
+
+!ELSEIF "$(CFG)" == "ACE DLL - Win32 Debug"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\Dynamic_Service_Base.h
+# End Source File
+# Begin Source File
+
SOURCE=.\Event_Handler.cpp
!IF "$(CFG)" == "ACE DLL - Win32 Alpha Release"
diff --git a/ace/ace_lib.dsp b/ace/ace_lib.dsp
index cd998f17900..e843869873e 100644
--- a/ace/ace_lib.dsp
+++ b/ace/ace_lib.dsp
@@ -861,6 +861,29 @@ SOURCE=.\Dynamic_Service.cpp
# End Source File
# Begin Source File
+SOURCE=.\Dynamic_Service_Base.cpp
+
+!IF "$(CFG)" == "ACE LIB - Win32 Alpha Static Release"
+
+!ELSEIF "$(CFG)" == "ACE LIB - Win32 Alpha Static Debug"
+
+!ELSEIF "$(CFG)" == "ACE LIB - Win32 Pharlap ETS Static Release"
+
+!ELSEIF "$(CFG)" == "ACE LIB - Win32 Pharlap ETS Static Debug"
+
+!ELSEIF "$(CFG)" == "ACE LIB - Win32 Static Release"
+
+!ELSEIF "$(CFG)" == "ACE LIB - Win32 Static Debug"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\Dynamic_Service_Base.h
+# End Source File
+# Begin Source File
+
SOURCE=.\Event_Handler.cpp
!IF "$(CFG)" == "ACE LIB - Win32 Alpha Static Release"