(root)/
gettext-0.22.4/
libtextstyle/
lib/
libcroco/
cr-parser.h
       1  /* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */
       2  
       3  /* libcroco - Library for parsing and applying CSS
       4   * Copyright (C) 2006-2019 Free Software Foundation, Inc.
       5   *
       6   * This file is not part of the GNU gettext program, but is used with
       7   * GNU gettext.
       8   *
       9   * The original copyright notice is as follows:
      10   */
      11  
      12  /*
      13   * This file is part of The Croco Library
      14   *
      15   * Copyright (C) 2003-2004 Dodji Seketeli.  All Rights Reserved.
      16   *
      17   * This program is free software; you can redistribute it and/or
      18   * modify it under the terms of version 2.1 of the GNU Lesser General Public
      19   * License as published by the Free Software Foundation.
      20   *
      21   * This program is distributed in the hope that it will be useful,
      22   * but WITHOUT ANY WARRANTY; without even the implied warranty of
      23   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      24   * GNU General Public License for more details.
      25   *
      26   * You should have received a copy of the GNU Lesser General Public License
      27   * along with this program; if not, write to the Free Software
      28   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
      29   * USA
      30   *
      31   * Author: Dodji Seketeli
      32   */
      33  
      34  #ifndef __CR_PARSER_H__
      35  #define  __CR_PARSER_H__
      36  
      37  #include <glib.h>
      38  #include "cr-input.h"
      39  #include "cr-tknzr.h"
      40  #include "cr-utils.h"
      41  #include "cr-doc-handler.h"
      42  
      43  G_BEGIN_DECLS
      44  
      45  /**
      46   *@file
      47   *The declaration file
      48   *of the #CRParser class.
      49   */
      50  typedef struct _CRParser CRParser ;
      51  typedef struct _CRParserPriv CRParserPriv ;
      52  
      53  
      54  /**
      55   *The implementation of
      56   *the SAC parser.
      57   *The Class is opaque
      58   *and must be manipulated through
      59   *the provided methods.
      60   */
      61  struct _CRParser  {
      62          CRParserPriv *priv ;
      63  } ;
      64  
      65  
      66  CRParser * cr_parser_new (CRTknzr *a_tknzr) ;
      67  
      68  CRParser * cr_parser_new_from_buf (guchar *a_buf, gulong a_len,
      69                          enum CREncoding a_enc, 
      70                          gboolean a_free_buf) ;
      71  
      72  CRParser * cr_parser_new_from_file (const guchar *a_file_uri, 
      73                                      enum CREncoding a_enc) ;
      74  
      75  CRParser * cr_parser_new_from_input (CRInput *a_input) ;
      76  
      77  enum CRStatus cr_parser_set_tknzr (CRParser *a_this, CRTknzr *a_tknzr) ;
      78  
      79  enum CRStatus cr_parser_get_tknzr (CRParser *a_this, CRTknzr **a_tknzr) ;
      80  
      81  enum CRStatus cr_parser_get_parsing_location (CRParser const *a_this, CRParsingLocation *a_loc) ;
      82  
      83  enum CRStatus cr_parser_try_to_skip_spaces_and_comments (CRParser *a_this) ;
      84  
      85  
      86  enum CRStatus cr_parser_set_sac_handler (CRParser *a_this, 
      87                                           CRDocHandler *a_handler) ;
      88  
      89  enum CRStatus cr_parser_get_sac_handler (CRParser *a_this, 
      90                                           CRDocHandler **a_handler) ;
      91  
      92  enum CRStatus cr_parser_set_use_core_grammar (CRParser *a_this,
      93                                                gboolean a_use_core_grammar) ;
      94  enum CRStatus cr_parser_get_use_core_grammar (CRParser const *a_this,
      95                                                gboolean *a_use_core_grammar) ;
      96  
      97  enum CRStatus cr_parser_parse (CRParser *a_this) ;
      98          
      99  enum CRStatus cr_parser_parse_file (CRParser *a_this, 
     100                                      const guchar *a_file_uri, 
     101                                      enum CREncoding a_enc) ;
     102  
     103  enum CRStatus cr_parser_parse_buf (CRParser *a_this, const guchar *a_buf, 
     104                                     gulong a_len, enum CREncoding a_enc) ;
     105  
     106  enum CRStatus cr_parser_set_default_sac_handler (CRParser *a_this) ;
     107  
     108  enum CRStatus cr_parser_parse_term (CRParser *a_this, CRTerm **a_term) ;
     109  
     110  enum CRStatus cr_parser_parse_expr (CRParser *a_this, CRTerm **a_expr) ;
     111  
     112  enum CRStatus cr_parser_parse_prio (CRParser *a_this, CRString **a_prio) ;
     113  
     114  enum CRStatus cr_parser_parse_declaration (CRParser *a_this, CRString **a_property,
     115                                             CRTerm **a_expr, gboolean *a_important) ;
     116  
     117  enum CRStatus cr_parser_parse_statement_core (CRParser *a_this) ;
     118  
     119  enum CRStatus cr_parser_parse_ruleset (CRParser *a_this) ;
     120  
     121  enum CRStatus cr_parser_parse_import (CRParser *a_this, GList ** a_media_list,
     122                                        CRString **a_import_string,
     123                                        CRParsingLocation *a_location) ;
     124  
     125  enum CRStatus cr_parser_parse_media (CRParser *a_this) ;
     126  
     127  enum CRStatus cr_parser_parse_page (CRParser *a_this) ;
     128  
     129  enum CRStatus cr_parser_parse_charset (CRParser *a_this, CRString **a_value,
     130                                         CRParsingLocation *a_charset_sym_location) ;
     131  
     132  enum CRStatus cr_parser_parse_font_face (CRParser *a_this) ;
     133  
     134  void cr_parser_destroy (CRParser *a_this) ;
     135          
     136  G_END_DECLS
     137  
     138  #endif /*__CR_PARSER_H__*/