/*** BEGIN file-header ***/
#include <config.h>

#include "poppler-enums.h"

/*** END file-header ***/

/*** BEGIN file-production ***/
/* enumerations from "@filename@" */
#include "@filename@"
/*** END file-production ***/


/*** BEGIN value-header ***/
GType
@enum_name@_get_type (void)
{
  static volatile gsize g_define_type_id = 0;
 
  if (g_once_init_enter (&g_define_type_id)) {
    static const G@Type@Value values[] = {
/*** END value-header ***/

/*** BEGIN value-production ***/
      { @VALUENAME@, "@VALUENAME@", "@valuenick@" },
/*** END value-production ***/

/*** BEGIN value-tail ***/
      { 0, NULL, NULL }
    };
    GType type =
       g_@type@_register_static (g_intern_static_string ("@EnumName@"), values);
      
    g_once_init_leave (&g_define_type_id, type);
  }
    
  return g_define_type_id;
}

/*** END value-tail ***/

/*** BEGIN file-tail ***/

/*** END file-tail ***/
