xref: /aosp_15_r20/external/harfbuzz_ng/src/hb-gobject-enums.cc.tmpl (revision 2d1272b857b1f7575e6e246373e1cb218663db8a)
1*2d1272b8SAndroid Build Coastguard Worker/*** BEGIN file-header ***/
2*2d1272b8SAndroid Build Coastguard Worker/*
3*2d1272b8SAndroid Build Coastguard Worker * Copyright (C) 2011  Google, Inc.
4*2d1272b8SAndroid Build Coastguard Worker *
5*2d1272b8SAndroid Build Coastguard Worker *  This is part of HarfBuzz, a text shaping library.
6*2d1272b8SAndroid Build Coastguard Worker *
7*2d1272b8SAndroid Build Coastguard Worker * Permission is hereby granted, without written agreement and without
8*2d1272b8SAndroid Build Coastguard Worker * license or royalty fees, to use, copy, modify, and distribute this
9*2d1272b8SAndroid Build Coastguard Worker * software and its documentation for any purpose, provided that the
10*2d1272b8SAndroid Build Coastguard Worker * above copyright notice and the following two paragraphs appear in
11*2d1272b8SAndroid Build Coastguard Worker * all copies of this software.
12*2d1272b8SAndroid Build Coastguard Worker *
13*2d1272b8SAndroid Build Coastguard Worker * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
14*2d1272b8SAndroid Build Coastguard Worker * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
15*2d1272b8SAndroid Build Coastguard Worker * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
16*2d1272b8SAndroid Build Coastguard Worker * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
17*2d1272b8SAndroid Build Coastguard Worker * DAMAGE.
18*2d1272b8SAndroid Build Coastguard Worker *
19*2d1272b8SAndroid Build Coastguard Worker * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
20*2d1272b8SAndroid Build Coastguard Worker * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
21*2d1272b8SAndroid Build Coastguard Worker * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
22*2d1272b8SAndroid Build Coastguard Worker * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
23*2d1272b8SAndroid Build Coastguard Worker * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
24*2d1272b8SAndroid Build Coastguard Worker *
25*2d1272b8SAndroid Build Coastguard Worker * Google Author(s): Behdad Esfahbod
26*2d1272b8SAndroid Build Coastguard Worker */
27*2d1272b8SAndroid Build Coastguard Worker
28*2d1272b8SAndroid Build Coastguard Worker#include "hb.hh"
29*2d1272b8SAndroid Build Coastguard Worker
30*2d1272b8SAndroid Build Coastguard Worker#ifdef HAVE_GOBJECT
31*2d1272b8SAndroid Build Coastguard Worker
32*2d1272b8SAndroid Build Coastguard Worker/* g++ didn't like older gtype.h gcc-only code path. */
33*2d1272b8SAndroid Build Coastguard Worker#include <glib.h>
34*2d1272b8SAndroid Build Coastguard Worker#if !GLIB_CHECK_VERSION(2,29,16)
35*2d1272b8SAndroid Build Coastguard Worker#undef __GNUC__
36*2d1272b8SAndroid Build Coastguard Worker#undef __GNUC_MINOR__
37*2d1272b8SAndroid Build Coastguard Worker#define __GNUC__ 2
38*2d1272b8SAndroid Build Coastguard Worker#define __GNUC_MINOR__ 6
39*2d1272b8SAndroid Build Coastguard Worker#endif
40*2d1272b8SAndroid Build Coastguard Worker
41*2d1272b8SAndroid Build Coastguard Worker#include "hb-gobject.h"
42*2d1272b8SAndroid Build Coastguard Worker
43*2d1272b8SAndroid Build Coastguard Worker/*** END file-header ***/
44*2d1272b8SAndroid Build Coastguard Worker
45*2d1272b8SAndroid Build Coastguard Worker/*** BEGIN file-production ***/
46*2d1272b8SAndroid Build Coastguard Worker/* enumerations from "@basename@" */
47*2d1272b8SAndroid Build Coastguard Worker/*** END file-production ***/
48*2d1272b8SAndroid Build Coastguard Worker
49*2d1272b8SAndroid Build Coastguard Worker/*** BEGIN file-tail ***/
50*2d1272b8SAndroid Build Coastguard Worker
51*2d1272b8SAndroid Build Coastguard Worker#endif
52*2d1272b8SAndroid Build Coastguard Worker/*** END file-tail ***/
53*2d1272b8SAndroid Build Coastguard Worker
54*2d1272b8SAndroid Build Coastguard Worker/*** BEGIN value-header ***/
55*2d1272b8SAndroid Build Coastguard WorkerGType
56*2d1272b8SAndroid Build Coastguard Worker@enum_name@_get_type ()
57*2d1272b8SAndroid Build Coastguard Worker{
58*2d1272b8SAndroid Build Coastguard Worker  static gsize type_id = 0;
59*2d1272b8SAndroid Build Coastguard Worker
60*2d1272b8SAndroid Build Coastguard Worker  if (g_once_init_enter (&type_id))
61*2d1272b8SAndroid Build Coastguard Worker    {
62*2d1272b8SAndroid Build Coastguard Worker      static const G@Type@Value values[] = {
63*2d1272b8SAndroid Build Coastguard Worker/*** END value-header ***/
64*2d1272b8SAndroid Build Coastguard Worker
65*2d1272b8SAndroid Build Coastguard Worker/*** BEGIN value-production ***/
66*2d1272b8SAndroid Build Coastguard Worker        { @VALUENAME@, "@VALUENAME@", "@valuenick@" },
67*2d1272b8SAndroid Build Coastguard Worker/*** END value-production ***/
68*2d1272b8SAndroid Build Coastguard Worker
69*2d1272b8SAndroid Build Coastguard Worker/*** BEGIN value-tail ***/
70*2d1272b8SAndroid Build Coastguard Worker        { 0, NULL, NULL }
71*2d1272b8SAndroid Build Coastguard Worker      };
72*2d1272b8SAndroid Build Coastguard Worker      GType id =
73*2d1272b8SAndroid Build Coastguard Worker        g_@type@_register_static (g_intern_static_string ("@EnumName@"), values);
74*2d1272b8SAndroid Build Coastguard Worker      g_once_init_leave (&type_id, id);
75*2d1272b8SAndroid Build Coastguard Worker    }
76*2d1272b8SAndroid Build Coastguard Worker
77*2d1272b8SAndroid Build Coastguard Worker  return type_id;
78*2d1272b8SAndroid Build Coastguard Worker}
79*2d1272b8SAndroid Build Coastguard Worker
80*2d1272b8SAndroid Build Coastguard Worker/*** END value-tail ***/
81