Files
Work/nntp/RASIFACE.CPP
2024-08-07 09:16:27 -04:00

40 lines
1.3 KiB
C++

#include <nntp/rasiface.hpp>
WORD RasInterface::locateEntry(Block<RasEntryName> &rasEntryNames,RasEntryName &rasEntryName)
{
for(short entryIndex=0;entryIndex<rasEntryNames.size();entryIndex++)
if(rasEntryNames[entryIndex].entryName()==rasEntryName.entryName())return TRUE;
return FALSE;
}
WORD RasInterface::login(const String &userName,const String &password,const String &entryName)
{
RasEntryName rasEntryName;
RasDialParams rasDialParams;
Block<RasEntryName> entryNames;
if(!mRemoteServerInterface.isOkay())return FALSE;
mRemoteServerInterface.rasEnumEntries(entryNames);
if(!entryNames.size())return FALSE;
rasEntryName.entryName(entryName);
if(!locateEntry(entryNames,rasEntryName))return FALSE;
rasDialParams.entryName(rasEntryName.entryName());
rasDialParams.phoneNumber("");
rasDialParams.callbackNumber("");
rasDialParams.userName(userName);
rasDialParams.password(password);
rasDialParams.domain("");
if(mRemoteServerInterface.rasDial(0,0,&((tagRASDIALPARAMSA&)rasDialParams),0,0,&mhRasConn))
{
mRemoteServerInterface.rasHangUp(mhRasConn);
mhRasConn=0;
return FALSE;
}
mRemoteServerInterface.rasGetConnectStatus(mhRasConn,mRasConnectionStatus);
mRasConnectionState=mRasConnectionStatus.rasConnectionState();
if(!mRasConnectionState.connected())return FALSE;
return TRUE;
}