home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / Vcl / nmpop3.hpp < prev    next >
C/C++ Source or Header  |  2000-02-01  |  8KB  |  209 lines

  1. // Borland C++ Builder
  2. // Copyright (c) 1995, 1999 by Borland International
  3. // All rights reserved
  4.  
  5. // (DO NOT EDIT: machine generated header) 'NMpop3.pas' rev: 5.00
  6.  
  7. #ifndef NMpop3HPP
  8. #define NMpop3HPP
  9.  
  10. #pragma delphiheader begin
  11. #pragma option push -w-
  12. #pragma option push -Vx
  13. #include <NMConst.hpp>    // Pascal unit
  14. #include <NMExtstr.hpp>    // Pascal unit
  15. #include <NMUUE.hpp>    // Pascal unit
  16. #include <SysUtils.hpp>    // Pascal unit
  17. #include <Psock.hpp>    // Pascal unit
  18. #include <Classes.hpp>    // Pascal unit
  19. #include <SysInit.hpp>    // Pascal unit
  20. #include <System.hpp>    // Pascal unit
  21.  
  22. //-- user supplied -----------------------------------------------------------
  23.  
  24. namespace Nmpop3
  25. {
  26. //-- type declarations -------------------------------------------------------
  27. typedef void __fastcall (__closure *TListEvent)(int Msg, int Size);
  28.  
  29. typedef void __fastcall (__closure *TVarFileNameEvent)(AnsiString &FileName);
  30.  
  31. class DELPHICLASS TMailMessage;
  32. class PASCALIMPLEMENTATION TMailMessage : public Classes::TPersistent 
  33. {
  34.     typedef Classes::TPersistent inherited;
  35.     
  36. private:
  37.     Nmextstr::TExStringList* FHead;
  38.     Classes::TStringList* FRawBody;
  39.     Classes::TStringList* FBody;
  40.     Classes::TStringList* FAttachments;
  41.     Classes::TList* FPartHeaders;
  42.     AnsiString FContentType;
  43.     AnsiString FFrom;
  44.     AnsiString FSubject;
  45.     AnsiString FMessageId;
  46.     
  47. public:
  48.     AnsiString FBoundary;
  49.     __fastcall TMailMessage(void);
  50.     __fastcall virtual ~TMailMessage(void);
  51.     __property AnsiString Subject = {read=FSubject};
  52.     __property AnsiString From = {read=FFrom};
  53.     __property Classes::TStringList* RawBody = {read=FRawBody};
  54.     __property Classes::TStringList* Body = {read=FBody};
  55.     __property Nmextstr::TExStringList* Head = {read=FHead};
  56.     __property AnsiString MessageId = {read=FMessageId, write=FMessageId};
  57.     __property AnsiString ContentType = {read=FContentType, write=FContentType};
  58.     __property Classes::TStringList* Attachments = {read=FAttachments};
  59.     __property Classes::TList* PartHeaders = {read=FPartHeaders};
  60. };
  61.  
  62.  
  63. class DELPHICLASS TSummary;
  64. class PASCALIMPLEMENTATION TSummary : public Classes::TPersistent 
  65. {
  66.     typedef Classes::TPersistent inherited;
  67.     
  68. private:
  69.     AnsiString FSubject;
  70.     AnsiString FFrom;
  71.     int FBytes;
  72.     AnsiString FMessageId;
  73.     Nmextstr::TExStringList* FHeader;
  74.     
  75. __published:
  76.     __fastcall TSummary(void);
  77.     __fastcall virtual ~TSummary(void);
  78.     __property AnsiString Subject = {read=FSubject, write=FSubject};
  79.     __property AnsiString From = {read=FFrom, write=FFrom};
  80.     __property AnsiString MessageId = {read=FMessageId, write=FMessageId};
  81.     __property int Bytes = {read=FBytes, write=FBytes, nodefault};
  82.     __property Nmextstr::TExStringList* Header = {read=FHeader, write=FHeader};
  83. };
  84.  
  85.  
  86. class DELPHICLASS TNMPOP3;
  87. class PASCALIMPLEMENTATION TNMPOP3 : public Psock::TPowersock 
  88. {
  89.     typedef Psock::TPowersock inherited;
  90.     
  91. private:
  92.     TVarFileNameEvent FOnDecodeStart;
  93.     Classes::TNotifyEvent FOnDecodeEnd;
  94.     Nmuue::TNMUUProcessor* NMUUProcessor1;
  95.     AnsiString FAttachFilePath;
  96.     AnsiString FFilename;
  97.     AnsiString FContent_type;
  98.     TSummary* FSummary;
  99.     bool FParse;
  100.     TMailMessage* FMailMessage;
  101.     AnsiString FUserID;
  102.     AnsiString FPassword;
  103.     bool FAbort;
  104.     bool FDeleteOnRead;
  105.     bool FTransactionInProgress;
  106.     int FMailCount;
  107.     int FFirstPart;
  108.     Psock::THandlerEvent FOnAuthenticationNeeded;
  109.     Psock::THandlerEvent FOnAuthenticationFailed;
  110.     Classes::TNotifyEvent FOnReset;
  111.     TListEvent FOnList;
  112.     Classes::TNotifyEvent FOnRetrieveStart;
  113.     Classes::TNotifyEvent FOnRetrieveEnd;
  114.     Classes::TNotifyEvent FOnSuccess;
  115.     Classes::TNotifyEvent FOnFailure;
  116.     Classes::TNotifyEvent FOnConnect;
  117.     int WaitForReset;
  118.     void __fastcall ReadMailParts(void);
  119.     bool __fastcall ReadBody(TMailMessage* &MailMessage);
  120.     void __fastcall ReadHeader(bool Readfile, TMailMessage* &MailMessage);
  121.     void __fastcall AbortResume(System::TObject* Sender);
  122.     void __fastcall SetAttachFilePath(AnsiString Value);
  123.     
  124. public:
  125.     __fastcall virtual TNMPOP3(Classes::TComponent* AOwner);
  126.     __fastcall virtual ~TNMPOP3(void);
  127.     virtual void __fastcall Connect(void);
  128.     virtual void __fastcall Disconnect(void);
  129.     void __fastcall GetMailMessage(int MailNumber);
  130.     void __fastcall GetSummary(int MailNumber);
  131.     void __fastcall DeleteMailMessage(int MailNumber);
  132.     void __fastcall Extract(AnsiString InString, AnsiString &OutString);
  133.     AnsiString __fastcall UniqueID(int MailNumber);
  134.     void __fastcall Reset(void);
  135.     void __fastcall List(void);
  136.     virtual void __fastcall Abort(void);
  137.     __property int MailCount = {read=FMailCount, nodefault};
  138.     __property TSummary* Summary = {read=FSummary};
  139.     __property TMailMessage* MailMessage = {read=FMailMessage};
  140.     __property Classes::TNotifyEvent OnRetriveStart = {read=FOnRetrieveStart, write=FOnRetrieveStart};
  141.     __property Classes::TNotifyEvent OnRetriveEnd = {read=FOnRetrieveEnd, write=FOnRetrieveEnd};
  142.     
  143. __published:
  144.     __property OnConnectionRequired ;
  145.     __property OnPacketRecvd ;
  146.     __property BytesRecvd ;
  147.     __property BytesTotal ;
  148.     __property AnsiString UserID = {read=FUserID, write=FUserID};
  149.     __property bool Parse = {read=FParse, write=FParse, nodefault};
  150.     __property AnsiString Password = {read=FPassword, write=FPassword};
  151.     __property bool DeleteOnRead = {read=FDeleteOnRead, write=FDeleteOnRead, nodefault};
  152.     __property AnsiString AttachFilePath = {read=FAttachFilePath, write=SetAttachFilePath};
  153.     __property Classes::TNotifyEvent OnConnect = {read=FOnConnect, write=FOnConnect};
  154.     __property Psock::THandlerEvent OnAuthenticationNeeded = {read=FOnAuthenticationNeeded, write=FOnAuthenticationNeeded
  155.         };
  156.     __property Psock::THandlerEvent OnAuthenticationFailed = {read=FOnAuthenticationFailed, write=FOnAuthenticationFailed
  157.         };
  158.     __property Classes::TNotifyEvent OnReset = {read=FOnReset, write=FOnReset};
  159.     __property TListEvent OnList = {read=FOnList, write=FOnList};
  160.     __property Classes::TNotifyEvent OnRetrieveStart = {read=FOnRetrieveStart, write=FOnRetrieveStart};
  161.         
  162.     __property Classes::TNotifyEvent OnRetrieveEnd = {read=FOnRetrieveEnd, write=FOnRetrieveEnd};
  163.     __property Classes::TNotifyEvent OnSuccess = {read=FOnSuccess, write=FOnSuccess};
  164.     __property Classes::TNotifyEvent OnFailure = {read=FOnFailure, write=FOnFailure};
  165.     __property TVarFileNameEvent OnDecodeStart = {read=FOnDecodeStart, write=FOnDecodeStart};
  166.     __property Classes::TNotifyEvent OnDecodeEnd = {read=FOnDecodeEnd, write=FOnDecodeEnd};
  167. };
  168.  
  169.  
  170. //-- var, const, procedure ---------------------------------------------------
  171. static const Shortint POP3_PORT = 0x6e;
  172. #define Cons_OK_Resp "+OK"
  173. #define Cons_Err_Resp "-ERR"
  174. #define Cons_Cmd_User "USER "
  175. #define Cons_Cmd_Pass "PASS "
  176. #define Cons_Cmd_Stat "STAT"
  177. #define Cons_Cmd_Quit "QUIT"
  178. #define Cons_Cmd_Top "TOP "
  179. #define Cons_Cmd_List "LIST "
  180. #define Cons_Cmd_Retr "RETR "
  181. #define Cons_Cmd_Dele "DELE "
  182. #define Cons_Cmd_Rset "RSET"
  183. #define Cons_Cmd_Uidl "UIDL "
  184. #define Cons_Head_CSubj "SUBJECT:"
  185. #define Cons_Head_CFrom "FROM:"
  186. #define Cons_Head_CType "CONTENT-TYPE:"
  187. #define Cons_Head_CMid "MESSAGE-ID:"
  188. #define Cons_Head_CBoun "BOUNDARY="
  189. #define Cons_Head_CCTE "CONTENT-TRANSFER-ENCODING"
  190. #define Cons_Head_FileN "FILENAME"
  191. #define Cons_Head_Subj "Subject:"
  192. #define Cons_Head_From "From:"
  193. #define Cons_Head_MId "Message-ID:"
  194. #define Cons_Head_Mult "multipart"
  195. #define Cons_Head_UUEn "X-UUENCODE"
  196. #define Cons_Head_B641 "base64"
  197. #define Cons_Head_B642 "Base64"
  198.  
  199. }    /* namespace Nmpop3 */
  200. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  201. using namespace Nmpop3;
  202. #endif
  203. #pragma option pop    // -w-
  204. #pragma option pop    // -Vx
  205.  
  206. #pragma delphiheader end.
  207. //-- end unit ----------------------------------------------------------------
  208. #endif    // NMpop3
  209.