campo-sirio/servers/odbc/connectu.cpp
guy c4ac448443 Servers
git-svn-id: svn://10.65.10.50/trunk@5855 c028cbd2-c16b-5b4b-a496-9718f37d4682
1998-01-07 10:17:26 +00:00

68 lines
1.3 KiB
C++
Executable File

#include "StdAfx.h"
#include "connect.h"
int CountUser(TConnection& conn, void* pJolly)
{
const CString& user = *(CString*)pJolly;
const TPrassiConnection& c = (TPrassiConnection&)conn;
return user.CompareNoCase(c.User()) == 0;
}
BOOL TPrassiConnection::DoUserLogin(const CString& user,
const CString& pwd,
const CString& app)
{
BOOL ok = FALSE;
m_strUser = "";
int total = Server().ForEachConnection(CountUser, (void *)&user);
if (app == "ba0100")
{
ok = total == 0 && !pwd.IsEmpty();
}
else
{
ok = TRUE;
}
if (ok)
{
m_strUser = user;
m_strApp = app;
}
return ReturnBool(ok);
}
///////////////////////////////////////////////////////////
// BOOL UserLogin(CString user, CString pwd, CString app)
//
// Esegue il login dell'utente user con password opzionale
int f_UserLogin(TConnection& conn, void* pJolly)
{
CStringArray& argv = *(CStringArray*)pJolly;
const int argc = argv.GetSize();
if (argc > 3)
{
TPrassiConnection& c = (TPrassiConnection&)conn;
return c.DoUserLogin(argv[1], argv[2], argv[3]);
}
return FALSE;
}
///////////////////////////////////////////////////////////
// BOOL UserLogout()
int f_UserLogout(TConnection& conn, void* pJolly)
{
return ((TPrassiConnection&)conn).DoUserLogout();
}
BOOL TPrassiConnection::DoUserLogout()
{
ReturnBool(TRUE);
return TRUE;
}