home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 3 / AACD03.BIN / AACD / Programming / sofa / archive / exml.lha / exml / compiler_specific / ise / expat_externals.e < prev    next >
Text File  |  1999-04-13  |  4KB  |  178 lines

  1. class
  2.     EXPAT_EXTERNALS
  3. inherit
  4.     EXPAT_EXTERNALS_ABS
  5. feature
  6.     parser_create (encoding: POINTER): POINTER is 
  7.         do
  8.             Result := c_parser_create (encoding)
  9.         end
  10.     parser_free (parser_handle: POINTER) is 
  11.         do
  12.             c_parser_free (parser_handle)
  13.         end
  14.     use_parser_as_handler_arg (parser_handle: POINTER) is 
  15.         do
  16.             c_use_parser_as_handler_arg (parser_handle)
  17.         end
  18.     set_user_data (parser_handle, user_data: POINTER) is 
  19.         do
  20.             c_set_user_data (parser_handle, user_data)
  21.         end
  22.     get_user_data (parser_handle: POINTER): POINTER is 
  23.         do
  24.             Result := c_get_user_data (parser_handle)
  25.         end
  26.     parse (parser_handle, data: POINTER; len, is_final: INTEGER): INTEGER is 
  27.         do
  28.             Result := c_parse (parser_handle, data, len, is_final)
  29.         end
  30.     get_error_code (parser_handle: POINTER): INTEGER is 
  31.         do
  32.             Result := c_get_error_code (parser_handle)
  33.         end
  34.     get_current_line_number (parser_handle: POINTER): INTEGER is 
  35.         do
  36.             Result := c_get_current_line_number (parser_handle)
  37.         end
  38.     get_current_column_number (parser_handle: POINTER): INTEGER is 
  39.         do
  40.             Result := c_get_current_column_number (parser_handle)
  41.         end
  42.     get_current_byte_index (parser_handle: POINTER): INTEGER is 
  43.         do
  44.             Result := c_get_current_byte_index (parser_handle)
  45.         end
  46.     error_string (code: INTEGER): POINTER is 
  47.         do
  48.             Result := c_error_string (code)
  49.         end
  50.     pass_to_defaul_handler (parser_handle: POINTER) is 
  51.         do
  52.             c_pass_to_defaul_handler (parser_handle)
  53.         end
  54.     set_base (parser_handle, base: POINTER) is 
  55.         do
  56.             c_set_base (parser_handle, base)
  57.         end
  58.     get_base (parser_handle: POINTER): POINTER is
  59.         do
  60.             Result := c_get_base (parser_handle)
  61.         end
  62.     
  63.  
  64. feature {NONE} -- externals from EXPAT clib
  65.  
  66.     c_parser_create (encoding: POINTER): POINTER is
  67.             -- creates a parser and returns it's handler
  68.         external
  69.             "C [macro %"exml_parser.h%"]"
  70.         alias
  71.             "EXML_ParserCreate"
  72.         end
  73.     c_parser_free (parser_handle: POINTER) is
  74.             -- frees the parser specified with the handle 'parser'
  75.         external
  76.             "C [macro %"exml_parser.h%"]"
  77.         alias
  78.             "EXML_ParserFree"
  79.         end
  80.  
  81.     c_use_parser_as_handler_arg (parser_handle: POINTER) is
  82.             -- forces parser to use its own handle as first parameter for it's callback functions
  83.         external
  84.             "C [macro %"exml_parser.h%"]"
  85.         alias
  86.             "EXML_UseParserAsHandlerArg"
  87.         end
  88.     c_set_user_data (parser_handle, user_data: POINTER) is
  89.         external
  90.             "C [macro %"exml_parser.h%"]"
  91.         alias
  92.             "EXML_SetUserData"
  93.         end
  94.  
  95.     c_get_user_data (parser_handle: POINTER): POINTER is
  96.         external
  97.             "C [macro %"exml_parser.h%"]"
  98.         alias
  99.             "EXML_GetUserData"
  100.         end
  101.  
  102.     c_parse (parser_handle, data: POINTER; len, is_final: INTEGER): INTEGER is
  103.         external
  104.             "C [macro %"exml_parser.h%"]"
  105.         alias
  106.             "EXML_Parse"
  107.         end
  108.  
  109.     c_get_error_code (parser_handle: POINTER): INTEGER is
  110.         external
  111.             "C [macro %"exml_parser.h%"]"
  112.         alias
  113.             "EXML_GetErrorCode"
  114.         end
  115.  
  116.     c_get_current_line_number (parser_handle: POINTER): INTEGER is
  117.         external
  118.             "C [macro %"exml_parser.h%"]"
  119.         alias
  120.             "EXML_GetCurrentLineNumber"
  121.         end
  122.  
  123.     c_get_current_column_number (parser_handle: POINTER): INTEGER is
  124.         external
  125.             "C [macro %"exml_parser.h%"]"
  126.         alias
  127.             "EXML_GetCurrentColumnNumber"
  128.         end
  129.  
  130.     c_get_current_byte_index (parser_handle: POINTER): INTEGER is
  131.         external
  132.             "C [macro %"exml_parser.h%"]"
  133.         alias
  134.             "EXML_GetCurrentByteIndex"
  135.         end
  136.  
  137.     c_error_string (code: INTEGER): POINTER is
  138.         external
  139.             "C [macro %"exml_parser.h%"]"
  140.         alias
  141.             "EXML_ErrorString"
  142.         end
  143.  
  144.     c_pass_to_defaul_handler (parser_handle: POINTER) is
  145.         external
  146.             "C [macro %"exml_parser.h%"]"
  147.         alias
  148.             "EXML_DefaultCurrent"
  149.         end
  150.  
  151.     c_set_base (parser_handle, base: POINTER) is
  152.         external
  153.             "C [macro %"exml_parser.h%"]"
  154.         alias
  155.             "EXML_SetBase"
  156.         end
  157.  
  158.     c_get_base (parser_handle: POINTER): POINTER is
  159.         external
  160.             "C [macro %"exml_parser.h%"]"
  161.         alias
  162.             "EXML_GetBase"
  163.         end
  164. end
  165. --|-------------------------------------------------------------------------
  166. --| eXML, Eiffel XML Parser Toolkit
  167. --| Copyright (C) 1999  Andreas Leitner
  168. --| See the file forum.txt included in this package for licensing info.
  169. --|
  170. --| Comments, Questions, Additions to this library? please contact:
  171. --|
  172. --| Andreas Leitner
  173. --| Arndtgasse 1/3/5
  174. --| 8010 Graz
  175. --| Austria
  176. --| email: andreas.leitner@teleweb.at
  177. --| web: http://exml.dhs.org
  178. --|-------------------------------------------------------------------------