]> git.saurik.com Git - wxWidgets.git/commitdiff
* some C++ness correction in wxStream.
authorGuilhem Lavaux <lavaux@easynet.fr>
Tue, 8 Sep 1998 17:19:16 +0000 (17:19 +0000)
committerGuilhem Lavaux <lavaux@easynet.fr>
Tue, 8 Sep 1998 17:19:16 +0000 (17:19 +0000)
* added support for DLL on Borland32
* fixed export bugs
* fixed a portability problem in socket.cpp
* added a missing function in utilsexc.cpp

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@715 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

12 files changed:
include/wx/datstrm.h
include/wx/debug.h
include/wx/fstream.h
include/wx/intl.h
include/wx/mstream.h
include/wx/stream.h
src/common/socket.cpp
src/makeb32.env
src/msw/makefile.b32
src/msw/ole/oleutils.cpp
src/msw/utilsexc.cpp
src/msw/wxb32.def [new file with mode: 0644]

index 230d5253b6b59b3be267edfcb73425ec293106a0..66320d1a64e8456a29a27361fa6fcbce4d528845 100644 (file)
@@ -18,7 +18,7 @@
 
 #include <wx/stream.h>
 
-class wxDataInputStream: virtual public wxFilterInputStream {
+class wxDataInputStream: public virtual wxFilterInputStream {
 public:
   wxDataInputStream(wxInputStream& s);
   virtual ~wxDataInputStream();
@@ -31,7 +31,7 @@ public:
   wxString ReadString();
 };
 
-class wxDataOutputStream: virtual public wxFilterOutputStream {
+class wxDataOutputStream: public virtual wxFilterOutputStream {
  public:
   wxDataOutputStream(wxOutputStream& s);
   virtual ~wxDataOutputStream();
index 26ed65b3149f184bf728ab8da92f95b467b8d0c5..816caa0324f31c8335aef14c2fccf02072a7d57e 100644 (file)
@@ -51,7 +51,7 @@
   @param   szFile and nLine - file name and line number of the ASSERT
            szMsg            - optional message explaining the reason
   */
-  void wxOnAssert(const char *szFile, int nLine, const char *szMsg = (const char *) NULL);
+  void WXDLLEXPORT wxOnAssert(const char *szFile, int nLine, const char *szMsg = (const char *) NULL);
 
   /// generic assert macro
   #define   wxASSERT(cond)   if ( !(cond) ) wxOnAssert(__FILE__, __LINE__)
index dbe1abb1f8b8046921ed57532a79250deda4ef1e..0c8dd722961e504fae8ce7206b1d41bd3b0e4b3e 100644 (file)
@@ -22,8 +22,8 @@ protected:
   bool m_file_destroy;
 };
 
-class wxFileInputStream: virtual public wxInputStream,
-                         virtual public wxFileStreamBase {
+class wxFileInputStream: public virtual wxInputStream,
+                         public virtual wxFileStreamBase {
  public:
   wxFileInputStream(const wxString& fileName);
   virtual ~wxFileInputStream();
@@ -40,8 +40,8 @@ class wxFileInputStream: virtual public wxInputStream,
   off_t DoTellInput() const;
 };
 
-class wxFileOutputStream: virtual public wxOutputStream,
-                          virtual public wxFileStreamBase {
+class wxFileOutputStream: public virtual wxOutputStream,
+                          public virtual wxFileStreamBase {
  public:
   wxFileOutputStream(const wxString& fileName);
   virtual ~wxFileOutputStream();
index 5eba6c18403c896c4f270396e3cb12779e08b854..193c4cc0e27d7ade4c46ee6bcfb466d4a01a8391 100644 (file)
@@ -115,7 +115,7 @@ private:
 // ----------------------------------------------------------------------------
 // global functions
 // ----------------------------------------------------------------------------
-WXDLLEXPORT wxLocale* wxGetLocale();
+wxLocale* WXDLLEXPORT wxGetLocale();
 
 // get the translation of the string in the current locale  
 inline WXDLLEXPORT const char *wxGetTranslation(const char *sz)
index a07ce80cebf38307f973c1148f7d7a5c7d022145..2214aa58e55ed2f5a4206aa8dd909c1a12ec791f 100644 (file)
@@ -27,7 +27,7 @@ class wxMemoryStreamBase {
   int m_iolimit;
 };
 
-class wxMemoryInputStream: virtual public wxMemoryStreamBase, public wxInputStream {
+class wxMemoryInputStream: public virtual wxMemoryStreamBase, public wxInputStream {
  public:
   wxMemoryInputStream(const char *data, size_t length);
   virtual ~wxMemoryInputStream();
@@ -44,7 +44,7 @@ class wxMemoryInputStream: virtual public wxMemoryStreamBase, public wxInputStre
   off_t m_position_i;
 };
 
-class wxMemoryOutputStream: virtual public wxMemoryStreamBase, public wxOutputStream {
+class wxMemoryOutputStream: public virtual wxMemoryStreamBase, public wxOutputStream {
  public:
   wxMemoryOutputStream(char *data = NULL, size_t length = 0);
   virtual ~wxMemoryOutputStream();
index 95422e07dd4ba0caa4a532fe18f6090307fa0506..b467990588641fa6b0c43d9b558a80328a4b7299 100644 (file)
@@ -183,8 +183,8 @@ class WXDLLEXPORT wxOutputStream {
   wxStreamBuffer *m_o_streambuf;
 };
 
-class wxStream: virtual public wxInputStream,
-               virtual public wxOutputStream
+class wxStream: public virtual wxInputStream,
+               public virtual wxOutputStream
 {
  public:
   wxStream();
@@ -194,7 +194,7 @@ class wxStream: virtual public wxInputStream,
 // "Filter" streams
 // ---------------------------------------------------------------------------
 
-class WXDLLEXPORT wxFilterInputStream: virtual public wxInputStream {
+class WXDLLEXPORT wxFilterInputStream: public virtual wxInputStream {
  public:
   wxFilterInputStream();
   wxFilterInputStream(wxInputStream& stream);
@@ -215,7 +215,7 @@ class WXDLLEXPORT wxFilterInputStream: virtual public wxInputStream {
   wxInputStream *m_parent_i_stream;
 };
 
-class WXDLLEXPORT wxFilterOutputStream: virtual public wxOutputStream {
+class WXDLLEXPORT wxFilterOutputStream: public virtual wxOutputStream {
  public:
   wxFilterOutputStream();
   wxFilterOutputStream(wxOutputStream& stream);
@@ -237,8 +237,8 @@ class WXDLLEXPORT wxFilterOutputStream: virtual public wxOutputStream {
 };
 
 class WXDLLEXPORT wxFilterStream: public wxStream,
-                                 virtual public wxFilterInputStream,
-                                 virtual public wxFilterOutputStream {
+                                 public virtual wxFilterInputStream,
+                                 public virtual wxFilterOutputStream {
  public:
   wxFilterStream(wxStream& stream);
   wxFilterStream();
index 5ab0e09d964c0be7e5b70edaec0c8256974a118f..9375df80d8e75a00de3f9a80016be392cb65f571 100644 (file)
@@ -1022,10 +1022,11 @@ void wxSocketBase::WantSpeedBuffer(char *buffer, size_t nbytes,
   switch (evt) {
   case EVT_PEEK:
   case EVT_READ:
-    ret = read(m_fd, buffer, nbytes);
+    ret = recv(m_fd, buffer, nbytes,
+               (evt == EVT_PEEK) ? MSG_PEEK : 0);
     break;
   case EVT_WRITE:
-    ret = write(m_fd, buffer, nbytes);
+    ret = send(m_fd, buffer, nbytes, 0);
     break;
   }
   if (ret < 0) {
index 57e62fa08104eca3e13864e7d571db212701c07d..8e318d05368b0c62870840081e8b2dba0e6cd4c9 100644 (file)
@@ -17,9 +17,44 @@ DEBUG_FLAGS= -v -DWXDEBUG=1 -D__WXDEBUG__ -DUSE_DEFINE
 OPT = -O2
 DEBUG_FLAGS = -DUSE_DEFINE
 !endif
-CPPFLAGS=$(DEBUG_FLAGS) $(OPT) @$(CFG)
 
-LIBTARGET= $(WXLIBDIR)\wx32.lib
+!ifndef DLL
+DLL=0
+!endif
+
+# Target             WXMAKINGDLL       WXUSINGDLL     WXBUILDDLL
+# wxWin DLL              1                 0               1
+# wxWin STATIC           0                 0               0
+# App use wxWin DLL      0                 1               0
+# DLL use wxWin DLL      0                 1               1
+# DLL use wxWin STATIC   0                 0               1
+#
+
+!if "$(WXMAKINGDLL)" == "1"
+DLL_FLAGS= -DWXMAKINGDLL=1 -D_WINDLL
+WXLIB= $(WXLIBDIR)\wx200.lib
+
+!else
+
+LINK_FLAGS= /Tpe /ap /c
+
+!if "$(WXUSINGDLL)" == "1"
+DLL_FLAGS= -DWXUSINGDLL=1
+WXLIB= $(WXLIBDIR)\wx200.lib
+!else
+DLL_FLAGS=
+WXLIB= $(WXLIBDIR)\wx32.lib
+!endif
+
+!endif
+
+!if "$(WXBUILDDLL)" == "1"
+DLL_FLAGS= $(DLL_FLAGS) -D_RTLDLL
+LINK_FLAGS= /Tpd /ap /c
+!endif
+
+CPPFLAGS=$(DLL_FLAGS) @$(CFG)
+
 DUMMY=dummy
 
 SRCSUFF = cpp
index 9e09253b3f27102133b270d2b9feeeb2806192cd..0491be8b28754fb547b8039af7b935db7ac3d54f 100644 (file)
 !endif
 
 WXDIR = $(WXWIN)
+
+# Set all these to 1 if you want to build a dynamic library
+#DLL=1
+#WXMAKINGDLL=1
+#WXBUILDDLL=1
+
 !include $(WXDIR)\src\makeb32.env
 
 # Please set these according to the settings in wx_setup.h, so we can include
@@ -43,8 +49,18 @@ PERIPH_TARGET=xpm $(PERIPH_TARGET)
 PERIPH_CLEAN_TARGET=clean_xpm $(PERIPH_CLEAN_TARGET)
 !endif
 
-LIBTARGET= $(WXLIBDIR)\wx32.lib
+PERIPH_LIBS=$(WXDIR)\lib\zlib.lib $(PERIPH_LIBS)
+PERIPH_TARGET=zlib $(PERIPH_TARGET)
+PERIPH_CLEAN_TARGET=clean_zlib $(PERIPH_CLEAN_TARGET)
+
+!if "$(DLL)" == "0"
 DUMMY=dummy
+!else
+DUMMY=dummydll
+LIBS= cw32 import32 ole2w32
+!endif
+
+LIBTARGET=$(WXLIB)
 
 GENDIR=..\generic
 COMMDIR=..\common
@@ -89,7 +105,6 @@ COMMONOBJS = \
   $(MSWDIR)\memory.obj \
   $(MSWDIR)\module.obj \
   $(MSWDIR)\object.obj \
-  $(MSWDIR)\odbc.obj \
   $(MSWDIR)\postscrp.obj \
   $(MSWDIR)\prntbase.obj \
   $(MSWDIR)\resource.obj \
@@ -112,9 +127,22 @@ COMMONOBJS = \
   $(MSWDIR)\mstream.obj \
   $(MSWDIR)\zstream.obj \
   $(MSWDIR)\datstrm.obj \
+  $(MSWDIR)\sckstrm.obj \
   $(MSWDIR)\extended.obj \
-  $(MSWDIR)\wincmn.obj
-
+  $(MSWDIR)\wincmn.obj \
+  $(MSWDIR)\objstrm.obj \
+  $(MSWDIR)\dynlib.obj \
+  $(MSWDIR)\tokenzr.obj \
+  $(MSWDIR)\socket.obj \
+  $(MSWDIR)\sckaddr.obj \
+  $(MSWDIR)\protocol.obj \
+  $(MSWDIR)\url.obj \
+  $(MSWDIR)\http.obj \
+  $(MSWDIR)\ftp.obj \
+  $(MSWDIR)\sckfile.obj \
+  $(MSWDIR)\sckipc.obj
+
+#  $(MSWDIR)\odbc.obj \
 #  $(MSWDIR)\matrix.obj \
 
 MSWOBJS = \
@@ -200,8 +228,8 @@ MSWOBJS = \
   $(MSWDIR)\window.obj \
   $(MSWDIR)\droptgt.obj \
   $(MSWDIR)\dropsrc.obj \
-  $(MSWDIR)\dataobj.obj \
   $(MSWDIR)\oleutils.obj \
+  $(MSWDIR)\dataobj.obj \
   $(MSWDIR)\uuid.obj
 
 OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
@@ -212,12 +240,30 @@ wx:    $(CFG) $(DUMMY).obj $(OBJECTS) $(PERIPH_TARGET) $(LIBTARGET)
 
 all:   all_libs all_execs
 
+!if "$(DLL)" == "0"
+
 $(LIBTARGET): $(DUMMY).obj $(OBJECTS) $(BASEOBJECTS)
-       erase $(LIBTARGET)
+        erase $(LIBTARGET)
        tlib $(LIBTARGET) /P512 @&&!
 -+$(OBJECTS:.obj =.obj -+) -+$(BASEOBJECTS:.obj =.obj -+) -+$(PERIPH_LIBS:.lib =.lib -+)
 !
 
+!else
+
+$(LIBTARGET): $(DUMMY).obj $(OBJECTS) $(BASEOBJECTS)
+       erase $(LIBTARGET)
+       erase $(WXLIBDIR)\wx.dll
+        tlink32 $(LINK_FLAGS) /v @&&!
+c0d32.obj $(OBJECTS)
+$(WXLIBDIR)\wx
+nul
+$(PERIPH_LIBS) $(LIBS)
+wxb32
+!
+        implib -c $(LIBTARGET) $(WXLIBDIR)\wx.dll
+
+!endif
+
 dummy.obj: dummy.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h
 dummydll.obj: dummydll.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h
 
@@ -416,6 +462,8 @@ $(MSWDIR)\docmdi.obj:     $(COMMDIR)\docmdi.$(SRCSUFF)
 
 $(MSWDIR)\dynarray.obj:     $(COMMDIR)\dynarray.$(SRCSUFF)
 
+$(MSWDIR)\dynlib.obj:   $(COMMDIR)\dynlib.$(SRCSUFF)
+
 $(MSWDIR)\event.obj:     $(COMMDIR)\event.$(SRCSUFF)
 
 $(MSWDIR)\file.obj:     $(COMMDIR)\file.$(SRCSUFF)
@@ -482,6 +530,8 @@ $(MSWDIR)\time.obj:     $(COMMDIR)\time.$(SRCSUFF)
 
 $(MSWDIR)\datstrm.obj: $(COMMDIR)\datstrm.$(SRCSUFF)
 
+$(MSWDIR)\sckstrm.obj:  $(COMMDIR)\sckstrm.$(SRCSUFF)
+
 $(MSWDIR)\mstream.obj: $(COMMDIR)\mstream.$(SRCSUFF)
 
 $(MSWDIR)\zstream.obj: $(COMMDIR)\zstream.$(SRCSUFF)
@@ -490,10 +540,30 @@ $(MSWDIR)\fstream.obj:    $(COMMDIR)\fstream.$(SRCSUFF)
 
 $(MSWDIR)\stream.obj:  $(COMMDIR)\stream.$(SRCSUFF)
 
+$(MSWDIR)\objstrm.obj:  $(COMMDIR)\objstrm.$(SRCSUFF)
+
 $(MSWDIR)\wincmn.obj:  $(COMMDIR)\wincmn.$(SRCSUFF)
 
 $(MSWDIR)\extended.obj:        $(COMMDIR)\extended.c
 
+$(MSWDIR)\tokenzr.obj: $(COMMDIR)\tokenzr.$(SRCSUFF)
+
+$(MSWDIR)\socket.obj:  $(COMMDIR)\socket.$(SRCSUFF)
+
+$(MSWDIR)\sckaddr.obj: $(COMMDIR)\sckaddr.$(SRCSUFF)
+
+$(MSWDIR)\protocol.obj: $(COMMDIR)\protocol.$(SRCSUFF)
+
+$(MSWDIR)\url.obj:     $(COMMDIR)\url.$(SRCSUFF)
+
+$(MSWDIR)\http.obj:    $(COMMDIR)\http.$(SRCSUFF)
+
+$(MSWDIR)\ftp.obj:     $(COMMDIR)\ftp.$(SRCSUFF)
+
+$(MSWDIR)\sckfile.obj: $(COMMDIR)\sckfile.$(SRCSUFF)
+
+$(MSWDIR)\sckipc.obj:  $(COMMDIR)\sckipc.$(SRCSUFF)
+
 ########################################################
 # Generic objects (not always compiled, depending on
 # whether platforms have native implementations)
@@ -561,6 +631,16 @@ wxxpm:     $(CFG)
        make -f makefile.b32 -DCFG=$(CFG) -DFINAL=$(FINAL) -DWXWIN=$(WXDIR) -DDEBUG=$(DEBUG)
        cd $(WXDIR)\src\msw
 
+zlib:   $(CFG)
+        cd $(WXDIR)\src\zlib
+        make -f makefile.b32 lib
+        cd $(WXDIR)\src\msw
+
+clean_zlib:
+        cd $(WXDIR)\src\zlib
+        make -f makefile.b32 clean
+        cd $(WXDIR)\src\msw
+
 $(CFG): makefile.b32
        copy &&!
 -H=$(WXDIR)\src\msw\wx32.csm
index efec456070eb5368882199fdca7b30dfc407cb21..a3499c70255f6fc024c1eb72f44cec012832e324 100644 (file)
@@ -31,7 +31,6 @@
 
 #include  <wx/setup.h>
 
-#if USE_DRAG_AND_DROP
 
 #include  <wx/log.h>
 
@@ -60,6 +59,8 @@ bool IsIidFromList(REFIID riid, const IID *aIids[], size_t nCount)
   return FALSE;
 }
 
+#if USE_DRAG_AND_DROP
+
 // ----------------------------------------------------------------------------
 // Debug support
 // ----------------------------------------------------------------------------
index cfd23a7f25af9625ca0dcd97c48cbb856d32ec29..43e66153a2ab55c093967c3b9dd0183141def425 100644 (file)
@@ -203,3 +203,16 @@ long wxExecute(const wxString& command, bool sync, wxProcess *handler)
   return(instanceID);
 #endif
 }
+
+long wxExecute(char **argv, bool sync, wxProcess *handler)
+{
+  wxString command = "";
+
+  while (*argv != NULL) {
+    command += *argv;
+    command += ' ';
+    argv++;
+  }
+  command.RemoveLast();
+  return wxExecute(command, sync, handler);
+}
diff --git a/src/msw/wxb32.def b/src/msw/wxb32.def
new file mode 100644 (file)
index 0000000..3733ab2
--- /dev/null
@@ -0,0 +1,9 @@
+LIBRARY        WX
+
+DESCRIPTION     'wxWindows DLL'
+
+CODE            EXECUTEREAD MOVEABLE LOADONCALL
+DATA            READWRITE
+
+
+