added wxEncodingToCodepage() and implemented it properly (using in32 API instead...
[wxWidgets.git] / samples / sockets / client.cpp
index fb1a153b87a6b5419b5640b070a9612ddd65317e..d99ef0205d6da49cb5df06d33abdca076a6f855c 100644 (file)
@@ -43,7 +43,7 @@
 // --------------------------------------------------------------------------
 
 // the application icon
-#if defined(__WXGTK__) || defined(__WXMOTIF__)
+#if defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXMAC__)
 #  include "mondrian.xpm"
 #endif
 
@@ -210,8 +210,7 @@ MyFrame::MyFrame() : wxFrame((wxFrame *)NULL, -1,
 
   // Make a textctrl for logging
   m_text  = new wxTextCtrl(this, -1,
-                           _("Welcome to wxSocket demo: Client\n"
-                             "Client ready\n"),
+                           _("Welcome to wxSocket demo: Client\nClient ready\n"),
                            wxDefaultPosition, wxDefaultSize,
                            wxTE_MULTILINE | wxTE_READONLY);
 
@@ -245,8 +244,7 @@ void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
 
 void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
 {
-  wxMessageBox(_("wxSocket demo: Client\n"
-                 "(c) 1999 Guillermo Rodriguez Garcia\n"),
+  wxMessageBox(_("wxSocket demo: Client\n(c) 1999 Guillermo Rodriguez Garcia\n"),
                _("About Client"),
                wxOK | wxICON_INFORMATION, this);
 }
@@ -334,8 +332,8 @@ void MyFrame::OnOpenConnection(wxCommandEvent& WXUNUSED(event))
 
 void MyFrame::OnTest1(wxCommandEvent& WXUNUSED(event))
 {
-  const char *buf1;
-  char       *buf2;
+  const wxChar *buf1;
+  wxChar       *buf2;
   unsigned char len;
 
   // Disable socket menu entries (exception: Close Session)
@@ -345,7 +343,7 @@ void MyFrame::OnTest1(wxCommandEvent& WXUNUSED(event))
   m_text->AppendText(_("\n=== Test 1 begins ===\n"));
 
   // Tell the server which test we are running
-  char c = 0xBE;
+  unsigned char c = 0xBE;
   m_sock->Write(&c, 1);
 
   // Send some data and read it back. We know the size of the
@@ -363,11 +361,11 @@ void MyFrame::OnTest1(wxCommandEvent& WXUNUSED(event))
   m_sock->SetFlags(wxSOCKET_WAITALL);
 
   buf1 = _("Test string (less than 256 chars!)");
-  len  = wxStrlen(buf1) + 1;
-  buf2 = new char[len];
+  len  = (wxStrlen(buf1) + 1) * sizeof(wxChar);
+  buf2 = new wxChar[wxStrlen(buf1) + 1];
 
   m_text->AppendText(_("Sending a test buffer to the server ..."));
-  m_sock->Write((char *)&len, 1);
+  m_sock->Write(&len, 1);
   m_sock->Write(buf1, len);
   m_text->AppendText(m_sock->Error() ? _("failed !\n") : _("done\n"));
 
@@ -395,8 +393,8 @@ void MyFrame::OnTest1(wxCommandEvent& WXUNUSED(event))
 
 void MyFrame::OnTest2(wxCommandEvent& WXUNUSED(event))
 {
-  char *msg1;
-  char *msg2;
+  const wxChar *msg1;
+  wxChar *msg2;
   size_t len;
 
   // Disable socket menu entries (exception: Close Session)
@@ -406,7 +404,7 @@ void MyFrame::OnTest2(wxCommandEvent& WXUNUSED(event))
   m_text->AppendText(_("\n=== Test 2 begins ===\n"));
 
   // Tell the server which test we are running
-  char c = 0xCE;
+  unsigned char c = 0xCE;
   m_sock->Write(&c, 1);
 
   // Here we use ReadMsg and WriteMsg to send messages with
@@ -423,9 +421,9 @@ void MyFrame::OnTest2(wxCommandEvent& WXUNUSED(event))
     _("Test 2 ..."),
     _("Yes I like wxWindows!"));
 
-  msg1 = (char *)s.c_str();
-  len  = wxStrlen(msg1) + 1;
-  msg2 = new char[len];
+  msg1 = s.c_str();
+  len  = (wxStrlen(msg1) + 1) * sizeof(wxChar);
+  msg2 = new wxChar[wxStrlen(msg1) + 1];
 
   m_text->AppendText(_("Sending the string with WriteMsg ..."));
   m_sock->WriteMsg(msg1, len);
@@ -475,7 +473,7 @@ void MyFrame::OnTest3(wxCommandEvent& WXUNUSED(event))
   m_text->AppendText(_("\n=== Test 3 begins ===\n"));
 
   // Tell the server which test we are running
-  char c = 0xDE;
+  unsigned char c = 0xDE;
   m_sock->Write(&c, 1);
 
   // This test also is similar to the first one but it sends a
@@ -494,7 +492,7 @@ void MyFrame::OnTest3(wxCommandEvent& WXUNUSED(event))
     buf1[i] = (char)(i % 256);
 
   m_text->AppendText(_("Sending a large buffer (32K) to the server ..."));
-  m_sock->Write((char *)&len, 1);
+  m_sock->Write(&len, 1);
   m_sock->Write(buf1, len * 1024);
   m_text->AppendText(m_sock->Error() ? _("failed !\n") : _("done\n"));
 
@@ -528,7 +526,7 @@ void MyFrame::OnCloseConnection(wxCommandEvent& WXUNUSED(event))
 
 void MyFrame::OnDatagram(wxCommandEvent& WXUNUSED(event))
 {
-  m_text->AppendText(_("=== Datagram test begins ===\n"));
+  m_text->AppendText(_("\n=== Datagram test begins ===\n"));
   m_text->AppendText(_("Sorry, not implemented\n"));
   m_text->AppendText(_("=== Datagram test ends ===\n"));
 }
@@ -542,7 +540,7 @@ void MyFrame::OnTestURL(wxCommandEvent& WXUNUSED(event))
   m_text->AppendText(_("\n=== URL test begins ===\n"));
   wxString urlname = wxGetTextFromUser(_("Enter an URL to get"),
                                        _("URL:"),
-                                       _("http://localhost"));
+                                       _T("http://localhost"));
 
   // Parse the URL
   wxURL url(urlname);
@@ -566,9 +564,7 @@ void MyFrame::OnTestURL(wxCommandEvent& WXUNUSED(event))
 
   // Print the contents type and file size
   wxString s;
-  s.Printf(_("Contents type: %s\n"
-             "File size: %i\n"
-             "Starting to download...\n"),
+  s.Printf(_("Contents type: %s\nFile size: %i\nStarting to download...\n"),
              url.GetProtocol().GetContentType().c_str(),
              data->GetSize());
   m_text->AppendText(s);
@@ -595,7 +591,7 @@ void MyFrame::OnSocketEvent(wxSocketEvent& event)
 {
   wxString s = _("OnSocketEvent: ");
 
-  switch(event.SocketEvent())
+  switch(event.GetSocketEvent())
   {
     case wxSOCKET_INPUT      : s.Append(_("wxSOCKET_INPUT\n")); break;
     case wxSOCKET_LOST       : s.Append(_("wxSOCKET_LOST\n")); break;