text: #ifndef _INC_EUDORA
  #define _INC_EUDORA
  
  typedef struct tagEUDORAACCTINFO
      {
      DWORD_PTR dwCookie;
      char szSection[MAX_PATH];
      char szDisplay[CCHMAX_ACCOUNT_NAME];
      } EUDORAACCTINFO;
  
  // {39981124-C287-11D0-8D8C-00C04FD6202B}
  DEFINE_GUID(CLSID_CEnumEUDORAACCTS, 0x39981124L, 0xC287, 0x11D0, 0x8D, 0x8C, 0x00, 0xC0, 0x4F, 0xD6, 0x20, 0x2B);
  
  class CEnumEUDORAACCTS : public IEnumIMPACCOUNTS
      {
      private:
          ULONG           m_cRef;
          int             m_iInfo;
          UINT            m_cInfo;
          EUDORAACCTINFO  *m_rgInfo;
  
      public:
          CEnumEUDORAACCTS(void);
          ~CEnumEUDORAACCTS(void);
  
          STDMETHODIMP QueryInterface(REFIID, LPVOID *);
          STDMETHODIMP_(ULONG) AddRef(void);
          STDMETHODIMP_(ULONG) Release(void);
          
          HRESULT STDMETHODCALLTYPE Next(IMPACCOUNTINFO *pinfo);
          HRESULT STDMETHODCALLTYPE Reset(void);
  
          HRESULT Init(EUDORAACCTINFO *pinfo, int cinfo);
      };
  
  // {39981125-C287-11D0-8D8C-00C04FD6202B}
  DEFINE_GUID(CLSID_CEudoraAcctImport, 0x39981125L, 0xC287, 0x11D0, 0x8D, 0x8C, 0x00, 0xC0, 0x4F, 0xD6, 0x20, 0x2B);
  
  class CEudoraAcctImport : public IAccountImport, public IAccountImport2
      {
      private:
          ULONG           m_cRef;
          TCHAR           m_szIni[MAX_PATH];
          UINT            m_cInfo;
          EUDORAACCTINFO  *m_rgInfo;
  
          HRESULT     InitAccounts(char *szIni);
          HRESULT     IGetSettings(DWORD_PTR dwCookie, IImnAccount *pAcct, IMPCONNINFO *pInfo);
  
      public:
          CEudoraAcctImport(void);
          ~CEudoraAcctImport(void);
  
          STDMETHODIMP QueryInterface(REFIID, LPVOID *);
          STDMETHODIMP_(ULONG) AddRef(void);
          STDMETHODIMP_(ULONG) Release(void);
          
          HRESULT STDMETHODCALLTYPE AutoDetect(DWORD *pcAcct, DWORD dwReserved);
          HRESULT STDMETHODCALLTYPE EnumerateAccounts(IEnumIMPACCOUNTS **ppEnum);
          HRESULT STDMETHODCALLTYPE GetSettings(DWORD_PTR dwCookie, IImnAccount *pAcct);
  
          HRESULT STDMETHODCALLTYPE InitializeImport(HWND hwnd, DWORD_PTR dwCookie);
          HRESULT STDMETHODCALLTYPE GetNewsGroup(INewsGroupImport *pImp, DWORD dwReserved);
          HRESULT STDMETHODCALLTYPE GetSettings2(DWORD_PTR dwCookie, IImnAccount *pAcct, IMPCONNINFO *pInfo);
      };
  
  #endif // _INC_EUDORA
  