40 lines
1.3 KiB
C++
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;
|
|
}
|
|
|
|
|