59 lines
1.3 KiB
C++
59 lines
1.3 KiB
C++
#ifndef _NNTP_RASINTERFACE_HPP_
|
|
#define _NNTP_RASINTERFACE_HPP_
|
|
#ifndef _RASAPI_RASAPI_HPP_
|
|
#include <rasapi/rasapi.hpp>
|
|
#endif
|
|
#ifndef _RASAPI_REMOTEACCESSSERVER_HPP_
|
|
#include <rasapi/rassrv.hpp>
|
|
#endif
|
|
#ifndef _RASAPI_RASDIALPARAMS_HPP_
|
|
#include <rasapi/dialparm.hpp>
|
|
#endif
|
|
|
|
class RasInterface
|
|
{
|
|
public:
|
|
RasInterface(void);
|
|
virtual ~RasInterface();
|
|
WORD login(const String &userName,const String &password,const String &entryName);
|
|
WORD enumEntries(Block<RasEntryName> &rasEntryNames);
|
|
WORD isOkay(void)const;
|
|
private:
|
|
WORD locateEntry(Block<RasEntryName> &rasEntryNames,RasEntryName &rasEntryName);
|
|
|
|
RemoteAccessServer mRemoteServerInterface;
|
|
RasConnectionStatus mRasConnectionStatus;
|
|
RasConnectionState mRasConnectionState;
|
|
HRASCONN mhRasConn;
|
|
};
|
|
|
|
inline
|
|
RasInterface::RasInterface(void)
|
|
: mhRasConn(0)
|
|
{
|
|
}
|
|
|
|
inline
|
|
RasInterface::~RasInterface()
|
|
{
|
|
if(!mhRasConn)return;
|
|
mRemoteServerInterface.rasHangUp(mhRasConn);
|
|
mhRasConn=0;
|
|
}
|
|
|
|
inline
|
|
WORD RasInterface::enumEntries(Block<RasEntryName> &rasEntryNames)
|
|
{
|
|
rasEntryNames.remove();
|
|
if(!mRemoteServerInterface.isOkay())return FALSE;
|
|
mRemoteServerInterface.rasEnumEntries(rasEntryNames);
|
|
return (rasEntryNames.size()?TRUE:FALSE);
|
|
}
|
|
|
|
inline
|
|
WORD RasInterface::isOkay(void)const
|
|
{
|
|
return mRemoteServerInterface.isOkay();
|
|
}
|
|
#endif
|