--- orig/DomainC.cpp	2003-11-20 18:47:47.000000000 -0600
+++ DomainC.cpp	2003-11-20 18:55:45.000000000 -0600
@@ -30,13 +30,17 @@
 
 
 #include "DomainC.h"
-#include "tao/Exception_Data.h"
-#include "tao/Invocation_Adapter.h"
-#include "tao/Object_T.h"
-#include "tao/Basic_Arguments.h"
-#include "tao/Object_Argument_T.h"
-#include "tao/Special_Basic_Arguments.h"
+#include "IFR_Client_Adapter.h"
+#include "Exception_Data.h"
+#include "Invocation_Adapter.h"
+#include "Object_T.h"
+#include "Basic_Arguments.h"
+#include "Object_Argument_T.h"
+#include "Special_Basic_Arguments.h"
+#include "ORB_Core.h"
 #include "ace/OS_NS_string.h"
+#include "ace/Dynamic_Service.h"
+
 
 #if defined (__BORLANDC__)
 #pragma option -w-rvl -w-rch -w-ccc -w-aus -w-sig
@@ -48,6 +52,40 @@
 
 // TAO_IDL - Generated from
 // be/be_visitor_arg_traits.cpp:62
+// TAO specific stuff.
+namespace CORBA
+{
+  class InterfaceDef;
+  typedef InterfaceDef *InterfaceDef_ptr;
+  typedef TAO_Objref_Var_T<InterfaceDef> InterfaceDef_var;
+  typedef TAO_Objref_Out_T<InterfaceDef> InterfaceDef_out;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+void
+TAO::In_Object_Argument_T<CORBA::InterfaceDef_ptr>::interceptor_param (Dynamic::Parameter & p)
+{
+  TAO_IFR_Client_Adapter *adapter =
+    ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+        TAO_ORB_Core::ifr_client_adapter_name ()
+      );
+
+  adapter->interfacedef_any_insert (p.argument, this->x_);
+  p.mode = CORBA::PARAM_IN;
+}
+
+ACE_TEMPLATE_SPECIALIZATION
+CORBA::Boolean
+TAO::In_Object_Argument_T<CORBA::InterfaceDef_ptr>::marshal (TAO_OutputCDR & cdr)
+{
+  TAO_IFR_Client_Adapter *adapter =
+    ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+        TAO_ORB_Core::ifr_client_adapter_name ()
+      );
+
+  return adapter->interfacedef_cdr_insert (cdr, this->x_);
+}
+
 
 // Arg traits specializations.
 namespace TAO
@@ -683,12 +721,6 @@
 #endif /* end #if !defined */
 
   template class
-    TAO::Ret_Object_Argument_T<
-        CORBA::Policy_ptr,
-        CORBA::Policy_var
-      >;
-
-  template class
     TAO::Objref_Traits<
         CORBA::DomainManager
       >;
