home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / Vcl / isapiapp.hpp < prev    next >
C/C++ Source or Header  |  2000-02-01  |  5KB  |  139 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) 'ISAPIApp.pas' rev: 5.00
  6.  
  7. #ifndef ISAPIAppHPP
  8. #define ISAPIAppHPP
  9.  
  10. #pragma delphiheader begin
  11. #pragma option push -w-
  12. #pragma option push -Vx
  13. #include <Isapi2.hpp>    // Pascal unit
  14. #include <WebBroker.hpp>    // Pascal unit
  15. #include <HTTPApp.hpp>    // Pascal unit
  16. #include <Classes.hpp>    // Pascal unit
  17. #include <Windows.hpp>    // Pascal unit
  18. #include <SysInit.hpp>    // Pascal unit
  19. #include <System.hpp>    // Pascal unit
  20.  
  21. //-- user supplied -----------------------------------------------------------
  22.  
  23. namespace Isapiapp
  24. {
  25. //-- type declarations -------------------------------------------------------
  26. class DELPHICLASS TISAPIRequest;
  27. class PASCALIMPLEMENTATION TISAPIRequest : public Httpapp::TWebRequest 
  28. {
  29.     typedef Httpapp::TWebRequest inherited;
  30.     
  31. private:
  32.     Isapi2::TEXTENSION_CONTROL_BLOCK *FECB;
  33.     
  34. protected:
  35.     virtual AnsiString __fastcall GetStringVariable(int Index);
  36.     virtual System::TDateTime __fastcall GetDateVariable(int Index);
  37.     virtual int __fastcall GetIntegerVariable(int Index);
  38.     
  39. public:
  40.     __fastcall TISAPIRequest(Isapi2::PEXTENSION_CONTROL_BLOCK AECB);
  41.     virtual AnsiString __fastcall GetFieldByName(const AnsiString Name);
  42.     virtual int __fastcall ReadClient(void *Buffer, int Count);
  43.     virtual AnsiString __fastcall ReadString(int Count);
  44.     virtual AnsiString __fastcall TranslateURI(const AnsiString URI);
  45.     virtual int __fastcall WriteClient(void *Buffer, int Count);
  46.     virtual bool __fastcall WriteString(const AnsiString AString);
  47.     __property Isapi2::PEXTENSION_CONTROL_BLOCK ECB = {read=FECB};
  48. public:
  49.     #pragma option push -w-inl
  50.     /* TWebRequest.Destroy */ inline __fastcall virtual ~TISAPIRequest(void) { }
  51.     #pragma option pop
  52.     
  53. };
  54.  
  55.  
  56. typedef AnsiString ISAPIApp__3[12];
  57.  
  58. class DELPHICLASS TISAPIResponse;
  59. class PASCALIMPLEMENTATION TISAPIResponse : public Httpapp::TWebResponse 
  60. {
  61.     typedef Httpapp::TWebResponse inherited;
  62.     
  63. private:
  64.     int FStatusCode;
  65.     AnsiString FStringVariables[12];
  66.     int FIntegerVariables[1];
  67.     System::TDateTime FDateVariables[3];
  68.     AnsiString FContent;
  69.     bool FSent;
  70.     
  71. protected:
  72.     virtual AnsiString __fastcall GetContent();
  73.     virtual System::TDateTime __fastcall GetDateVariable(int Index);
  74.     virtual int __fastcall GetIntegerVariable(int Index);
  75.     virtual AnsiString __fastcall GetLogMessage();
  76.     virtual int __fastcall GetStatusCode(void);
  77.     virtual AnsiString __fastcall GetStringVariable(int Index);
  78.     virtual void __fastcall SetContent(const AnsiString Value);
  79.     virtual void __fastcall SetDateVariable(int Index, const System::TDateTime Value);
  80.     virtual void __fastcall SetIntegerVariable(int Index, int Value);
  81.     virtual void __fastcall SetLogMessage(const AnsiString Value);
  82.     virtual void __fastcall SetStatusCode(int Value);
  83.     virtual void __fastcall SetStringVariable(int Index, const AnsiString Value);
  84.     
  85. public:
  86.     __fastcall TISAPIResponse(Httpapp::TWebRequest* HTTPRequest);
  87.     virtual void __fastcall SendResponse(void);
  88.     virtual void __fastcall SendRedirect(const AnsiString URI);
  89.     virtual void __fastcall SendStream(Classes::TStream* AStream);
  90.     virtual bool __fastcall Sent(void);
  91. public:
  92.     #pragma option push -w-inl
  93.     /* TWebResponse.Destroy */ inline __fastcall virtual ~TISAPIResponse(void) { }
  94.     #pragma option pop
  95.     
  96. };
  97.  
  98.  
  99. class DELPHICLASS TISAPIApplication;
  100. class PASCALIMPLEMENTATION TISAPIApplication : public Webbroker::TWebApplication 
  101. {
  102.     typedef Webbroker::TWebApplication inherited;
  103.     
  104. private:
  105.     TISAPIRequest* __fastcall NewRequest(Isapi2::TEXTENSION_CONTROL_BLOCK &AECB);
  106.     TISAPIResponse* __fastcall NewResponse(TISAPIRequest* ISAPIRequest);
  107.     
  108. public:
  109.     BOOL __fastcall GetExtensionVersion(Isapi2::HSE_VERSION_INFO &Ver);
  110.     unsigned __fastcall HttpExtensionProc(Isapi2::TEXTENSION_CONTROL_BLOCK &ECB);
  111.     BOOL __fastcall TerminateExtension(unsigned dwFlags);
  112. public:
  113.     #pragma option push -w-inl
  114.     /* TWebApplication.Create */ inline __fastcall virtual TISAPIApplication(Classes::TComponent* AOwner
  115.         ) : Webbroker::TWebApplication(AOwner) { }
  116.     #pragma option pop
  117.     #pragma option push -w-inl
  118.     /* TWebApplication.Destroy */ inline __fastcall virtual ~TISAPIApplication(void) { }
  119.     #pragma option pop
  120.     
  121. };
  122.  
  123.  
  124. //-- var, const, procedure ---------------------------------------------------
  125. extern PACKAGE BOOL __stdcall GetExtensionVersion(Isapi2::HSE_VERSION_INFO &Ver);
  126. extern PACKAGE unsigned __stdcall HttpExtensionProc(Isapi2::TEXTENSION_CONTROL_BLOCK &ECB);
  127. extern PACKAGE BOOL __stdcall TerminateExtension(unsigned dwFlags);
  128.  
  129. }    /* namespace Isapiapp */
  130. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  131. using namespace Isapiapp;
  132. #endif
  133. #pragma option pop    // -w-
  134. #pragma option pop    // -Vx
  135.  
  136. #pragma delphiheader end.
  137. //-- end unit ----------------------------------------------------------------
  138. #endif    // ISAPIApp
  139.