/* Autor: Leandro Bernsmuller
Gerencia o dialogo que pede o endereco do servidor conecxao por sockets.
Usado para tutor. */



#include <windows.h>
#include <windowsx.h>
#include "..\princip\defs.h"
#include "dlgsosrv.h"



// faz comunicacao entre caixa de dialogo e programa:
char
   szENDERECO_SERV [ 300 ];



/* Usado para tratar mensagens na caixa de dialogo
**********************************************************/
BOOL FAR PASCAL ProcDlgSockServ ( HWND hWnd, UINT uMsg, 
                                  WPARAM wParam, LPARAM lParam )
{
  switch ( uMsg ) {

    // botao clicado
    case WM_COMMAND:
      {

         // qual botao
         switch ( LOWORD ( wParam ) ) {

            case IDCANCEL:
               ::EndDialog ( hWnd, FALSE );
               break;

            case IDOK:
               GetDlgItemText ( hWnd, IDC_EDIT1, szENDERECO_SERV, 299 );
               ::EndDialog ( hWnd, TRUE );
               break;
         }
      }
      break;

    case WM_INITDIALOG:
      {
         //SetDlgItemText ( hWnd, IDC_EDIT, STR_PORTA_DEFAULT );
         return TRUE;
      }
      break;
  }

  return FALSE;
}
         


/* Faz o dialogo
hInstancia - id desse processo
pszEnderecoServidorSock - string que aponta onde o endereco
deve ser escrito.
retorna: TRUE - endereco fornecido / FALSE - cancela
**********************************************************/
BOOL FazDialogo_EnderecoServidorSock ( HINSTANCE hInstancia, char* pszEnderecoServidorSock )
{
   szENDERECO_SERV [ 0 ] = 0;
   
   if ( ::DialogBox ( hInstancia,
                      MAKEINTRESOURCE ( IDD_DIALOG8 ),
                      NULL,
                     (DLGPROC) ProcDlgSockServ ) ) {

      strcpy ( pszEnderecoServidorSock, szENDERECO_SERV );
      return TRUE;
   }

   return FALSE;
}
