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