88 lines
1.8 KiB
C++
88 lines
1.8 KiB
C++
#include "stdafx.h"
|
|
#ifdef OLIVIA_COMPILA
|
|
#include "olv.h"
|
|
#include "olv_sock.h"
|
|
|
|
Colv_sock::Colv_sock(COlivia *olv)
|
|
{
|
|
this->olv = olv;
|
|
sprintf_s(ip,32,"0.0.0.0");
|
|
puerto=19933;
|
|
}
|
|
|
|
Colv_sock::~Colv_sock(void)
|
|
{
|
|
}
|
|
//*************************************************************************************
|
|
BOOL Colv_sock::on_datos_recibidos( char *txt )
|
|
{
|
|
int pr;
|
|
char *ch = NULL;
|
|
const int SZMSG = OLV_MAX_TAREA+OLV_MAX_MSG_PROCE+10;
|
|
char msgtar[SZMSG];
|
|
char *secto=NULL;
|
|
BOOL ret=TRUE;
|
|
|
|
if((strstr(txt,OliviaDef::GeneralDef::SockConf)) || (strstr(txt,OliviaDef::GeneralDef::SockConfPlan)) ||
|
|
(strstr(txt,OliviaDef::GeneralDef::SockConfTodo)) && !olv->ya_config)
|
|
{
|
|
if(olv->pon_config(txt))
|
|
{
|
|
ch = strdup(OliviaDef::GeneralDef::SockConfOk);
|
|
}
|
|
else
|
|
{
|
|
ch = strdup(OliviaDef::GeneralDef::SockConfNOk);
|
|
}
|
|
if(!envia(ch))
|
|
{
|
|
ret= FALSE;
|
|
}
|
|
}
|
|
else if(strcmp(txt,OliviaDef::GeneralDef::SockProgr)==0)
|
|
{
|
|
pr=olv->dame_progre();
|
|
if(!envia("%ld", pr))
|
|
{
|
|
ret= FALSE;
|
|
}
|
|
}
|
|
else if(strcmp(txt,OliviaDef::GeneralDef::SockTarea)==0)
|
|
{
|
|
pr=olv->dame_tarea();
|
|
strcpy_s(msgtar, SZMSG,olv->tareas_str[pr]);
|
|
if(strlen(olv->msg_proce)>0)
|
|
strcat_s(msgtar,olv->msg_proce);
|
|
///////////////////
|
|
if(!envia("%s", msgtar ))
|
|
{
|
|
ret= FALSE;
|
|
}
|
|
}
|
|
else if(strcmp(txt,OliviaDef::GeneralDef::SockCanc)==0)
|
|
{
|
|
//Cancela...
|
|
ch = strdup(OliviaDef::GeneralDef::SockCancOk);
|
|
if(!envia(ch))
|
|
ret= FALSE;
|
|
olv->cancela();
|
|
}
|
|
|
|
txt[0]=0;
|
|
|
|
if(ch)
|
|
free(ch);
|
|
if(secto)
|
|
free(secto);
|
|
|
|
return ret;
|
|
}
|
|
//*************************************************************************************
|
|
Cstr_socket_srv* Colv_sock::crea_cliente()
|
|
{
|
|
Colv_sock *s;
|
|
s= new Colv_sock(olv);
|
|
return s;
|
|
}
|
|
//*************************************************************************************
|
|
#endif |