Index: XmlRpc.vcproj
===================================================================
RCS file: /home/cvsroot/3rdparty/xmlrpc++/XmlRpc.vcproj,v
retrieving revision 1.3
diff -b -u -2 -r1.3 XmlRpc.vcproj
--- XmlRpc.vcproj	9 Mar 2005 01:15:53 -0000	1.3
+++ XmlRpc.vcproj	12 May 2005 12:42:00 -0000
@@ -15,10 +15,10 @@
 			OutputDirectory="Debug"
 			IntermediateDirectory="Debug"
-			ConfigurationType="4"
+			ConfigurationType="2"
 			CharacterSet="2">
 			<Tool
 				Name="VCCLCompilerTool"
 				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;TCXMLRPC_EXPORTS"
+				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;XMLRPC_EXPORTS;XMLRPC_DLLDECL=__declspec(dllexport)"
 				MinimalRebuild="FALSE"
 				ExceptionHandling="TRUE"
@@ -35,6 +35,14 @@
 				Name="VCCustomBuildTool"/>
 			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="$(OutDir)/XmlRpc.lib"/>
+				Name="VCLinkerTool"
+				AdditionalDependencies="ws2_32.lib"
+				OutputFile="$(OutDir)/xmlrpcd.dll"
+				LinkIncremental="2"
+				GenerateDebugInformation="TRUE"
+				ProgramDatabaseFile="$(OutDir)/xmlrpc.pdb"
+				SubSystem="1"
+				BaseAddress="0x06ab0000"
+				ImportLibrary="$(OutDir)/xmlrpc.lib"
+				TargetMachine="1"/>
 			<Tool
 				Name="VCMIDLTool"/>
@@ -52,4 +60,6 @@
 				Name="VCXMLDataGeneratorTool"/>
 			<Tool
+				Name="VCWebDeploymentTool"/>
+			<Tool
 				Name="VCManagedWrapperGeneratorTool"/>
 			<Tool
@@ -60,5 +70,5 @@
 			OutputDirectory="Release"
 			IntermediateDirectory="Release"
-			ConfigurationType="4"
+			ConfigurationType="2"
 			CharacterSet="2">
 			<Tool
@@ -67,5 +77,5 @@
 				InlineFunctionExpansion="1"
 				OmitFramePointers="TRUE"
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;TCXMLRPC_EXPORTS"
+				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;XMLRPC_EXPORTS;XMLRPC_DLLDECL=__declspec(dllexport)"
 				StringPooling="TRUE"
 				RuntimeLibrary="2"
Index: src/XmlRpc.h
===================================================================
RCS file: /home/cvsroot/3rdparty/xmlrpc++/src/XmlRpc.h,v
retrieving revision 1.1.3.1
diff -b -u -2 -r1.1.3.1 XmlRpc.h
--- src/XmlRpc.h	30 Nov 2004 15:37:01 -0000	1.1.3.1
+++ src/XmlRpc.h	12 May 2005 12:42:00 -0000
@@ -26,4 +26,17 @@
 #endif
 
+//! @def XMLRPC_DLLDECL
+//  Macro which must be used in public XmlRPC classes declarations for them
+//  to be exported from Win32 DLL build. It's supposed to be defined in the
+//  Win32 projects when building the project itself but needs to be defined
+//  here when we're included from the client code.
+#ifndef XMLRPC_DLLDECL
+    #ifdef _WIN32
+        #define XMLRPC_DLLDECL  __declspec(dllimport)
+    #else
+        #define XMLRPC_DLLDECL
+    #endif
+#endif
+
 #include "XmlRpcClient.h"
 #include "XmlRpcException.h"
@@ -33,9 +46,10 @@
 #include "XmlRpcUtil.h"
 
