/**
 * \file BGDNet.cpp
 * \brief Содержит функцию DllMain
 */

#include "BGDNetPch.h"

#if defined(BGDNET_USE_MFC) && defined _DEBUG

namespace BGDNet
{

/**
 * \class NetWareServices
 * \brief Класс "Сервис NetWare"
 *
 * Конструктор единственного объекта этого класса инициализирует
 * сервисы NetWare при помощи вызова NWCLXInit. Деструктор вызывает
 * NWCLXTerm.
 */
class NetWareServices
{
public:

  NetWareServices( void );
  /**<
   * \brief Конструктор
   * Вызывает NWCLXInit.
   */

  ~NetWareServices( void );
  /**<
   * \brief Деструктор
   * Вызывает NWCLXTerm.
   */
};

NetWareServices::NetWareServices( void )
{
  NWCLXInit(NULL, NULL);
}

NetWareServices::~NetWareServices( void )
{
  NWCLXTerm(NULL);
}

NetWareServices theNetWareServices;
/**<
 * \brief Единственный объект класса NetWareServices
 */

} // namespace BGDNet

#else

#include <windows.h>

BOOL WINAPI DllMain( HINSTANCE, DWORD fdwReason, LPVOID )
{
  switch (fdwReason)
  {
    case DLL_PROCESS_ATTACH:
      NWCLXInit(NULL, NULL);
      break;
    case DLL_PROCESS_DETACH:
      NWCLXTerm(NULL);
      break;
  }
  return TRUE;
}

#endif
