diff options
Diffstat (limited to 'TAO')
-rw-r--r-- | TAO/ChangeLogs/ChangeLog-02a | 44 | ||||
-rw-r--r-- | TAO/tao/Makefile | 3 | ||||
-rw-r--r-- | TAO/tao/ORB.cpp | 34 | ||||
-rw-r--r-- | TAO/tao/ORB.h | 5 | ||||
-rw-r--r-- | TAO/tao/Object_Loader.cpp | 13 | ||||
-rw-r--r-- | TAO/tao/Object_Loader.h | 56 | ||||
-rw-r--r-- | TAO/tao/Object_Loader.i | 1 | ||||
-rw-r--r-- | TAO/tao/TAO.dsp | 70 | ||||
-rw-r--r-- | TAO/tao/TAO_Static.dsp | 24 | ||||
-rw-r--r-- | TAO/tests/Makefile | 3 | ||||
-rw-r--r-- | TAO/tests/Object_Loader/Loader.cpp | 66 | ||||
-rw-r--r-- | TAO/tests/Object_Loader/Loader.h | 46 | ||||
-rw-r--r-- | TAO/tests/Object_Loader/Loader.i | 1 | ||||
-rw-r--r-- | TAO/tests/Object_Loader/Makefile | 59 | ||||
-rw-r--r-- | TAO/tests/Object_Loader/OLT_Export.h | 36 | ||||
-rw-r--r-- | TAO/tests/Object_Loader/Object_Loader.dsw | 41 | ||||
-rw-r--r-- | TAO/tests/Object_Loader/Test.idl | 14 | ||||
-rw-r--r-- | TAO/tests/Object_Loader/Test_DLL.dsp | 234 | ||||
-rw-r--r-- | TAO/tests/Object_Loader/Test_i.cpp | 45 | ||||
-rw-r--r-- | TAO/tests/Object_Loader/Test_i.h | 53 | ||||
-rw-r--r-- | TAO/tests/Object_Loader/Test_i.i | 1 | ||||
-rw-r--r-- | TAO/tests/Object_Loader/driver.cpp | 74 | ||||
-rw-r--r-- | TAO/tests/Object_Loader/driver.dsp | 208 | ||||
-rw-r--r-- | TAO/tests/Object_Loader/svc.conf | 7 |
24 files changed, 1097 insertions, 41 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a index 510c968ffec..4bf6b320e6a 100644 --- a/TAO/ChangeLogs/ChangeLog-02a +++ b/TAO/ChangeLogs/ChangeLog-02a @@ -1,3 +1,47 @@ +Mon Apr 10 13:17:41 2000 Carlos O'Ryan <coryan@uci.edu> + + * tao/Makefile: + * tao/TAO.dsp: + * tao/TAO_Static.dsp: + * tao/ORB.h: + * tao/ORB.cpp: + * tao/Object_Loader.h: + * tao/Object_Loader.i: + * tao/Object_Loader.cpp: + New style for object references, the application can invoke + orb->string_to_object ("DLL:....") + The purpose of this feature is twofold: + - Allow application developers to choose, very late in the + development cycle, if they want to dynamically load a + service. + For example they can use resolve_initial_references to resolve + the service, and then use -ORBInitRef Service=DLL:... to + dynamically load it or -ORBInitRef Service=corbaloc:... to use + a remote version. + - It can be used to dynamically load ORB components, such as the + POA, the DynamicAnys, the IORManipulation interface, etc. + All these components are accessed through the + resolve_initial_references interface, so they could be loaded + using the DLL-style IORs. + + * tests/Makefile: + * tests/Object_Loader/Loader.cpp: + * tests/Object_Loader/Loader.h: + * tests/Object_Loader/Loader.i: + * tests/Object_Loader/Makefile: + * tests/Object_Loader/OLT_Export.h: + * tests/Object_Loader/Object_Loader.dsw: + * tests/Object_Loader/Test.idl: + * tests/Object_Loader/Test_DLL.dsp: + * tests/Object_Loader/Test_i.cpp: + * tests/Object_Loader/Test_i.h: + * tests/Object_Loader/Test_i.i: + * tests/Object_Loader/driver.cpp: + * tests/Object_Loader/driver.dsp: + * tests/Object_Loader/svc.conf: + Add a very simple test that creates multiple ORBs and loads a + different object into each one. + Mon Apr 10 13:41:51 2000 Nanbor Wang <nanbor@cs.wustl.edu> * docs/compiler.html: Removed the entry about -Gc flag (compile diff --git a/TAO/tao/Makefile b/TAO/tao/Makefile index 82a48616704..d07d6c8531b 100644 --- a/TAO/tao/Makefile +++ b/TAO/tao/Makefile @@ -190,7 +190,8 @@ ORB_CORE_FILES = \ GIOPC \ BoundsC \ TAOC \ - TAOS + TAOS \ + Object_Loader DYNAMIC_ANY_FILES = diff --git a/TAO/tao/ORB.cpp b/TAO/tao/ORB.cpp index f5bfbee44c9..41d4c2ff66c 100644 --- a/TAO/tao/ORB.cpp +++ b/TAO/tao/ORB.cpp @@ -31,6 +31,7 @@ #include "tao/POA.h" #include "tao/Request.h" #include "tao/MProfile.h" +#include "tao/Object_Loader.h" #if (TAO_HAS_INTERFACE_REPOSITORY == 1) # include "tao/InterfaceC.h" @@ -68,6 +69,7 @@ ACE_RCSID(tao, ORB, "$Id$") static const char ior_prefix [] = "IOR:"; static const char file_prefix[] = "file://"; +static const char dll_prefix[] = "DLL:"; // = Static initialization. @@ -1686,7 +1688,7 @@ CORBA_ORB::string_to_object (const char *str, CORBA::COMPLETED_NO), CORBA::Object::_nil ()); - + if (ACE_OS::strncmp (str, file_prefix, sizeof file_prefix - 1) == 0) @@ -1697,6 +1699,11 @@ CORBA_ORB::string_to_object (const char *str, sizeof ior_prefix - 1) == 0) return this->ior_string_to_object (str + sizeof ior_prefix - 1, ACE_TRY_ENV); + else if (ACE_OS::strncmp (str, + dll_prefix, + sizeof dll_prefix - 1) == 0) + return this->dll_string_to_object (str + sizeof dll_prefix - 1, + ACE_TRY_ENV); else return this->url_ior_string_to_object (str, ACE_TRY_ENV); } @@ -1823,7 +1830,7 @@ CORBA_ORB::ior_string_to_object (const char *str, // Create deencapsulation stream ... then unmarshal objref from that // stream. - + int byte_order = *(mb.rd_ptr ()); mb.rd_ptr (1); mb.wr_ptr (len); @@ -1868,6 +1875,29 @@ CORBA_ORB::file_string_to_object (const char* filename, return object; } +// **************************************************************** + +CORBA::Object_ptr +CORBA_ORB::dll_string_to_object (const char *str, + CORBA::Environment &ACE_TRY_ENV) +{ + TAO_Object_Loader *loader = + ACE_Dynamic_Service<TAO_Object_Loader>::instance (str); + if (loader == 0) + { + ACE_THROW_RETURN + (CORBA::INV_OBJREF + (CORBA_SystemException::_tao_minor_code + (TAO_NULL_POINTER_MINOR_CODE, 0), + CORBA::COMPLETED_NO), + CORBA::Object::_nil ()); + } + + return loader->create_object (this, ACE_TRY_ENV); +} + +// **************************************************************** + // Convert an URL style IOR in an object CORBA::Object_ptr diff --git a/TAO/tao/ORB.h b/TAO/tao/ORB.h index 0b86fd31c0a..7a8c1d98666 100644 --- a/TAO/tao/ORB.h +++ b/TAO/tao/ORB.h @@ -772,6 +772,11 @@ private: // Read an IOR from a file and then parse it, returning the object // reference. + CORBA::Object_ptr dll_string_to_object (const char* service_name, + CORBA::Environment &ACE_TRY_ENV); + // Uses the service configurator to dynamically load an + // implementation of an object, and create that object. + CORBA::Object_ptr ior_string_to_object (const char* ior, CORBA::Environment &ACE_TRY_ENV); // Convert an OMG IOR into an object reference. diff --git a/TAO/tao/Object_Loader.cpp b/TAO/tao/Object_Loader.cpp new file mode 100644 index 00000000000..0d574ce8023 --- /dev/null +++ b/TAO/tao/Object_Loader.cpp @@ -0,0 +1,13 @@ +// $Id$ + +#include "tao/Object_Loader.h" + +#if !defined(__ACE_INLINE__) +#include "tao/Object_Loader.i" +#endif /* __ACE_INLINE__ */ + +ACE_RCSID(tao, Object_Loader, "$Id$") + +TAO_Object_Loader::~TAO_Object_Loader (void) +{ +} diff --git a/TAO/tao/Object_Loader.h b/TAO/tao/Object_Loader.h new file mode 100644 index 00000000000..04ccc6ad115 --- /dev/null +++ b/TAO/tao/Object_Loader.h @@ -0,0 +1,56 @@ +// $Id$ + +// ============================================================================ +// +// = LIBRARY +// TAO +// +// = FILENAME +// Object_Loader.h +// +// = AUTHOR +// Carlos O'Ryan (coryan@cs.wustl.edu) +// +// ============================================================================ + +#ifndef TAO_OBJECT_LOADER_H +#define TAO_OBJECT_LOADER_H +#include "ace/pre.h" + +#include "tao/corbafwd.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "ace/Service_Object.h" + +class TAO_Export TAO_Object_Loader : public ACE_Service_Object +{ + // = TITLE + // A class to dynamically load object implementations into an + // ORB. + // + // = DESCRIPTION + // Many services and components of the ORB can be dynamically + // loaded, this is the class used to implement .... + // @@ TODO + // +public: + virtual ~TAO_Object_Loader (void); + // The destructor + + virtual CORBA::Object_ptr create_object (CORBA::ORB_ptr orb, + CORBA::Environment &) + ACE_THROW_SPEC (()) = 0; + // Create and activate a new object into the orb. + // This method cannot throw any exception, but it can return a nil + // object to indicate an error condition. +}; + +#if defined (__ACE_INLINE__) +# include "tao/Object_Loader.i" +#endif /* __ACE_INLINE__ */ + +#include "ace/post.h" +#endif /* TAO_OBJECT_LOADER_H */ diff --git a/TAO/tao/Object_Loader.i b/TAO/tao/Object_Loader.i new file mode 100644 index 00000000000..cfa1da318d3 --- /dev/null +++ b/TAO/tao/Object_Loader.i @@ -0,0 +1 @@ +// $Id$ diff --git a/TAO/tao/TAO.dsp b/TAO/tao/TAO.dsp index 767e8c1658e..dc85af4710d 100644 --- a/TAO/tao/TAO.dsp +++ b/TAO/tao/TAO.dsp @@ -18,20 +18,16 @@ CFG=TAO DLL - Win32 Debug !MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
-!MESSAGE "TAO DLL - Win32 Release" (based on\
- "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "TAO DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "TAO DLL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "TAO DLL - Win32 Alpha Release" (based on\
- "Win32 (ALPHA) Dynamic-Link Library")
-!MESSAGE "TAO DLL - Win32 Alpha Debug" (based on\
- "Win32 (ALPHA) Dynamic-Link Library")
-!MESSAGE "TAO DLL - Win32 MFC Debug" (based on\
- "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "TAO DLL - Win32 MFC Release" (based on\
- "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "TAO DLL - Win32 Alpha Release" (based on "Win32 (ALPHA) Dynamic-Link Library")
+!MESSAGE "TAO DLL - Win32 Alpha Debug" (based on "Win32 (ALPHA) Dynamic-Link Library")
+!MESSAGE "TAO DLL - Win32 MFC Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "TAO DLL - Win32 MFC Release" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
+# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath "Desktop"
@@ -110,12 +106,12 @@ LINK32=link.exe # PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
CPP=cl.exe
# ADD BASE CPP /Gt0 /I "../" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "TAO_BUILD_DLL" /FD nologo MT Gt0 W3 GX O2 I "../../" /c
# ADD CPP /nologo /MD /Gt0 /W3 /GX /O2 /I "../../" /I "../" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "TAO_BUILD_DLL" /FD /c
+MTL=midl.exe
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
@@ -140,12 +136,12 @@ LINK32=link.exe # PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
CPP=cl.exe
# ADD BASE CPP /Gt0 /I "../" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "TAO_BUILD_DLL" /FD /MTd nologo Gt0 W3 GX Zi Od Gy I "../../" /c
# ADD CPP /nologo /Gt0 /W3 /GX /Zi /Od /Gy /I "../../" /I "../" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "TAO_BUILD_DLL" /FD /MDd /c
+MTL=midl.exe
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
@@ -1795,6 +1791,25 @@ SOURCE=.\Object_KeyC.cpp # End Source File
# Begin Source File
+SOURCE=.\Object_Loader.cpp
+
+!IF "$(CFG)" == "TAO DLL - Win32 Release"
+
+!ELSEIF "$(CFG)" == "TAO DLL - Win32 Debug"
+
+!ELSEIF "$(CFG)" == "TAO DLL - Win32 Alpha Release"
+
+!ELSEIF "$(CFG)" == "TAO DLL - Win32 Alpha Debug"
+
+!ELSEIF "$(CFG)" == "TAO DLL - Win32 MFC Debug"
+
+!ELSEIF "$(CFG)" == "TAO DLL - Win32 MFC Release"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
SOURCE=.\ObjectIDList.cpp
!IF "$(CFG)" == "TAO DLL - Win32 Release"
@@ -3421,6 +3436,10 @@ SOURCE=.\Object_KeyC.h # End Source File
# Begin Source File
+SOURCE=.\Object_Loader.h
+# End Source File
+# Begin Source File
+
SOURCE=.\ObjectIDList.h
# End Source File
# Begin Source File
@@ -3897,6 +3916,10 @@ SOURCE=.\Object_KeyC.i # End Source File
# Begin Source File
+SOURCE=.\Object_Loader.i
+# End Source File
+# Begin Source File
+
SOURCE=.\ObjectIDList.i
# End Source File
# Begin Source File
@@ -4066,21 +4089,6 @@ SOURCE=.\ValueFactory_Map.i # Begin Source File
SOURCE=.\tao.rc
-
-!IF "$(CFG)" == "TAO DLL - Win32 Release"
-
-!ELSEIF "$(CFG)" == "TAO DLL - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "TAO DLL - Win32 Alpha Release"
-
-!ELSEIF "$(CFG)" == "TAO DLL - Win32 Alpha Debug"
-
-!ELSEIF "$(CFG)" == "TAO DLL - Win32 MFC Debug"
-
-!ELSEIF "$(CFG)" == "TAO DLL - Win32 MFC Release"
-
-!ENDIF
-
# End Source File
# End Group
# End Target
diff --git a/TAO/tao/TAO_Static.dsp b/TAO/tao/TAO_Static.dsp index 4384fe82cab..3a7c54eba37 100644 --- a/TAO/tao/TAO_Static.dsp +++ b/TAO/tao/TAO_Static.dsp @@ -22,9 +22,11 @@ CFG=TAO LIB - Win32 Debug !MESSAGE
# Begin Project
+# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath "Desktop"
CPP=cl.exe
+RSC=rc.exe
!IF "$(CFG)" == "TAO LIB - Win32 Release"
@@ -38,12 +40,11 @@ CPP=cl.exe # PROP Output_Dir ""
# PROP Intermediate_Dir "LIB\Release"
# PROP Target_Dir ""
-RSC=rc.exe
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../" /I "../" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D ACE_HAS_DLL=0 /D TAO_HAS_DLL=0 /D "ACE_NO_INLINE" /FD /c
# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
@@ -63,11 +64,10 @@ LIB32=link.exe -lib # PROP Output_Dir ""
# PROP Intermediate_Dir "LIB\Debug"
# PROP Target_Dir ""
-RSC=rc.exe
-# ADD BASE RSC /l 0x409
-# ADD RSC /l 0x409
# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /MDd /W3 /GX /Z7 /Od /I "../../" /I "../" /D TAO_HAS_DLL=0 /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D ACE_HAS_DLL=0 /YX /FD /c
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
@@ -414,6 +414,10 @@ SOURCE=.\Object_KeyC.cpp # End Source File
# Begin Source File
+SOURCE=.\Object_Loader.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\ObjectIDList.cpp
# End Source File
# Begin Source File
@@ -994,6 +998,10 @@ SOURCE=.\Object_KeyC.h # End Source File
# Begin Source File
+SOURCE=.\Object_Loader.h
+# End Source File
+# Begin Source File
+
SOURCE=.\ObjectIDList.h
# End Source File
# Begin Source File
@@ -1462,6 +1470,10 @@ SOURCE=.\Object_KeyC.i # End Source File
# Begin Source File
+SOURCE=.\Object_Loader.i
+# End Source File
+# Begin Source File
+
SOURCE=.\ObjectIDList.i
# End Source File
# Begin Source File
diff --git a/TAO/tests/Makefile b/TAO/tests/Makefile index 92b39583486..57c64a2ad7c 100644 --- a/TAO/tests/Makefile +++ b/TAO/tests/Makefile @@ -25,7 +25,8 @@ DIRS = CDR \ ORB_init \ Smart_Proxies \ Nested_Event_Loop \ - Leader_Followers + Leader_Followers \ + Object_Loader ifndef TAO_ROOT TAO_ROOT = $(ACE_ROOT)/TAO diff --git a/TAO/tests/Object_Loader/Loader.cpp b/TAO/tests/Object_Loader/Loader.cpp new file mode 100644 index 00000000000..35138f9fd79 --- /dev/null +++ b/TAO/tests/Object_Loader/Loader.cpp @@ -0,0 +1,66 @@ +// $Id$ + +#include "Loader.h" +#include "test_i.h" + +#if !defined(__ACE_INLINE__) +#include "Loader.i" +#endif /* __ACE_INLINE__ */ + +ACE_RCSID(Object_Loader, Loader, "$Id$") + +Loader::Loader (void) +{ +} + +CORBA::Object_ptr +Loader::create_object (CORBA::ORB_ptr orb, + CORBA::Environment &ACE_TRY_ENV) +{ + ACE_TRY + { + CORBA::Object_var obj = + orb->resolve_initial_references ("RootPOA", ACE_TRY_ENV); + ACE_TRY_CHECK; + + PortableServer::POA_var poa = + PortableServer::POA::_narrow (obj.in (), ACE_TRY_ENV); + ACE_TRY_CHECK; + + PortableServer::POAManager_var mgr = + poa->the_POAManager (ACE_TRY_ENV); + ACE_TRY_CHECK; + + mgr->activate (ACE_TRY_ENV); + ACE_TRY_CHECK; + + Test_i *test; + ACE_NEW_RETURN (test, Test_i (poa.in ()), + CORBA::Object::_nil ()); + + PortableServer::ServantBase_var tmp = test; + obj = test->_this (ACE_TRY_ENV); + ACE_TRY_CHECK; + + return obj._retn (); + } + ACE_CATCHANY + { + } + ACE_ENDTRY; + return CORBA::Object::_nil (); +} + +// **************************************************************** + +#if 0 +ACE_STATIC_SVC_DEFINE (Loader, + ASYS_TEXT ("TAO_Object_Loader"), + ACE_SVC_OBJ_T, + &ACE_SVC_NAME (Loader), + ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, + 0) +#endif /* 0 */ + +ACE_FACTORY_DEFINE (OLT, Loader) + diff --git a/TAO/tests/Object_Loader/Loader.h b/TAO/tests/Object_Loader/Loader.h new file mode 100644 index 00000000000..93e95177598 --- /dev/null +++ b/TAO/tests/Object_Loader/Loader.h @@ -0,0 +1,46 @@ +// $Id$ + +// ============================================================================ +// +// = LIBRARY +// TAO/tests/Object_Loader +// +// = FILENAME +// Loader.h +// +// = AUTHOR +// Carlos O'Ryan +// +// ============================================================================ + +#ifndef TAO_OBJECT_LOADER_LOADER_H +#define TAO_OBJECT_LOADER_LOADER_H + +#include "tao/Object_Loader.h" +#include "OLT_Export.h" + +class OLT_Export Loader : public TAO_Object_Loader +{ + // = TITLE + // Implement the Test interface + // + // = DESCRIPTION + // +public: + Loader (void); + // ctor + + virtual CORBA::Object_ptr create_object (CORBA::ORB_ptr orb, + CORBA::Environment &) + ACE_THROW_SPEC (()); + // Create a new instance +}; + +#if defined(__ACE_INLINE__) +#include "Loader.i" +#endif /* __ACE_INLINE__ */ + +// ACE_STATIC_SVC_DECLARE (Loader) +ACE_FACTORY_DECLARE (OLT, Loader) + +#endif /* TAO_OBJECT_LOADER_LOADER_H */ diff --git a/TAO/tests/Object_Loader/Loader.i b/TAO/tests/Object_Loader/Loader.i new file mode 100644 index 00000000000..cfa1da318d3 --- /dev/null +++ b/TAO/tests/Object_Loader/Loader.i @@ -0,0 +1 @@ +// $Id$ diff --git a/TAO/tests/Object_Loader/Makefile b/TAO/tests/Object_Loader/Makefile new file mode 100644 index 00000000000..0786c0136f0 --- /dev/null +++ b/TAO/tests/Object_Loader/Makefile @@ -0,0 +1,59 @@ +#---------------------------------------------------------------------------- +# +# $Id$ +# +#---------------------------------------------------------------------------- + +#---------------------------------------------------------------------------- +# Local macros +#---------------------------------------------------------------------------- + +ifndef TAO_ROOT + TAO_ROOT = $(ACE_ROOT)/TAO +endif # ! TAO_ROOT + +LDLIBS = -lTAO + +IDLFILES = testC testS +BIN = driver +LIBNAME=libTestLoader +LIB = $(LIBNAME).a +SHLIB = $(LIBNAME).$(SOEXT) + +LSRC= \ + testC.cpp \ + testS.cpp \ + test_i.cpp \ + Loader.cpp +PSRC= \ + driver.cpp +ACE_SHLIBS = -lTAO -lACE +LDLIBS = -lTAO + +TAO_IDLFLAGS += -Ge 1 +#---------------------------------------------------------------------------- +# Include macros and targets +#---------------------------------------------------------------------------- + +include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU +include $(ACE_ROOT)/include/makeinclude/macros.GNU +include $(TAO_ROOT)/rules.tao.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.lib.GNU +include $(ACE_ROOT)/include/makeinclude/rules.local.GNU + +#---------------------------------------------------------------------------- +# Local targets +#---------------------------------------------------------------------------- + +.PRECIOUS: $(foreach ext, $(IDL_EXT), test$(ext)) + +realclean: clean + -$(RM) $(foreach ext, $(IDL_EXT), test$(ext)) + +# 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/TAO/tests/Object_Loader/OLT_Export.h b/TAO/tests/Object_Loader/OLT_Export.h new file mode 100644 index 00000000000..f709c1b248c --- /dev/null +++ b/TAO/tests/Object_Loader/OLT_Export.h @@ -0,0 +1,36 @@ +// -*- C++ -*- +// $Id$ +// Definition for Win32 Export directives. +// This file is generated automatically by +// ${ACE_ROOT}/GenExportH.BAT +// ------------------------------ +#if !defined (OLT_EXPORT_H) +#define OLT_EXPORT_H + +#include "ace/OS.h" + +#if !defined (OLT_HAS_DLL) +#define OLT_HAS_DLL 1 +#endif /* ! OLT_HAS_DLL */ + +#if defined (OLT_HAS_DLL) +# if (OLT_HAS_DLL == 1) +# if defined (OLT_BUILD_DLL) +# define OLT_Export ACE_Proper_Export_Flag +# define OLT_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) +# else +# define OLT_Export ACE_Proper_Import_Flag +# define OLT_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) +# endif /* OLT_BUILD_DLL */ +# else +# define OLT_Export +# define OLT_SINGLETON_DECLARATION(T) +# endif /* ! OLT_HAS_DLL == 1 */ +#else +# define OLT_Export +# define OLT_SINGLETON_DECLARATION(T) +#endif /* OLT_HAS_DLL */ + +#endif /* OLT_EXPORT_H */ + +// End of auto generated file. diff --git a/TAO/tests/Object_Loader/Object_Loader.dsw b/TAO/tests/Object_Loader/Object_Loader.dsw new file mode 100644 index 00000000000..6bf71bc4561 --- /dev/null +++ b/TAO/tests/Object_Loader/Object_Loader.dsw @@ -0,0 +1,41 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "Object_Loader Driver"=.\driver.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "Test_DLL"=.\Test_DLL.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/TAO/tests/Object_Loader/Test.idl b/TAO/tests/Object_Loader/Test.idl new file mode 100644 index 00000000000..924dac91c0c --- /dev/null +++ b/TAO/tests/Object_Loader/Test.idl @@ -0,0 +1,14 @@ +// +// $Id$ +// + +interface Test +{ + // = TITLE + // A simple interface to test the Object Loading features in the + // ORB. + + long instance_count (); + + void destroy (); +}; diff --git a/TAO/tests/Object_Loader/Test_DLL.dsp b/TAO/tests/Object_Loader/Test_DLL.dsp new file mode 100644 index 00000000000..efa22d5646e --- /dev/null +++ b/TAO/tests/Object_Loader/Test_DLL.dsp @@ -0,0 +1,234 @@ +# Microsoft Developer Studio Project File - Name="Test_DLL" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=Test_DLL - 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 "Test_DLL.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 "Test_DLL.mak" CFG="Test_DLL - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Test_DLL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "Test_DLL - 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)" == "Test_DLL - 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" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /I "..\..\.." /D OLT_HAS_DLL=1 /D "OLT_BUILD_DLL" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /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 /subsystem:windows /dll /machine:I386
+# ADD LINK32 TAO.lib ace.lib /nologo /subsystem:windows /dll /machine:I386 /out:"..\..\..\bin\Test_DLL.dll" /libpath:"..\..\tao" /libpath:"..\..\..\ace"
+
+!ELSEIF "$(CFG)" == "Test_DLL - 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" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\.." /I "..\..\.." /D OLT_HAS_DLL=1 /D "OLT_BUILD_DLL" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /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 /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 TAOd.lib aced.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"..\..\..\bin\Test_DLLd.dll" /pdbtype:sept /libpath:"..\..\tao" /libpath:"..\..\..\ace"
+
+!ENDIF
+
+# Begin Target
+
+# Name "Test_DLL - Win32 Release"
+# Name "Test_DLL - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter ".cpp"
+# Begin Source File
+
+SOURCE=.\Loader.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Test_i.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestC.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestS.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter ".h"
+# Begin Source File
+
+SOURCE=.\Loader.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\OLT_Export.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Test_i.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestC.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestS.h
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter ".i"
+# Begin Source File
+
+SOURCE=.\TestC.i
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestS.i
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# Begin Source File
+
+SOURCE=.\Test.idl
+
+!IF "$(CFG)" == "Test_DLL - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build
+InputPath=.\Test.idl
+InputName=Test
+
+BuildCmds= \
+ ..\..\..\bin\Release\tao_idl -Ge 1 -Wb,export_macro=OLT_Export -Wb,export_include=OLT_Export.h $(InputName).idl
+
+"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "Test_DLL - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build
+InputPath=.\Test.idl
+InputName=Test
+
+BuildCmds= \
+ ..\..\..\bin\tao_idl -Ge 1 -Wb,export_macro=OLT_Export -Wb,export_include=OLT_Export.h $(InputName).idl
+
+"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/tests/Object_Loader/Test_i.cpp b/TAO/tests/Object_Loader/Test_i.cpp new file mode 100644 index 00000000000..c0c6e851de7 --- /dev/null +++ b/TAO/tests/Object_Loader/Test_i.cpp @@ -0,0 +1,45 @@ +// $Id$ + +#include "Test_i.h" + +#if !defined(__ACE_INLINE__) +#include "Test_i.i" +#endif /* __ACE_INLINE__ */ + +ACE_RCSID(Object_Loader, Test_i, "$Id$") + +CORBA::Long +Test_i::instance_count_ = 0; + +Test_i::Test_i (PortableServer::POA_ptr poa) + : poa_ (PortableServer::POA::_duplicate (poa)) +{ + Test_i::instance_count_++; +} + +CORBA::Long +Test_i::instance_count (CORBA::Environment &) + ACE_THROW_SPEC (()) +{ + return Test_i::instance_count_; +} + +void +Test_i::destroy (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC (()) +{ + PortableServer::POA_var poa = + this->_default_POA (ACE_TRY_ENV); + PortableServer::ObjectId_var oid = + poa->servant_to_id (this, ACE_TRY_ENV); + ACE_CHECK; + poa->deactivate_object (oid.in (), ACE_TRY_ENV); + ACE_CHECK; +} + +PortableServer::POA_ptr +Test_i::_default_POA (CORBA::Environment &) + ACE_THROW_SPEC (()) +{ + return PortableServer::POA::_duplicate (this->poa_.in ()); +} diff --git a/TAO/tests/Object_Loader/Test_i.h b/TAO/tests/Object_Loader/Test_i.h new file mode 100644 index 00000000000..8144ff18c87 --- /dev/null +++ b/TAO/tests/Object_Loader/Test_i.h @@ -0,0 +1,53 @@ +// $Id$ + +// ============================================================================ +// +// = LIBRARY +// TAO/tests/Object_Loader +// +// = FILENAME +// Test_i.h +// +// = AUTHOR +// Carlos O'Ryan +// +// ============================================================================ + +#ifndef TAO_OBJECT_LOADER_TEST_I_H +#define TAO_OBJECT_LOADER_TEST_I_H + +#include "TestS.h" +#include "OLT_Export.h" + +class OLT_Export Test_i : public POA_Test +{ + // = TITLE + // Implement the Test interface + // + // = DESCRIPTION + // +public: + Test_i (PortableServer::POA_ptr poa); + // ctor + + CORBA::Long instance_count (CORBA::Environment &) + ACE_THROW_SPEC (()); + + void destroy (CORBA::Environment &) + ACE_THROW_SPEC (()); + + PortableServer::POA_ptr _default_POA (CORBA::Environment &) + ACE_THROW_SPEC (()); + +private: + PortableServer::POA_var poa_; + // The default POA used for this object + + static CORBA::Long instance_count_; +}; + +#if defined(__ACE_INLINE__) +#include "Test_i.i" +#endif /* __ACE_INLINE__ */ + +#endif /* TAO_OBJECT_LOADER_TEST_I_H */ diff --git a/TAO/tests/Object_Loader/Test_i.i b/TAO/tests/Object_Loader/Test_i.i new file mode 100644 index 00000000000..cfa1da318d3 --- /dev/null +++ b/TAO/tests/Object_Loader/Test_i.i @@ -0,0 +1 @@ +// $Id$ diff --git a/TAO/tests/Object_Loader/driver.cpp b/TAO/tests/Object_Loader/driver.cpp new file mode 100644 index 00000000000..a1597259bd8 --- /dev/null +++ b/TAO/tests/Object_Loader/driver.cpp @@ -0,0 +1,74 @@ +// +// $Id$ +// + +#include "TestCli.h" + +int +main (int, char *[]) +{ + int niterations = 1000; + int norbs = 10; + + ACE_TRY_NEW_ENV + { + for (int i = 0; i != niterations; ++i) + { + for (int j = 0; j != norbs; ++j) + { + char buf[16]; + ACE_OS::sprintf (buf, "ORB_%4.4d", j); + + int argc = 0; + CORBA::ORB_var orb = + CORBA::ORB_init (argc, 0, buf, ACE_TRY_ENV); + ACE_TRY_CHECK; + + CORBA::Object_var object = + orb->string_to_object ("DLL:Test_Object", + ACE_TRY_ENV); + ACE_TRY_CHECK; + + Test_var test = + Test::_narrow (object.in (), ACE_TRY_ENV); + ACE_TRY_CHECK; + + CORBA::Long count = + test->instance_count (ACE_TRY_ENV); + ACE_TRY_CHECK; + + if (count != norbs*i + j + 1) + { + ACE_DEBUG ((LM_DEBUG, + "Incorrect number of objects " + "(%d != %d)\n", + count, norbs * i + j + 1)); + } + test->destroy (ACE_TRY_ENV); + ACE_TRY_CHECK; + } + } + + for (int j = 0; j != 10; ++j) + { + char buf[16]; + ACE_OS::sprintf (buf, "%4.4d", j); + + int argc = 0; + CORBA::ORB_var orb = + CORBA::ORB_init (argc, 0, buf, ACE_TRY_ENV); + ACE_TRY_CHECK; + + orb->destroy (ACE_TRY_ENV); + ACE_TRY_CHECK; + } + } + ACE_CATCHANY + { + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, + "main()"); + return 1; + } + ACE_ENDTRY; + return 0; +} diff --git a/TAO/tests/Object_Loader/driver.dsp b/TAO/tests/Object_Loader/driver.dsp new file mode 100644 index 00000000000..020c31c7f9c --- /dev/null +++ b/TAO/tests/Object_Loader/driver.dsp @@ -0,0 +1,208 @@ +# Microsoft Developer Studio Project File - Name="Object_Loader Driver" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Object_Loader Driver - 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 "driver.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 "driver.mak" CFG="Object_Loader Driver - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Object_Loader Driver - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Object_Loader Driver - 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)" == "Object_Loader Driver - 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 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 /nologo /subsystem:console /machine:I386
+# ADD LINK32 tao.lib ace.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\ace" /libpath:"..\..\tao"
+
+!ELSEIF "$(CFG)" == "Object_Loader Driver - 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 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 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 taod.lib aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\ace" /libpath:"..\..\tao"
+
+!ENDIF
+
+# Begin Target
+
+# Name "Object_Loader Driver - Win32 Release"
+# Name "Object_Loader Driver - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter ".cpp"
+# Begin Source File
+
+SOURCE=.\driver.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestCli.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestSer.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h"
+# Begin Source File
+
+SOURCE=.\TestCli.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestSer.h
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\Test.idl
+
+!IF "$(CFG)" == "Object_Loader Driver - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+USERDEP__TEST_="..\..\..\bin\Release\tao_idl.exe"
+# Begin Custom Build - Invoking TAO_IDL Compiler
+InputPath=.\Test.idl
+InputName=Test
+
+BuildCmds= \
+ ..\..\..\bin\Release\tao_idl -Ge 1 $(InputName).idl
+
+"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "Object_Loader Driver - Win32 Debug"
+
+USERDEP__TEST_="..\..\..\bin\tao_idl.exe"
+# Begin Custom Build - Invoking TAO_IDL Compiler
+InputPath=.\Test.idl
+InputName=Test
+
+BuildCmds= \
+ ..\..\..\bin\tao_idl -Ge 1 -hc Cli.h -cs Cli.cpp -ci Cli.i -hs Ser.h -ss Ser.cpp -si Ser.i -hT Ser_T.h -sT Ser_T.cpp -st Ser_T.i $(InputName).idl
+
+"$(InputName)Cli.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)Cli.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)Ccli.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)Ser.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)Ser.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)Ser.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)Ser_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)Ser_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)Ser_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# Begin Group "Inline Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\TestCli.i
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/tests/Object_Loader/svc.conf b/TAO/tests/Object_Loader/svc.conf new file mode 100644 index 00000000000..2411a176ec7 --- /dev/null +++ b/TAO/tests/Object_Loader/svc.conf @@ -0,0 +1,7 @@ +# +# $Id$ +# +dynamic Test_Object Service_Object * Test_DLL:_make_Loader() + + + |