+
 namespace XmlRpc {
 
 
   //! An interface allowing custom handling of error message reporting.
-  class XmlRpcErrorHandler {
+  class XMLRPC_DLLDECL XmlRpcErrorHandler {
   public:
     //! Returns a pointer to the currently installed error handling object.
@@ -55,5 +69,5 @@
 
   //! An interface allowing custom handling of informational message reporting.
-  class XmlRpcLogHandler {
+  class XMLRPC_DLLDECL XmlRpcLogHandler {
   public:
     //! Returns a pointer to the currently installed message reporting object.
@@ -82,11 +96,11 @@
 
   //! Returns log message verbosity. This is short for XmlRpcLogHandler::getVerbosity()
-  int getVerbosity();
+  XMLRPC_DLLDECL int getVerbosity();
   //! Sets log message verbosity. This is short for XmlRpcLogHandler::setVerbosity(level)
-  void setVerbosity(int level);
+  XMLRPC_DLLDECL void setVerbosity(int level);
 
 
   //! Version identifier
-  extern const char XMLRPC_VERSION[];
+  extern XMLRPC_DLLDECL const char XMLRPC_VERSION[];
 
 } // namespace XmlRpc
Index: src/XmlRpcClient.h
===================================================================
RCS file: /home/cvsroot/3rdparty/xmlrpc++/src/XmlRpcClient.h,v
retrieving revision 1.2
diff -b -u -2 -r1.2 XmlRpcClient.h
--- src/XmlRpcClient.h	26 Dec 2004 16:59:09 -0000	1.2
+++ src/XmlRpcClient.h	12 May 2005 12:42:00 -0000
@@ -20,8 +20,8 @@
 
   // Arguments and results are represented by XmlRpcValues
-  class XmlRpcValue;
+  class XMLRPC_DLLDECL XmlRpcValue;
 
   //! A class to send XML RPC requests to a server and return the results.
-  class XmlRpcClient : public XmlRpcSource {
+  class XMLRPC_DLLDECL XmlRpcClient : public XmlRpcSource {
   public:
     // Static data
Index: src/XmlRpcDispatch.h
===================================================================
RCS file: /home/cvsroot/3rdparty/xmlrpc++/src/XmlRpcDispatch.h,v
retrieving revision 1.3
diff -b -u -2 -r1.3 XmlRpcDispatch.h
--- src/XmlRpcDispatch.h	26 Dec 2004 16:59:09 -0000	1.3
+++ src/XmlRpcDispatch.h	12 May 2005 12:42:00 -0000
@@ -16,9 +16,9 @@
 
   // An RPC source represents a file descriptor to monitor
-  class XmlRpcSource;
+  class XMLRPC_DLLDECL XmlRpcSource;
 
   //! An object which monitors file descriptors for events and performs
   //! callbacks when interesting events happen.
-  class XmlRpcDispatch {
+  class XMLRPC_DLLDECL XmlRpcDispatch {
   public:
     //! Constructor
Index: src/XmlRpcException.h
===================================================================
RCS file: /home/cvsroot/3rdparty/xmlrpc++/src/XmlRpcException.h,v
retrieving revision 1.1.3.1
diff -b -u -2 -r1.1.3.1 XmlRpcException.h
--- src/XmlRpcException.h	30 Nov 2004 15:37:01 -0000	1.1.3.1
+++ src/XmlRpcException.h	12 May 2005 12:42:00 -0000
@@ -19,5 +19,5 @@
   //! If server methods throw this exception, a fault response is returned
   //! to the client.
-  class XmlRpcException {
+  class XMLRPC_DLLDECL XmlRpcException {
   public:
     //! Constructor
Index: src/XmlRpcServer.h
===================================================================
RCS file: /home/cvsroot/3rdparty/xmlrpc++/src/XmlRpcServer.h,v
retrieving revision 1.1.3.1
diff -b -u -2 -r1.1.3.1 XmlRpcServer.h
--- src/XmlRpcServer.h	30 Nov 2004 15:37:01 -0000	1.1.3.1
+++ src/XmlRpcServer.h	12 May 2005 12:42:00 -0000
@@ -21,15 +21,15 @@
 
   // An abstract class supporting XML RPC methods
-  class XmlRpcServerMethod;
+  class XMLRPC_DLLDECL XmlRpcServerMethod;
 
   // Class representing connections to specific clients
-  class XmlRpcServerConnection;
+  class XMLRPC_DLLDECL XmlRpcServerConnection;
 
   // Class representing argument and result values
-  class XmlRpcValue;
+  class XMLRPC_DLLDECL XmlRpcValue;
 
 
   //! A class to handle XML RPC requests
-  class XmlRpcServer : public XmlRpcSource {
+  class XMLRPC_DLLDECL XmlRpcServer : public XmlRpcSource {
   public:
     //! Create a server object.
Index: src/XmlRpcServerConnection.h
===================================================================
RCS file: /home/cvsroot/3rdparty/xmlrpc++/src/XmlRpcServerConnection.h,v
retrieving revision 1.1.3.1
diff -b -u -2 -r1.1.3.1 XmlRpcServerConnection.h
--- src/XmlRpcServerConnection.h	30 Nov 2004 15:37:01 -0000	1.1.3.1
+++ src/XmlRpcServerConnection.h	12 May 2005 12:42:00 -0000
@@ -19,9 +19,9 @@
 
   // The server waits for client connections and provides methods
-  class XmlRpcServer;
-  class XmlRpcServerMethod;
+  class XMLRPC_DLLDECL XmlRpcServer;
+  class XMLRPC_DLLDECL XmlRpcServerMethod;
 
   //! A class to handle XML RPC requests from a particular client
-  class XmlRpcServerConnection : public XmlRpcSource {
+  class XMLRPC_DLLDECL XmlRpcServerConnection : public XmlRpcSource {
   public:
     // Static data
Index: src/XmlRpcServerMethod.h
===================================================================
RCS file: /home/cvsroot/3rdparty/xmlrpc++/src/XmlRpcServerMethod.h,v
retrieving revision 1.1.3.1
diff -b -u -2 -r1.1.3.1 XmlRpcServerMethod.h
--- src/XmlRpcServerMethod.h	30 Nov 2004 15:37:01 -0000	1.1.3.1
+++ src/XmlRpcServerMethod.h	12 May 2005 12:42:00 -0000
@@ -16,11 +16,11 @@
 
   // Representation of a parameter or result value
-  class XmlRpcValue;
+  class XMLRPC_DLLDECL XmlRpcValue;
 
   // The XmlRpcServer processes client requests to call RPCs
-  class XmlRpcServer;
+  class XMLRPC_DLLDECL XmlRpcServer;
 
   //! Abstract class representing a single RPC method
-  class XmlRpcServerMethod {
+  class XMLRPC_DLLDECL XmlRpcServerMethod {
   public:
     //! Constructor
Index: src/XmlRpcSocket.h
===================================================================
RCS file: /home/cvsroot/3rdparty/xmlrpc++/src/XmlRpcSocket.h,v
retrieving revision 1.1.3.1
diff -b -u -2 -r1.1.3.1 XmlRpcSocket.h
--- src/XmlRpcSocket.h	30 Nov 2004 15:37:01 -0000	1.1.3.1
+++ src/XmlRpcSocket.h	12 May 2005 12:42:00 -0000
@@ -15,5 +15,5 @@
 
   //! A platform-independent socket API.
-  class XmlRpcSocket {
+  class XMLRPC_DLLDECL XmlRpcSocket {
   public:
 
Index: src/XmlRpcSource.h
===================================================================
RCS file: /home/cvsroot/3rdparty/xmlrpc++/src/XmlRpcSource.h,v
retrieving revision 1.1.3.1
diff -b -u -2 -r1.1.3.1 XmlRpcSource.h
--- src/XmlRpcSource.h	30 Nov 2004 15:37:01 -0000	1.1.3.1
+++ src/XmlRpcSource.h	12 May 2005 12:42:00 -0000
@@ -12,5 +12,5 @@
 
   //! An RPC source represents a file descriptor to monitor
-  class XmlRpcSource {
+  class XMLRPC_DLLDECL XmlRpcSource {
   public:
     //! Constructor
Index: src/XmlRpcUtil.h
===================================================================
RCS file: /home/cvsroot/3rdparty/xmlrpc++/src/XmlRpcUtil.h,v
retrieving revision 1.1.3.1
diff -b -u -2 -r1.1.3.1 XmlRpcUtil.h
--- src/XmlRpcUtil.h	30 Nov 2004 15:37:01 -0000	1.1.3.1
+++ src/XmlRpcUtil.h	12 May 2005 12:42:00 -0000
@@ -25,5 +25,5 @@
 
   //! Utilities for XML parsing, encoding, and decoding and message handlers.
-  class XmlRpcUtil {
+  class XMLRPC_DLLDECL XmlRpcUtil {
   public:
     // hokey xml parsing
Index: src/XmlRpcValue.h
===================================================================
RCS file: /home/cvsroot/3rdparty/xmlrpc++/src/XmlRpcValue.h,v
retrieving revision 1.1.3.1
diff -b -u -2 -r1.1.3.1 XmlRpcValue.h
--- src/XmlRpcValue.h	30 Nov 2004 15:37:01 -0000	1.1.3.1
+++ src/XmlRpcValue.h	12 May 2005 12:42:00 -0000
@@ -20,5 +20,5 @@
   //! RPC method arguments and results are represented by Values
   //   should probably refcount them...
-  class XmlRpcValue {
+  class XMLRPC_DLLDECL XmlRpcValue {
   public:
 
@@ -184,5 +184,5 @@
 
 
-std::ostream& operator<<(std::ostream& os, XmlRpc::XmlRpcValue& v);
+XMLRPC_DLLDECL std::ostream& operator<<(std::ostream& os, XmlRpc::XmlRpcValue& v);
 
 
