# This file was automatically generated by SWIG
package mapscript;
require Exporter;
require DynaLoader;
@ISA = qw(Exporter DynaLoader);
package mapscriptc;
bootstrap mapscript;
package mapscript;
@EXPORT = qw( );

# ---------- BASE METHODS -------------

package mapscript;

sub TIEHASH {
    my ($classname,$obj) = @_;
    return bless $obj, $classname;
}

sub CLEAR { }

sub FIRSTKEY { }

sub NEXTKEY { }

sub FETCH {
    my ($self,$field) = @_;
    my $member_func = "swig_${field}_get";
    $self->$member_func();
}

sub STORE {
    my ($self,$field,$newval) = @_;
    my $member_func = "swig_${field}_set";
    $self->$member_func($newval);
}

sub this {
    my $ptr = shift;
    return tied(%$ptr);
}


# ------- FUNCTION WRAPPERS --------

package mapscript;

*msSaveImage = *mapscriptc::msSaveImage;
*msFreeImage = *mapscriptc::msFreeImage;
*msSetup = *mapscriptc::msSetup;
*msCleanup = *mapscriptc::msCleanup;
*msGetErrorObj = *mapscriptc::msGetErrorObj;
*msResetErrorList = *mapscriptc::msResetErrorList;
*msGetVersion = *mapscriptc::msGetVersion;
*msGetErrorString = *mapscriptc::msGetErrorString;
*msConnPoolCloseUnreferenced = *mapscriptc::msConnPoolCloseUnreferenced;
*msIO_resetHandlers = *mapscriptc::msIO_resetHandlers;
*msIO_installStdoutToBuffer = *mapscriptc::msIO_installStdoutToBuffer;
*msIO_installStdinFromBuffer = *mapscriptc::msIO_installStdinFromBuffer;
*msIO_stripStdoutBufferContentType = *mapscriptc::msIO_stripStdoutBufferContentType;
*msIO_getStdoutBufferString = *mapscriptc::msIO_getStdoutBufferString;
*msIO_getStdoutBufferBytes = *mapscriptc::msIO_getStdoutBufferBytes;

############# Class : mapscript::intarray ##############

package mapscript::intarray;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_intarray(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_intarray($self);
        delete $OWNER{$self};
    }
}

*getitem = *mapscriptc::intarray_getitem;
*setitem = *mapscriptc::intarray_setitem;
*cast = *mapscriptc::intarray_cast;
*frompointer = *mapscriptc::intarray_frompointer;
sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::fontSetObj ##############

package mapscript::fontSetObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_filename_get = *mapscriptc::fontSetObj_filename_get;
*swig_filename_set = *mapscriptc::fontSetObj_filename_set;
*swig_numfonts_get = *mapscriptc::fontSetObj_numfonts_get;
*swig_numfonts_set = *mapscriptc::fontSetObj_numfonts_set;
*swig_fonts_get = *mapscriptc::fontSetObj_fonts_get;
*swig_fonts_set = *mapscriptc::fontSetObj_fonts_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_fontSetObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_fontSetObj($self);
        delete $OWNER{$self};
    }
}

sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::outputFormatObj ##############

package mapscript::outputFormatObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_name_get = *mapscriptc::outputFormatObj_name_get;
*swig_name_set = *mapscriptc::outputFormatObj_name_set;
*swig_mimetype_get = *mapscriptc::outputFormatObj_mimetype_get;
*swig_mimetype_set = *mapscriptc::outputFormatObj_mimetype_set;
*swig_driver_get = *mapscriptc::outputFormatObj_driver_get;
*swig_driver_set = *mapscriptc::outputFormatObj_driver_set;
*swig_extension_get = *mapscriptc::outputFormatObj_extension_get;
*swig_extension_set = *mapscriptc::outputFormatObj_extension_set;
*swig_renderer_get = *mapscriptc::outputFormatObj_renderer_get;
*swig_renderer_set = *mapscriptc::outputFormatObj_renderer_set;
*swig_imagemode_get = *mapscriptc::outputFormatObj_imagemode_get;
*swig_imagemode_set = *mapscriptc::outputFormatObj_imagemode_set;
*swig_transparent_get = *mapscriptc::outputFormatObj_transparent_get;
*swig_transparent_set = *mapscriptc::outputFormatObj_transparent_set;
*swig_bands_get = *mapscriptc::outputFormatObj_bands_get;
*swig_bands_set = *mapscriptc::outputFormatObj_bands_set;
*swig_numformatoptions_get = *mapscriptc::outputFormatObj_numformatoptions_get;
*swig_numformatoptions_set = *mapscriptc::outputFormatObj_numformatoptions_set;
*swig_formatoptions_get = *mapscriptc::outputFormatObj_formatoptions_get;
*swig_formatoptions_set = *mapscriptc::outputFormatObj_formatoptions_set;
*swig_refcount_get = *mapscriptc::outputFormatObj_refcount_get;
*swig_refcount_set = *mapscriptc::outputFormatObj_refcount_set;
*swig_inmapfile_get = *mapscriptc::outputFormatObj_inmapfile_get;
*swig_inmapfile_set = *mapscriptc::outputFormatObj_inmapfile_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_outputFormatObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_outputFormatObj($self);
        delete $OWNER{$self};
    }
}

*setExtension = *mapscriptc::outputFormatObj_setExtension;
*setMimetype = *mapscriptc::outputFormatObj_setMimetype;
*setOption = *mapscriptc::outputFormatObj_setOption;
*validate = *mapscriptc::outputFormatObj_validate;
*getOption = *mapscriptc::outputFormatObj_getOption;
sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::queryMapObj ##############

package mapscript::queryMapObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_height_get = *mapscriptc::queryMapObj_height_get;
*swig_height_set = *mapscriptc::queryMapObj_height_set;
*swig_width_get = *mapscriptc::queryMapObj_width_get;
*swig_width_set = *mapscriptc::queryMapObj_width_set;
*swig_status_get = *mapscriptc::queryMapObj_status_get;
*swig_status_set = *mapscriptc::queryMapObj_status_set;
*swig_style_get = *mapscriptc::queryMapObj_style_get;
*swig_style_set = *mapscriptc::queryMapObj_style_set;
*swig_color_get = *mapscriptc::queryMapObj_color_get;
*swig_color_set = *mapscriptc::queryMapObj_color_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_queryMapObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_queryMapObj($self);
        delete $OWNER{$self};
    }
}

sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::labelObj ##############

package mapscript::labelObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_font_get = *mapscriptc::labelObj_font_get;
*swig_font_set = *mapscriptc::labelObj_font_set;
*swig_type_get = *mapscriptc::labelObj_type_get;
*swig_type_set = *mapscriptc::labelObj_type_set;
*swig_color_get = *mapscriptc::labelObj_color_get;
*swig_color_set = *mapscriptc::labelObj_color_set;
*swig_outlinecolor_get = *mapscriptc::labelObj_outlinecolor_get;
*swig_outlinecolor_set = *mapscriptc::labelObj_outlinecolor_set;
*swig_shadowcolor_get = *mapscriptc::labelObj_shadowcolor_get;
*swig_shadowcolor_set = *mapscriptc::labelObj_shadowcolor_set;
*swig_shadowsizex_get = *mapscriptc::labelObj_shadowsizex_get;
*swig_shadowsizex_set = *mapscriptc::labelObj_shadowsizex_set;
*swig_shadowsizey_get = *mapscriptc::labelObj_shadowsizey_get;
*swig_shadowsizey_set = *mapscriptc::labelObj_shadowsizey_set;
*swig_backgroundcolor_get = *mapscriptc::labelObj_backgroundcolor_get;
*swig_backgroundcolor_set = *mapscriptc::labelObj_backgroundcolor_set;
*swig_backgroundshadowcolor_get = *mapscriptc::labelObj_backgroundshadowcolor_get;
*swig_backgroundshadowcolor_set = *mapscriptc::labelObj_backgroundshadowcolor_set;
*swig_backgroundshadowsizex_get = *mapscriptc::labelObj_backgroundshadowsizex_get;
*swig_backgroundshadowsizex_set = *mapscriptc::labelObj_backgroundshadowsizex_set;
*swig_backgroundshadowsizey_get = *mapscriptc::labelObj_backgroundshadowsizey_get;
*swig_backgroundshadowsizey_set = *mapscriptc::labelObj_backgroundshadowsizey_set;
*swig_size_get = *mapscriptc::labelObj_size_get;
*swig_size_set = *mapscriptc::labelObj_size_set;
*swig_minsize_get = *mapscriptc::labelObj_minsize_get;
*swig_minsize_set = *mapscriptc::labelObj_minsize_set;
*swig_maxsize_get = *mapscriptc::labelObj_maxsize_get;
*swig_maxsize_set = *mapscriptc::labelObj_maxsize_set;
*swig_position_get = *mapscriptc::labelObj_position_get;
*swig_position_set = *mapscriptc::labelObj_position_set;
*swig_offsetx_get = *mapscriptc::labelObj_offsetx_get;
*swig_offsetx_set = *mapscriptc::labelObj_offsetx_set;
*swig_offsety_get = *mapscriptc::labelObj_offsety_get;
*swig_offsety_set = *mapscriptc::labelObj_offsety_set;
*swig_angle_get = *mapscriptc::labelObj_angle_get;
*swig_angle_set = *mapscriptc::labelObj_angle_set;
*swig_autoangle_get = *mapscriptc::labelObj_autoangle_get;
*swig_autoangle_set = *mapscriptc::labelObj_autoangle_set;
*swig_autofollow_get = *mapscriptc::labelObj_autofollow_get;
*swig_autofollow_set = *mapscriptc::labelObj_autofollow_set;
*swig_buffer_get = *mapscriptc::labelObj_buffer_get;
*swig_buffer_set = *mapscriptc::labelObj_buffer_set;
*swig_antialias_get = *mapscriptc::labelObj_antialias_get;
*swig_antialias_set = *mapscriptc::labelObj_antialias_set;
*swig_wrap_get = *mapscriptc::labelObj_wrap_get;
*swig_wrap_set = *mapscriptc::labelObj_wrap_set;
*swig_minfeaturesize_get = *mapscriptc::labelObj_minfeaturesize_get;
*swig_minfeaturesize_set = *mapscriptc::labelObj_minfeaturesize_set;
*swig_autominfeaturesize_get = *mapscriptc::labelObj_autominfeaturesize_get;
*swig_autominfeaturesize_set = *mapscriptc::labelObj_autominfeaturesize_set;
*swig_mindistance_get = *mapscriptc::labelObj_mindistance_get;
*swig_mindistance_set = *mapscriptc::labelObj_mindistance_set;
*swig_partials_get = *mapscriptc::labelObj_partials_get;
*swig_partials_set = *mapscriptc::labelObj_partials_set;
*swig_force_get = *mapscriptc::labelObj_force_get;
*swig_force_set = *mapscriptc::labelObj_force_set;
*swig_encoding_get = *mapscriptc::labelObj_encoding_get;
*swig_encoding_set = *mapscriptc::labelObj_encoding_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_labelObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_labelObj($self);
        delete $OWNER{$self};
    }
}

sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::webObj ##############

package mapscript::webObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_log_get = *mapscriptc::webObj_log_get;
*swig_log_set = *mapscriptc::webObj_log_set;
*swig_imagepath_get = *mapscriptc::webObj_imagepath_get;
*swig_imagepath_set = *mapscriptc::webObj_imagepath_set;
*swig_imageurl_get = *mapscriptc::webObj_imageurl_get;
*swig_imageurl_set = *mapscriptc::webObj_imageurl_set;
*swig_map_get = *mapscriptc::webObj_map_get;
*swig_map_set = *mapscriptc::webObj_map_set;
*swig_template_get = *mapscriptc::webObj_template_get;
*swig_template_set = *mapscriptc::webObj_template_set;
*swig_header_get = *mapscriptc::webObj_header_get;
*swig_header_set = *mapscriptc::webObj_header_set;
*swig_footer_get = *mapscriptc::webObj_footer_get;
*swig_footer_set = *mapscriptc::webObj_footer_set;
*swig_empty_get = *mapscriptc::webObj_empty_get;
*swig_empty_set = *mapscriptc::webObj_empty_set;
*swig_error_get = *mapscriptc::webObj_error_get;
*swig_error_set = *mapscriptc::webObj_error_set;
*swig_extent_get = *mapscriptc::webObj_extent_get;
*swig_extent_set = *mapscriptc::webObj_extent_set;
*swig_minscale_get = *mapscriptc::webObj_minscale_get;
*swig_minscale_set = *mapscriptc::webObj_minscale_set;
*swig_maxscale_get = *mapscriptc::webObj_maxscale_get;
*swig_maxscale_set = *mapscriptc::webObj_maxscale_set;
*swig_mintemplate_get = *mapscriptc::webObj_mintemplate_get;
*swig_mintemplate_set = *mapscriptc::webObj_mintemplate_set;
*swig_maxtemplate_get = *mapscriptc::webObj_maxtemplate_get;
*swig_maxtemplate_set = *mapscriptc::webObj_maxtemplate_set;
*swig_queryformat_get = *mapscriptc::webObj_queryformat_get;
*swig_queryformat_set = *mapscriptc::webObj_queryformat_set;
*swig_legendformat_get = *mapscriptc::webObj_legendformat_get;
*swig_legendformat_set = *mapscriptc::webObj_legendformat_set;
*swig_browseformat_get = *mapscriptc::webObj_browseformat_get;
*swig_browseformat_set = *mapscriptc::webObj_browseformat_set;
*swig_metadata_get = *mapscriptc::webObj_metadata_get;
*swig_metadata_set = *mapscriptc::webObj_metadata_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_webObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_webObj($self);
        delete $OWNER{$self};
    }
}

sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::styleObj ##############

package mapscript::styleObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_color_get = *mapscriptc::styleObj_color_get;
*swig_color_set = *mapscriptc::styleObj_color_set;
*swig_backgroundcolor_get = *mapscriptc::styleObj_backgroundcolor_get;
*swig_backgroundcolor_set = *mapscriptc::styleObj_backgroundcolor_set;
*swig_outlinecolor_get = *mapscriptc::styleObj_outlinecolor_get;
*swig_outlinecolor_set = *mapscriptc::styleObj_outlinecolor_set;
*swig_mincolor_get = *mapscriptc::styleObj_mincolor_get;
*swig_mincolor_set = *mapscriptc::styleObj_mincolor_set;
*swig_maxcolor_get = *mapscriptc::styleObj_maxcolor_get;
*swig_maxcolor_set = *mapscriptc::styleObj_maxcolor_set;
*swig_minvalue_get = *mapscriptc::styleObj_minvalue_get;
*swig_minvalue_set = *mapscriptc::styleObj_minvalue_set;
*swig_maxvalue_get = *mapscriptc::styleObj_maxvalue_get;
*swig_maxvalue_set = *mapscriptc::styleObj_maxvalue_set;
*swig_rangeitem_get = *mapscriptc::styleObj_rangeitem_get;
*swig_rangeitem_set = *mapscriptc::styleObj_rangeitem_set;
*swig_rangeitemindex_get = *mapscriptc::styleObj_rangeitemindex_get;
*swig_rangeitemindex_set = *mapscriptc::styleObj_rangeitemindex_set;
*swig_symbol_get = *mapscriptc::styleObj_symbol_get;
*swig_symbol_set = *mapscriptc::styleObj_symbol_set;
*swig_symbolname_get = *mapscriptc::styleObj_symbolname_get;
*swig_symbolname_set = *mapscriptc::styleObj_symbolname_set;
*swig_size_get = *mapscriptc::styleObj_size_get;
*swig_size_set = *mapscriptc::styleObj_size_set;
*swig_minsize_get = *mapscriptc::styleObj_minsize_get;
*swig_minsize_set = *mapscriptc::styleObj_minsize_set;
*swig_maxsize_get = *mapscriptc::styleObj_maxsize_get;
*swig_maxsize_set = *mapscriptc::styleObj_maxsize_set;
*swig_width_get = *mapscriptc::styleObj_width_get;
*swig_width_set = *mapscriptc::styleObj_width_set;
*swig_minwidth_get = *mapscriptc::styleObj_minwidth_get;
*swig_minwidth_set = *mapscriptc::styleObj_minwidth_set;
*swig_maxwidth_get = *mapscriptc::styleObj_maxwidth_get;
*swig_maxwidth_set = *mapscriptc::styleObj_maxwidth_set;
*swig_offsetx_get = *mapscriptc::styleObj_offsetx_get;
*swig_offsetx_set = *mapscriptc::styleObj_offsetx_set;
*swig_offsety_get = *mapscriptc::styleObj_offsety_get;
*swig_offsety_set = *mapscriptc::styleObj_offsety_set;
*swig_angle_get = *mapscriptc::styleObj_angle_get;
*swig_angle_set = *mapscriptc::styleObj_angle_set;
*swig_antialias_get = *mapscriptc::styleObj_antialias_get;
*swig_antialias_set = *mapscriptc::styleObj_antialias_set;
*swig_angleitem_get = *mapscriptc::styleObj_angleitem_get;
*swig_angleitem_set = *mapscriptc::styleObj_angleitem_set;
*swig_sizeitem_get = *mapscriptc::styleObj_sizeitem_get;
*swig_sizeitem_set = *mapscriptc::styleObj_sizeitem_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_styleObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_styleObj($self);
        delete $OWNER{$self};
    }
}

*clone = *mapscriptc::styleObj_clone;
*setSymbolByName = *mapscriptc::styleObj_setSymbolByName;
sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::classObj ##############

package mapscript::classObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_status_get = *mapscriptc::classObj_status_get;
*swig_status_set = *mapscriptc::classObj_status_set;
*swig_numstyles_get = *mapscriptc::classObj_numstyles_get;
*swig_numstyles_set = *mapscriptc::classObj_numstyles_set;
*swig_label_get = *mapscriptc::classObj_label_get;
*swig_label_set = *mapscriptc::classObj_label_set;
*swig_name_get = *mapscriptc::classObj_name_get;
*swig_name_set = *mapscriptc::classObj_name_set;
*swig_title_get = *mapscriptc::classObj_title_get;
*swig_title_set = *mapscriptc::classObj_title_set;
*swig_template_get = *mapscriptc::classObj_template_get;
*swig_template_set = *mapscriptc::classObj_template_set;
*swig_type_get = *mapscriptc::classObj_type_get;
*swig_type_set = *mapscriptc::classObj_type_set;
*swig_metadata_get = *mapscriptc::classObj_metadata_get;
*swig_metadata_set = *mapscriptc::classObj_metadata_set;
*swig_minscale_get = *mapscriptc::classObj_minscale_get;
*swig_minscale_set = *mapscriptc::classObj_minscale_set;
*swig_maxscale_get = *mapscriptc::classObj_maxscale_get;
*swig_maxscale_set = *mapscriptc::classObj_maxscale_set;
*swig_layer_get = *mapscriptc::classObj_layer_get;
*swig_layer_set = *mapscriptc::classObj_layer_set;
*swig_debug_get = *mapscriptc::classObj_debug_get;
*swig_debug_set = *mapscriptc::classObj_debug_set;
*swig_keyimage_get = *mapscriptc::classObj_keyimage_get;
*swig_keyimage_set = *mapscriptc::classObj_keyimage_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_classObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_classObj($self);
        delete $OWNER{$self};
    }
}

*clone = *mapscriptc::classObj_clone;
*setExpression = *mapscriptc::classObj_setExpression;
*getExpressionString = *mapscriptc::classObj_getExpressionString;
*setText = *mapscriptc::classObj_setText;
*getTextString = *mapscriptc::classObj_getTextString;
*getMetaData = *mapscriptc::classObj_getMetaData;
*setMetaData = *mapscriptc::classObj_setMetaData;
*getFirstMetaDataKey = *mapscriptc::classObj_getFirstMetaDataKey;
*getNextMetaDataKey = *mapscriptc::classObj_getNextMetaDataKey;
*drawLegendIcon = *mapscriptc::classObj_drawLegendIcon;
*createLegendIcon = *mapscriptc::classObj_createLegendIcon;
*getStyle = *mapscriptc::classObj_getStyle;
*insertStyle = *mapscriptc::classObj_insertStyle;
*removeStyle = *mapscriptc::classObj_removeStyle;
*moveStyleUp = *mapscriptc::classObj_moveStyleUp;
*moveStyleDown = *mapscriptc::classObj_moveStyleDown;
sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::labelCacheMemberObj ##############

package mapscript::labelCacheMemberObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_text_get = *mapscriptc::labelCacheMemberObj_text_get;
*swig_text_set = *mapscriptc::labelCacheMemberObj_text_set;
*swig_featuresize_get = *mapscriptc::labelCacheMemberObj_featuresize_get;
*swig_featuresize_set = *mapscriptc::labelCacheMemberObj_featuresize_set;
*swig_styles_get = *mapscriptc::labelCacheMemberObj_styles_get;
*swig_styles_set = *mapscriptc::labelCacheMemberObj_styles_set;
*swig_numstyles_get = *mapscriptc::labelCacheMemberObj_numstyles_get;
*swig_numstyles_set = *mapscriptc::labelCacheMemberObj_numstyles_set;
*swig_label_get = *mapscriptc::labelCacheMemberObj_label_get;
*swig_label_set = *mapscriptc::labelCacheMemberObj_label_set;
*swig_layerindex_get = *mapscriptc::labelCacheMemberObj_layerindex_get;
*swig_layerindex_set = *mapscriptc::labelCacheMemberObj_layerindex_set;
*swig_classindex_get = *mapscriptc::labelCacheMemberObj_classindex_get;
*swig_classindex_set = *mapscriptc::labelCacheMemberObj_classindex_set;
*swig_tileindex_get = *mapscriptc::labelCacheMemberObj_tileindex_get;
*swig_tileindex_set = *mapscriptc::labelCacheMemberObj_tileindex_set;
*swig_shapeindex_get = *mapscriptc::labelCacheMemberObj_shapeindex_get;
*swig_shapeindex_set = *mapscriptc::labelCacheMemberObj_shapeindex_set;
*swig_point_get = *mapscriptc::labelCacheMemberObj_point_get;
*swig_point_set = *mapscriptc::labelCacheMemberObj_point_set;
*swig_poly_get = *mapscriptc::labelCacheMemberObj_poly_get;
*swig_poly_set = *mapscriptc::labelCacheMemberObj_poly_set;
*swig_status_get = *mapscriptc::labelCacheMemberObj_status_get;
*swig_status_set = *mapscriptc::labelCacheMemberObj_status_set;
*swig_labelpath_get = *mapscriptc::labelCacheMemberObj_labelpath_get;
*swig_labelpath_set = *mapscriptc::labelCacheMemberObj_labelpath_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_labelCacheMemberObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_labelCacheMemberObj($self);
        delete $OWNER{$self};
    }
}

sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::markerCacheMemberObj ##############

package mapscript::markerCacheMemberObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_id_get = *mapscriptc::markerCacheMemberObj_id_get;
*swig_id_set = *mapscriptc::markerCacheMemberObj_id_set;
*swig_poly_get = *mapscriptc::markerCacheMemberObj_poly_get;
*swig_poly_set = *mapscriptc::markerCacheMemberObj_poly_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_markerCacheMemberObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_markerCacheMemberObj($self);
        delete $OWNER{$self};
    }
}

sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::labelCacheObj ##############

package mapscript::labelCacheObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_labels_get = *mapscriptc::labelCacheObj_labels_get;
*swig_labels_set = *mapscriptc::labelCacheObj_labels_set;
*swig_numlabels_get = *mapscriptc::labelCacheObj_numlabels_get;
*swig_numlabels_set = *mapscriptc::labelCacheObj_numlabels_set;
*swig_cachesize_get = *mapscriptc::labelCacheObj_cachesize_get;
*swig_cachesize_set = *mapscriptc::labelCacheObj_cachesize_set;
*swig_markers_get = *mapscriptc::labelCacheObj_markers_get;
*swig_markers_set = *mapscriptc::labelCacheObj_markers_set;
*swig_nummarkers_get = *mapscriptc::labelCacheObj_nummarkers_get;
*swig_nummarkers_set = *mapscriptc::labelCacheObj_nummarkers_set;
*swig_markercachesize_get = *mapscriptc::labelCacheObj_markercachesize_get;
*swig_markercachesize_set = *mapscriptc::labelCacheObj_markercachesize_set;
*freeCache = *mapscriptc::labelCacheObj_freeCache;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_labelCacheObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_labelCacheObj($self);
        delete $OWNER{$self};
    }
}

sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::resultCacheMemberObj ##############

package mapscript::resultCacheMemberObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_shapeindex_get = *mapscriptc::resultCacheMemberObj_shapeindex_get;
*swig_shapeindex_set = *mapscriptc::resultCacheMemberObj_shapeindex_set;
*swig_tileindex_get = *mapscriptc::resultCacheMemberObj_tileindex_get;
*swig_tileindex_set = *mapscriptc::resultCacheMemberObj_tileindex_set;
*swig_classindex_get = *mapscriptc::resultCacheMemberObj_classindex_get;
*swig_classindex_set = *mapscriptc::resultCacheMemberObj_classindex_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_resultCacheMemberObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_resultCacheMemberObj($self);
        delete $OWNER{$self};
    }
}

sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::resultCacheObj ##############

package mapscript::resultCacheObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_numresults_get = *mapscriptc::resultCacheObj_numresults_get;
*swig_numresults_set = *mapscriptc::resultCacheObj_numresults_set;
*swig_bounds_get = *mapscriptc::resultCacheObj_bounds_get;
*swig_bounds_set = *mapscriptc::resultCacheObj_bounds_set;
*getResult = *mapscriptc::resultCacheObj_getResult;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_resultCacheObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_resultCacheObj($self);
        delete $OWNER{$self};
    }
}

sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::symbolSetObj ##############

package mapscript::symbolSetObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_filename_get = *mapscriptc::symbolSetObj_filename_get;
*swig_filename_set = *mapscriptc::symbolSetObj_filename_set;
*swig_imagecachesize_get = *mapscriptc::symbolSetObj_imagecachesize_get;
*swig_imagecachesize_set = *mapscriptc::symbolSetObj_imagecachesize_set;
*swig_numsymbols_get = *mapscriptc::symbolSetObj_numsymbols_get;
*swig_numsymbols_set = *mapscriptc::symbolSetObj_numsymbols_set;
*swig_symbol_get = *mapscriptc::symbolSetObj_symbol_get;
*swig_symbol_set = *mapscriptc::symbolSetObj_symbol_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_symbolSetObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_symbolSetObj($self);
        delete $OWNER{$self};
    }
}

*getSymbol = *mapscriptc::symbolSetObj_getSymbol;
*getSymbolByName = *mapscriptc::symbolSetObj_getSymbolByName;
*index = *mapscriptc::symbolSetObj_index;
*appendSymbol = *mapscriptc::symbolSetObj_appendSymbol;
*removeSymbol = *mapscriptc::symbolSetObj_removeSymbol;
*save = *mapscriptc::symbolSetObj_save;
sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::referenceMapObj ##############

package mapscript::referenceMapObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_extent_get = *mapscriptc::referenceMapObj_extent_get;
*swig_extent_set = *mapscriptc::referenceMapObj_extent_set;
*swig_height_get = *mapscriptc::referenceMapObj_height_get;
*swig_height_set = *mapscriptc::referenceMapObj_height_set;
*swig_width_get = *mapscriptc::referenceMapObj_width_get;
*swig_width_set = *mapscriptc::referenceMapObj_width_set;
*swig_color_get = *mapscriptc::referenceMapObj_color_get;
*swig_color_set = *mapscriptc::referenceMapObj_color_set;
*swig_outlinecolor_get = *mapscriptc::referenceMapObj_outlinecolor_get;
*swig_outlinecolor_set = *mapscriptc::referenceMapObj_outlinecolor_set;
*swig_image_get = *mapscriptc::referenceMapObj_image_get;
*swig_image_set = *mapscriptc::referenceMapObj_image_set;
*swig_status_get = *mapscriptc::referenceMapObj_status_get;
*swig_status_set = *mapscriptc::referenceMapObj_status_set;
*swig_marker_get = *mapscriptc::referenceMapObj_marker_get;
*swig_marker_set = *mapscriptc::referenceMapObj_marker_set;
*swig_markername_get = *mapscriptc::referenceMapObj_markername_get;
*swig_markername_set = *mapscriptc::referenceMapObj_markername_set;
*swig_markersize_get = *mapscriptc::referenceMapObj_markersize_get;
*swig_markersize_set = *mapscriptc::referenceMapObj_markersize_set;
*swig_minboxsize_get = *mapscriptc::referenceMapObj_minboxsize_get;
*swig_minboxsize_set = *mapscriptc::referenceMapObj_minboxsize_set;
*swig_maxboxsize_get = *mapscriptc::referenceMapObj_maxboxsize_get;
*swig_maxboxsize_set = *mapscriptc::referenceMapObj_maxboxsize_set;
*swig_map_get = *mapscriptc::referenceMapObj_map_get;
*swig_map_set = *mapscriptc::referenceMapObj_map_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_referenceMapObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_referenceMapObj($self);
        delete $OWNER{$self};
    }
}

sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::scalebarObj ##############

package mapscript::scalebarObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_imagecolor_get = *mapscriptc::scalebarObj_imagecolor_get;
*swig_imagecolor_set = *mapscriptc::scalebarObj_imagecolor_set;
*swig_height_get = *mapscriptc::scalebarObj_height_get;
*swig_height_set = *mapscriptc::scalebarObj_height_set;
*swig_width_get = *mapscriptc::scalebarObj_width_get;
*swig_width_set = *mapscriptc::scalebarObj_width_set;
*swig_style_get = *mapscriptc::scalebarObj_style_get;
*swig_style_set = *mapscriptc::scalebarObj_style_set;
*swig_intervals_get = *mapscriptc::scalebarObj_intervals_get;
*swig_intervals_set = *mapscriptc::scalebarObj_intervals_set;
*swig_label_get = *mapscriptc::scalebarObj_label_get;
*swig_label_set = *mapscriptc::scalebarObj_label_set;
*swig_color_get = *mapscriptc::scalebarObj_color_get;
*swig_color_set = *mapscriptc::scalebarObj_color_set;
*swig_backgroundcolor_get = *mapscriptc::scalebarObj_backgroundcolor_get;
*swig_backgroundcolor_set = *mapscriptc::scalebarObj_backgroundcolor_set;
*swig_outlinecolor_get = *mapscriptc::scalebarObj_outlinecolor_get;
*swig_outlinecolor_set = *mapscriptc::scalebarObj_outlinecolor_set;
*swig_units_get = *mapscriptc::scalebarObj_units_get;
*swig_units_set = *mapscriptc::scalebarObj_units_set;
*swig_status_get = *mapscriptc::scalebarObj_status_get;
*swig_status_set = *mapscriptc::scalebarObj_status_set;
*swig_position_get = *mapscriptc::scalebarObj_position_get;
*swig_position_set = *mapscriptc::scalebarObj_position_set;
*swig_postlabelcache_get = *mapscriptc::scalebarObj_postlabelcache_get;
*swig_postlabelcache_set = *mapscriptc::scalebarObj_postlabelcache_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_scalebarObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_scalebarObj($self);
        delete $OWNER{$self};
    }
}

sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::legendObj ##############

package mapscript::legendObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_imagecolor_get = *mapscriptc::legendObj_imagecolor_get;
*swig_imagecolor_set = *mapscriptc::legendObj_imagecolor_set;
*swig_label_get = *mapscriptc::legendObj_label_get;
*swig_label_set = *mapscriptc::legendObj_label_set;
*swig_keysizex_get = *mapscriptc::legendObj_keysizex_get;
*swig_keysizex_set = *mapscriptc::legendObj_keysizex_set;
*swig_keysizey_get = *mapscriptc::legendObj_keysizey_get;
*swig_keysizey_set = *mapscriptc::legendObj_keysizey_set;
*swig_keyspacingx_get = *mapscriptc::legendObj_keyspacingx_get;
*swig_keyspacingx_set = *mapscriptc::legendObj_keyspacingx_set;
*swig_keyspacingy_get = *mapscriptc::legendObj_keyspacingy_get;
*swig_keyspacingy_set = *mapscriptc::legendObj_keyspacingy_set;
*swig_outlinecolor_get = *mapscriptc::legendObj_outlinecolor_get;
*swig_outlinecolor_set = *mapscriptc::legendObj_outlinecolor_set;
*swig_status_get = *mapscriptc::legendObj_status_get;
*swig_status_set = *mapscriptc::legendObj_status_set;
*swig_height_get = *mapscriptc::legendObj_height_get;
*swig_height_set = *mapscriptc::legendObj_height_set;
*swig_width_get = *mapscriptc::legendObj_width_get;
*swig_width_set = *mapscriptc::legendObj_width_set;
*swig_position_get = *mapscriptc::legendObj_position_get;
*swig_position_set = *mapscriptc::legendObj_position_set;
*swig_postlabelcache_get = *mapscriptc::legendObj_postlabelcache_get;
*swig_postlabelcache_set = *mapscriptc::legendObj_postlabelcache_set;
*swig_template_get = *mapscriptc::legendObj_template_get;
*swig_template_set = *mapscriptc::legendObj_template_set;
*swig_map_get = *mapscriptc::legendObj_map_get;
*swig_map_set = *mapscriptc::legendObj_map_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_legendObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_legendObj($self);
        delete $OWNER{$self};
    }
}

sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::layerObj ##############

package mapscript::layerObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_classitem_get = *mapscriptc::layerObj_classitem_get;
*swig_classitem_set = *mapscriptc::layerObj_classitem_set;
*swig_numclasses_get = *mapscriptc::layerObj_numclasses_get;
*swig_numclasses_set = *mapscriptc::layerObj_numclasses_set;
*swig_index_get = *mapscriptc::layerObj_index_get;
*swig_index_set = *mapscriptc::layerObj_index_set;
*swig_map_get = *mapscriptc::layerObj_map_get;
*swig_map_set = *mapscriptc::layerObj_map_set;
*swig_header_get = *mapscriptc::layerObj_header_get;
*swig_header_set = *mapscriptc::layerObj_header_set;
*swig_footer_get = *mapscriptc::layerObj_footer_get;
*swig_footer_set = *mapscriptc::layerObj_footer_set;
*swig_template_get = *mapscriptc::layerObj_template_get;
*swig_template_set = *mapscriptc::layerObj_template_set;
*swig_name_get = *mapscriptc::layerObj_name_get;
*swig_name_set = *mapscriptc::layerObj_name_set;
*swig_group_get = *mapscriptc::layerObj_group_get;
*swig_group_set = *mapscriptc::layerObj_group_set;
*swig_status_get = *mapscriptc::layerObj_status_get;
*swig_status_set = *mapscriptc::layerObj_status_set;
*swig_data_get = *mapscriptc::layerObj_data_get;
*swig_data_set = *mapscriptc::layerObj_data_set;
*swig_type_get = *mapscriptc::layerObj_type_get;
*swig_type_set = *mapscriptc::layerObj_type_set;
*swig_tolerance_get = *mapscriptc::layerObj_tolerance_get;
*swig_tolerance_set = *mapscriptc::layerObj_tolerance_set;
*swig_toleranceunits_get = *mapscriptc::layerObj_toleranceunits_get;
*swig_toleranceunits_set = *mapscriptc::layerObj_toleranceunits_set;
*swig_symbolscale_get = *mapscriptc::layerObj_symbolscale_get;
*swig_symbolscale_set = *mapscriptc::layerObj_symbolscale_set;
*swig_minscale_get = *mapscriptc::layerObj_minscale_get;
*swig_minscale_set = *mapscriptc::layerObj_minscale_set;
*swig_maxscale_get = *mapscriptc::layerObj_maxscale_get;
*swig_maxscale_set = *mapscriptc::layerObj_maxscale_set;
*swig_labelminscale_get = *mapscriptc::layerObj_labelminscale_get;
*swig_labelminscale_set = *mapscriptc::layerObj_labelminscale_set;
*swig_labelmaxscale_get = *mapscriptc::layerObj_labelmaxscale_get;
*swig_labelmaxscale_set = *mapscriptc::layerObj_labelmaxscale_set;
*swig_sizeunits_get = *mapscriptc::layerObj_sizeunits_get;
*swig_sizeunits_set = *mapscriptc::layerObj_sizeunits_set;
*swig_maxfeatures_get = *mapscriptc::layerObj_maxfeatures_get;
*swig_maxfeatures_set = *mapscriptc::layerObj_maxfeatures_set;
*swig_offsite_get = *mapscriptc::layerObj_offsite_get;
*swig_offsite_set = *mapscriptc::layerObj_offsite_set;
*swig_transform_get = *mapscriptc::layerObj_transform_get;
*swig_transform_set = *mapscriptc::layerObj_transform_set;
*swig_labelcache_get = *mapscriptc::layerObj_labelcache_get;
*swig_labelcache_set = *mapscriptc::layerObj_labelcache_set;
*swig_postlabelcache_get = *mapscriptc::layerObj_postlabelcache_get;
*swig_postlabelcache_set = *mapscriptc::layerObj_postlabelcache_set;
*swig_labelitem_get = *mapscriptc::layerObj_labelitem_get;
*swig_labelitem_set = *mapscriptc::layerObj_labelitem_set;
*swig_labelsizeitem_get = *mapscriptc::layerObj_labelsizeitem_get;
*swig_labelsizeitem_set = *mapscriptc::layerObj_labelsizeitem_set;
*swig_labelangleitem_get = *mapscriptc::layerObj_labelangleitem_get;
*swig_labelangleitem_set = *mapscriptc::layerObj_labelangleitem_set;
*swig_tileitem_get = *mapscriptc::layerObj_tileitem_get;
*swig_tileitem_set = *mapscriptc::layerObj_tileitem_set;
*swig_tileindex_get = *mapscriptc::layerObj_tileindex_get;
*swig_tileindex_set = *mapscriptc::layerObj_tileindex_set;
*swig_units_get = *mapscriptc::layerObj_units_get;
*swig_units_set = *mapscriptc::layerObj_units_set;
*swig_connection_get = *mapscriptc::layerObj_connection_get;
*swig_connection_set = *mapscriptc::layerObj_connection_set;
*swig_plugin_library_get = *mapscriptc::layerObj_plugin_library_get;
*swig_plugin_library_set = *mapscriptc::layerObj_plugin_library_set;
*swig_plugin_library_original_get = *mapscriptc::layerObj_plugin_library_original_get;
*swig_plugin_library_original_set = *mapscriptc::layerObj_plugin_library_original_set;
*swig_connectiontype_get = *mapscriptc::layerObj_connectiontype_get;
*swig_connectiontype_set = *mapscriptc::layerObj_connectiontype_set;
*swig_numitems_get = *mapscriptc::layerObj_numitems_get;
*swig_numitems_set = *mapscriptc::layerObj_numitems_set;
*swig_bandsitem_get = *mapscriptc::layerObj_bandsitem_get;
*swig_bandsitem_set = *mapscriptc::layerObj_bandsitem_set;
*swig_filteritem_get = *mapscriptc::layerObj_filteritem_get;
*swig_filteritem_set = *mapscriptc::layerObj_filteritem_set;
*swig_styleitem_get = *mapscriptc::layerObj_styleitem_get;
*swig_styleitem_set = *mapscriptc::layerObj_styleitem_set;
*swig_requires_get = *mapscriptc::layerObj_requires_get;
*swig_requires_set = *mapscriptc::layerObj_requires_set;
*swig_labelrequires_get = *mapscriptc::layerObj_labelrequires_get;
*swig_labelrequires_set = *mapscriptc::layerObj_labelrequires_set;
*swig_metadata_get = *mapscriptc::layerObj_metadata_get;
*swig_metadata_set = *mapscriptc::layerObj_metadata_set;
*swig_transparency_get = *mapscriptc::layerObj_transparency_get;
*swig_transparency_set = *mapscriptc::layerObj_transparency_set;
*swig_dump_get = *mapscriptc::layerObj_dump_get;
*swig_dump_set = *mapscriptc::layerObj_dump_set;
*swig_debug_get = *mapscriptc::layerObj_debug_get;
*swig_debug_set = *mapscriptc::layerObj_debug_set;
*swig_extent_get = *mapscriptc::layerObj_extent_get;
*swig_extent_set = *mapscriptc::layerObj_extent_set;
*swig_numprocessing_get = *mapscriptc::layerObj_numprocessing_get;
*swig_numprocessing_set = *mapscriptc::layerObj_numprocessing_set;
*swig_numjoins_get = *mapscriptc::layerObj_numjoins_get;
*swig_numjoins_set = *mapscriptc::layerObj_numjoins_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_layerObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_layerObj($self);
        delete $OWNER{$self};
    }
}

*clone = *mapscriptc::layerObj_clone;
*insertClass = *mapscriptc::layerObj_insertClass;
*removeClass = *mapscriptc::layerObj_removeClass;
*open = *mapscriptc::layerObj_open;
*whichShapes = *mapscriptc::layerObj_whichShapes;
*nextShape = *mapscriptc::layerObj_nextShape;
*close = *mapscriptc::layerObj_close;
*getFeature = *mapscriptc::layerObj_getFeature;
*getShape = *mapscriptc::layerObj_getShape;
*getNumResults = *mapscriptc::layerObj_getNumResults;
*getResult = *mapscriptc::layerObj_getResult;
*getClass = *mapscriptc::layerObj_getClass;
*getItem = *mapscriptc::layerObj_getItem;
*draw = *mapscriptc::layerObj_draw;
*drawQuery = *mapscriptc::layerObj_drawQuery;
*queryByAttributes = *mapscriptc::layerObj_queryByAttributes;
*queryByPoint = *mapscriptc::layerObj_queryByPoint;
*queryByRect = *mapscriptc::layerObj_queryByRect;
*queryByFeatures = *mapscriptc::layerObj_queryByFeatures;
*queryByShape = *mapscriptc::layerObj_queryByShape;
*queryByIndex = *mapscriptc::layerObj_queryByIndex;
*getResults = *mapscriptc::layerObj_getResults;
*setFilter = *mapscriptc::layerObj_setFilter;
*getFilterString = *mapscriptc::layerObj_getFilterString;
*setWKTProjection = *mapscriptc::layerObj_setWKTProjection;
*getProjection = *mapscriptc::layerObj_getProjection;
*setProjection = *mapscriptc::layerObj_setProjection;
*addFeature = *mapscriptc::layerObj_addFeature;
*getNumFeatures = *mapscriptc::layerObj_getNumFeatures;
*getExtent = *mapscriptc::layerObj_getExtent;
*setExtent = *mapscriptc::layerObj_setExtent;
*getMetaData = *mapscriptc::layerObj_getMetaData;
*setMetaData = *mapscriptc::layerObj_setMetaData;
*removeMetaData = *mapscriptc::layerObj_removeMetaData;
*getFirstMetaDataKey = *mapscriptc::layerObj_getFirstMetaDataKey;
*getNextMetaDataKey = *mapscriptc::layerObj_getNextMetaDataKey;
*getWMSFeatureInfoURL = *mapscriptc::layerObj_getWMSFeatureInfoURL;
*executeWFSGetFeature = *mapscriptc::layerObj_executeWFSGetFeature;
*applySLD = *mapscriptc::layerObj_applySLD;
*applySLDURL = *mapscriptc::layerObj_applySLDURL;
*generateSLD = *mapscriptc::layerObj_generateSLD;
*isVisible = *mapscriptc::layerObj_isVisible;
*moveClassUp = *mapscriptc::layerObj_moveClassUp;
*moveClassDown = *mapscriptc::layerObj_moveClassDown;
*setProcessingKey = *mapscriptc::layerObj_setProcessingKey;
*setProcessing = *mapscriptc::layerObj_setProcessing;
*addProcessing = *mapscriptc::layerObj_addProcessing;
*getProcessing = *mapscriptc::layerObj_getProcessing;
*clearProcessing = *mapscriptc::layerObj_clearProcessing;
sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::mapObj ##############

package mapscript::mapObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_name_get = *mapscriptc::mapObj_name_get;
*swig_name_set = *mapscriptc::mapObj_name_set;
*swig_status_get = *mapscriptc::mapObj_status_get;
*swig_status_set = *mapscriptc::mapObj_status_set;
*swig_height_get = *mapscriptc::mapObj_height_get;
*swig_height_set = *mapscriptc::mapObj_height_set;
*swig_width_get = *mapscriptc::mapObj_width_get;
*swig_width_set = *mapscriptc::mapObj_width_set;
*swig_maxsize_get = *mapscriptc::mapObj_maxsize_get;
*swig_maxsize_set = *mapscriptc::mapObj_maxsize_set;
*swig_numlayers_get = *mapscriptc::mapObj_numlayers_get;
*swig_numlayers_set = *mapscriptc::mapObj_numlayers_set;
*swig_symbolset_get = *mapscriptc::mapObj_symbolset_get;
*swig_symbolset_set = *mapscriptc::mapObj_symbolset_set;
*swig_fontset_get = *mapscriptc::mapObj_fontset_get;
*swig_fontset_set = *mapscriptc::mapObj_fontset_set;
*swig_labelcache_get = *mapscriptc::mapObj_labelcache_get;
*swig_labelcache_set = *mapscriptc::mapObj_labelcache_set;
*swig_transparent_get = *mapscriptc::mapObj_transparent_get;
*swig_transparent_set = *mapscriptc::mapObj_transparent_set;
*swig_interlace_get = *mapscriptc::mapObj_interlace_get;
*swig_interlace_set = *mapscriptc::mapObj_interlace_set;
*swig_imagequality_get = *mapscriptc::mapObj_imagequality_get;
*swig_imagequality_set = *mapscriptc::mapObj_imagequality_set;
*swig_extent_get = *mapscriptc::mapObj_extent_get;
*swig_extent_set = *mapscriptc::mapObj_extent_set;
*swig_cellsize_get = *mapscriptc::mapObj_cellsize_get;
*swig_cellsize_set = *mapscriptc::mapObj_cellsize_set;
*swig_saved_extent_get = *mapscriptc::mapObj_saved_extent_get;
*swig_saved_extent_set = *mapscriptc::mapObj_saved_extent_set;
*swig_units_get = *mapscriptc::mapObj_units_get;
*swig_units_set = *mapscriptc::mapObj_units_set;
*swig_scale_get = *mapscriptc::mapObj_scale_get;
*swig_scale_set = *mapscriptc::mapObj_scale_set;
*swig_resolution_get = *mapscriptc::mapObj_resolution_get;
*swig_resolution_set = *mapscriptc::mapObj_resolution_set;
*swig_shapepath_get = *mapscriptc::mapObj_shapepath_get;
*swig_shapepath_set = *mapscriptc::mapObj_shapepath_set;
*swig_mappath_get = *mapscriptc::mapObj_mappath_get;
*swig_mappath_set = *mapscriptc::mapObj_mappath_set;
*swig_imagecolor_get = *mapscriptc::mapObj_imagecolor_get;
*swig_imagecolor_set = *mapscriptc::mapObj_imagecolor_set;
*swig_numoutputformats_get = *mapscriptc::mapObj_numoutputformats_get;
*swig_numoutputformats_set = *mapscriptc::mapObj_numoutputformats_set;
*swig_outputformatlist_get = *mapscriptc::mapObj_outputformatlist_get;
*swig_outputformatlist_set = *mapscriptc::mapObj_outputformatlist_set;
*swig_outputformat_get = *mapscriptc::mapObj_outputformat_get;
*swig_outputformat_set = *mapscriptc::mapObj_outputformat_set;
*swig_imagetype_get = *mapscriptc::mapObj_imagetype_get;
*swig_imagetype_set = *mapscriptc::mapObj_imagetype_set;
*swig_reference_get = *mapscriptc::mapObj_reference_get;
*swig_reference_set = *mapscriptc::mapObj_reference_set;
*swig_scalebar_get = *mapscriptc::mapObj_scalebar_get;
*swig_scalebar_set = *mapscriptc::mapObj_scalebar_set;
*swig_legend_get = *mapscriptc::mapObj_legend_get;
*swig_legend_set = *mapscriptc::mapObj_legend_set;
*swig_querymap_get = *mapscriptc::mapObj_querymap_get;
*swig_querymap_set = *mapscriptc::mapObj_querymap_set;
*swig_web_get = *mapscriptc::mapObj_web_get;
*swig_web_set = *mapscriptc::mapObj_web_set;
*swig_layerorder_get = *mapscriptc::mapObj_layerorder_get;
*swig_layerorder_set = *mapscriptc::mapObj_layerorder_set;
*swig_debug_get = *mapscriptc::mapObj_debug_get;
*swig_debug_set = *mapscriptc::mapObj_debug_set;
*swig_datapattern_get = *mapscriptc::mapObj_datapattern_get;
*swig_datapattern_set = *mapscriptc::mapObj_datapattern_set;
*swig_templatepattern_get = *mapscriptc::mapObj_templatepattern_get;
*swig_templatepattern_set = *mapscriptc::mapObj_templatepattern_set;
*swig_configoptions_get = *mapscriptc::mapObj_configoptions_get;
*swig_configoptions_set = *mapscriptc::mapObj_configoptions_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_mapObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_mapObj($self);
        delete $OWNER{$self};
    }
}

*clone = *mapscriptc::mapObj_clone;
*insertLayer = *mapscriptc::mapObj_insertLayer;
*removeLayer = *mapscriptc::mapObj_removeLayer;
*setExtent = *mapscriptc::mapObj_setExtent;
*setSize = *mapscriptc::mapObj_setSize;
*setRotation = *mapscriptc::mapObj_setRotation;
*getLayer = *mapscriptc::mapObj_getLayer;
*getLayerByName = *mapscriptc::mapObj_getLayerByName;
*getSymbolByName = *mapscriptc::mapObj_getSymbolByName;
*prepareQuery = *mapscriptc::mapObj_prepareQuery;
*prepareImage = *mapscriptc::mapObj_prepareImage;
*setImageType = *mapscriptc::mapObj_setImageType;
*selectOutputFormat = *mapscriptc::mapObj_selectOutputFormat;
*setOutputFormat = *mapscriptc::mapObj_setOutputFormat;
*draw = *mapscriptc::mapObj_draw;
*drawQuery = *mapscriptc::mapObj_drawQuery;
*drawLegend = *mapscriptc::mapObj_drawLegend;
*drawScalebar = *mapscriptc::mapObj_drawScalebar;
*drawReferenceMap = *mapscriptc::mapObj_drawReferenceMap;
*embedScalebar = *mapscriptc::mapObj_embedScalebar;
*embedLegend = *mapscriptc::mapObj_embedLegend;
*drawLabelCache = *mapscriptc::mapObj_drawLabelCache;
*getLabel = *mapscriptc::mapObj_getLabel;
*nextLabel = *mapscriptc::mapObj_nextLabel;
*queryByPoint = *mapscriptc::mapObj_queryByPoint;
*queryByRect = *mapscriptc::mapObj_queryByRect;
*queryByFeatures = *mapscriptc::mapObj_queryByFeatures;
*queryByShape = *mapscriptc::mapObj_queryByShape;
*setWKTProjection = *mapscriptc::mapObj_setWKTProjection;
*getProjection = *mapscriptc::mapObj_getProjection;
*setProjection = *mapscriptc::mapObj_setProjection;
*save = *mapscriptc::mapObj_save;
*saveQuery = *mapscriptc::mapObj_saveQuery;
*loadQuery = *mapscriptc::mapObj_loadQuery;
*freeQuery = *mapscriptc::mapObj_freeQuery;
*saveQueryAsGML = *mapscriptc::mapObj_saveQueryAsGML;
*getMetaData = *mapscriptc::mapObj_getMetaData;
*setMetaData = *mapscriptc::mapObj_setMetaData;
*removeMetaData = *mapscriptc::mapObj_removeMetaData;
*getFirstMetaDataKey = *mapscriptc::mapObj_getFirstMetaDataKey;
*getNextMetaDataKey = *mapscriptc::mapObj_getNextMetaDataKey;
*setSymbolSet = *mapscriptc::mapObj_setSymbolSet;
*getNumSymbols = *mapscriptc::mapObj_getNumSymbols;
*setFontSet = *mapscriptc::mapObj_setFontSet;
*saveMapContext = *mapscriptc::mapObj_saveMapContext;
*loadMapContext = *mapscriptc::mapObj_loadMapContext;
*moveLayerUp = *mapscriptc::mapObj_moveLayerUp;
*moveLayerDown = *mapscriptc::mapObj_moveLayerDown;
*getLayersDrawingOrder = *mapscriptc::mapObj_getLayersDrawingOrder;
*setLayersDrawingOrder = *mapscriptc::mapObj_setLayersDrawingOrder;
*setConfigOption = *mapscriptc::mapObj_setConfigOption;
*getConfigOption = *mapscriptc::mapObj_getConfigOption;
*applyConfigOptions = *mapscriptc::mapObj_applyConfigOptions;
*applySLD = *mapscriptc::mapObj_applySLD;
*applySLDURL = *mapscriptc::mapObj_applySLDURL;
*generateSLD = *mapscriptc::mapObj_generateSLD;
*processTemplate = *mapscriptc::mapObj_processTemplate;
*processLegendTemplate = *mapscriptc::mapObj_processLegendTemplate;
*processQueryTemplate = *mapscriptc::mapObj_processQueryTemplate;
*getOutputFormatByName = *mapscriptc::mapObj_getOutputFormatByName;
*appendOutputFormat = *mapscriptc::mapObj_appendOutputFormat;
*removeOutputFormat = *mapscriptc::mapObj_removeOutputFormat;
*loadOWSParameters = *mapscriptc::mapObj_loadOWSParameters;
*OWSDispatch = *mapscriptc::mapObj_OWSDispatch;
*zoomPoint = *mapscriptc::mapObj_zoomPoint;
*zoomRectangle = *mapscriptc::mapObj_zoomRectangle;
*zoomScale = *mapscriptc::mapObj_zoomScale;
sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::imageObj ##############

package mapscript::imageObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_width_get = *mapscriptc::imageObj_width_get;
*swig_width_set = *mapscriptc::imageObj_width_set;
*swig_height_get = *mapscriptc::imageObj_height_get;
*swig_height_set = *mapscriptc::imageObj_height_set;
*swig_imagepath_get = *mapscriptc::imageObj_imagepath_get;
*swig_imagepath_set = *mapscriptc::imageObj_imagepath_set;
*swig_imageurl_get = *mapscriptc::imageObj_imageurl_get;
*swig_imageurl_set = *mapscriptc::imageObj_imageurl_set;
*swig_format_get = *mapscriptc::imageObj_format_get;
*swig_format_set = *mapscriptc::imageObj_format_set;
*swig_renderer_get = *mapscriptc::imageObj_renderer_get;
*swig_renderer_set = *mapscriptc::imageObj_renderer_set;
*swig_size_get = *mapscriptc::imageObj_size_get;
*swig_size_set = *mapscriptc::imageObj_size_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_imageObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_imageObj($self);
        delete $OWNER{$self};
    }
}

*save = *mapscriptc::imageObj_save;
*write = *mapscriptc::imageObj_write;
*getBytes = *mapscriptc::imageObj_getBytes;
sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::rectObj ##############

package mapscript::rectObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_minx_get = *mapscriptc::rectObj_minx_get;
*swig_minx_set = *mapscriptc::rectObj_minx_set;
*swig_miny_get = *mapscriptc::rectObj_miny_get;
*swig_miny_set = *mapscriptc::rectObj_miny_set;
*swig_maxx_get = *mapscriptc::rectObj_maxx_get;
*swig_maxx_set = *mapscriptc::rectObj_maxx_set;
*swig_maxy_get = *mapscriptc::rectObj_maxy_get;
*swig_maxy_set = *mapscriptc::rectObj_maxy_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_rectObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_rectObj($self);
        delete $OWNER{$self};
    }
}

*project = *mapscriptc::rectObj_project;
*fit = *mapscriptc::rectObj_fit;
*draw = *mapscriptc::rectObj_draw;
*toPolygon = *mapscriptc::rectObj_toPolygon;
*toString = *mapscriptc::rectObj_toString;
sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::pointObj ##############

package mapscript::pointObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_x_get = *mapscriptc::pointObj_x_get;
*swig_x_set = *mapscriptc::pointObj_x_set;
*swig_y_get = *mapscriptc::pointObj_y_get;
*swig_y_set = *mapscriptc::pointObj_y_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_pointObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_pointObj($self);
        delete $OWNER{$self};
    }
}

*project = *mapscriptc::pointObj_project;
*draw = *mapscriptc::pointObj_draw;
*distanceToPoint = *mapscriptc::pointObj_distanceToPoint;
*distanceToSegment = *mapscriptc::pointObj_distanceToSegment;
*distanceToShape = *mapscriptc::pointObj_distanceToShape;
*setXY = *mapscriptc::pointObj_setXY;
*setXYZ = *mapscriptc::pointObj_setXYZ;
*setXYZM = *mapscriptc::pointObj_setXYZM;
*toString = *mapscriptc::pointObj_toString;
*toShape = *mapscriptc::pointObj_toShape;
sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::lineObj ##############

package mapscript::lineObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_numpoints_get = *mapscriptc::lineObj_numpoints_get;
*swig_numpoints_set = *mapscriptc::lineObj_numpoints_set;
*swig_point_get = *mapscriptc::lineObj_point_get;
*swig_point_set = *mapscriptc::lineObj_point_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_lineObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_lineObj($self);
        delete $OWNER{$self};
    }
}

*project = *mapscriptc::lineObj_project;
*get = *mapscriptc::lineObj_get;
*add = *mapscriptc::lineObj_add;
*set = *mapscriptc::lineObj_set;
sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::shapeObj ##############

package mapscript::shapeObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_numlines_get = *mapscriptc::shapeObj_numlines_get;
*swig_numlines_set = *mapscriptc::shapeObj_numlines_set;
*swig_numvalues_get = *mapscriptc::shapeObj_numvalues_get;
*swig_numvalues_set = *mapscriptc::shapeObj_numvalues_set;
*swig_line_get = *mapscriptc::shapeObj_line_get;
*swig_line_set = *mapscriptc::shapeObj_line_set;
*swig_values_get = *mapscriptc::shapeObj_values_get;
*swig_values_set = *mapscriptc::shapeObj_values_set;
*swig_bounds_get = *mapscriptc::shapeObj_bounds_get;
*swig_bounds_set = *mapscriptc::shapeObj_bounds_set;
*swig_type_get = *mapscriptc::shapeObj_type_get;
*swig_type_set = *mapscriptc::shapeObj_type_set;
*swig_index_get = *mapscriptc::shapeObj_index_get;
*swig_index_set = *mapscriptc::shapeObj_index_set;
*swig_tileindex_get = *mapscriptc::shapeObj_tileindex_get;
*swig_tileindex_set = *mapscriptc::shapeObj_tileindex_set;
*swig_classindex_get = *mapscriptc::shapeObj_classindex_get;
*swig_classindex_set = *mapscriptc::shapeObj_classindex_set;
*swig_text_get = *mapscriptc::shapeObj_text_get;
*swig_text_set = *mapscriptc::shapeObj_text_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_shapeObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_shapeObj($self);
        delete $OWNER{$self};
    }
}

*fromWKT = *mapscriptc::shapeObj_fromWKT;
*project = *mapscriptc::shapeObj_project;
*get = *mapscriptc::shapeObj_get;
*add = *mapscriptc::shapeObj_add;
*draw = *mapscriptc::shapeObj_draw;
*setBounds = *mapscriptc::shapeObj_setBounds;
*clone = *mapscriptc::shapeObj_clone;
*copy = *mapscriptc::shapeObj_copy;
*toWKT = *mapscriptc::shapeObj_toWKT;
*buffer = *mapscriptc::shapeObj_buffer;
*convexHull = *mapscriptc::shapeObj_convexHull;
*boundary = *mapscriptc::shapeObj_boundary;
*getCentroid = *mapscriptc::shapeObj_getCentroid;
*Union = *mapscriptc::shapeObj_Union;
*intersection = *mapscriptc::shapeObj_intersection;
*difference = *mapscriptc::shapeObj_difference;
*symDifference = *mapscriptc::shapeObj_symDifference;
*overlaps = *mapscriptc::shapeObj_overlaps;
*within = *mapscriptc::shapeObj_within;
*crosses = *mapscriptc::shapeObj_crosses;
*intersects = *mapscriptc::shapeObj_intersects;
*touches = *mapscriptc::shapeObj_touches;
*equals = *mapscriptc::shapeObj_equals;
*disjoint = *mapscriptc::shapeObj_disjoint;
*getArea = *mapscriptc::shapeObj_getArea;
*getLength = *mapscriptc::shapeObj_getLength;
*getValue = *mapscriptc::shapeObj_getValue;
*contains = *mapscriptc::shapeObj_contains;
*distanceToPoint = *mapscriptc::shapeObj_distanceToPoint;
*distanceToShape = *mapscriptc::shapeObj_distanceToShape;
*setValue = *mapscriptc::shapeObj_setValue;
*initValues = *mapscriptc::shapeObj_initValues;
sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::DBFInfo ##############

package mapscript::DBFInfo;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_fp_get = *mapscriptc::DBFInfo_fp_get;
*swig_fp_set = *mapscriptc::DBFInfo_fp_set;
*swig_nRecords_get = *mapscriptc::DBFInfo_nRecords_get;
*swig_nRecords_set = *mapscriptc::DBFInfo_nRecords_set;
*swig_nRecordLength_get = *mapscriptc::DBFInfo_nRecordLength_get;
*swig_nRecordLength_set = *mapscriptc::DBFInfo_nRecordLength_set;
*swig_nHeaderLength_get = *mapscriptc::DBFInfo_nHeaderLength_get;
*swig_nHeaderLength_set = *mapscriptc::DBFInfo_nHeaderLength_set;
*swig_nFields_get = *mapscriptc::DBFInfo_nFields_get;
*swig_nFields_set = *mapscriptc::DBFInfo_nFields_set;
*swig_panFieldOffset_get = *mapscriptc::DBFInfo_panFieldOffset_get;
*swig_panFieldOffset_set = *mapscriptc::DBFInfo_panFieldOffset_set;
*swig_panFieldSize_get = *mapscriptc::DBFInfo_panFieldSize_get;
*swig_panFieldSize_set = *mapscriptc::DBFInfo_panFieldSize_set;
*swig_panFieldDecimals_get = *mapscriptc::DBFInfo_panFieldDecimals_get;
*swig_panFieldDecimals_set = *mapscriptc::DBFInfo_panFieldDecimals_set;
*swig_pachFieldType_get = *mapscriptc::DBFInfo_pachFieldType_get;
*swig_pachFieldType_set = *mapscriptc::DBFInfo_pachFieldType_set;
*swig_pszHeader_get = *mapscriptc::DBFInfo_pszHeader_get;
*swig_pszHeader_set = *mapscriptc::DBFInfo_pszHeader_set;
*swig_nCurrentRecord_get = *mapscriptc::DBFInfo_nCurrentRecord_get;
*swig_nCurrentRecord_set = *mapscriptc::DBFInfo_nCurrentRecord_set;
*swig_bCurrentRecordModified_get = *mapscriptc::DBFInfo_bCurrentRecordModified_get;
*swig_bCurrentRecordModified_set = *mapscriptc::DBFInfo_bCurrentRecordModified_set;
*swig_pszCurrentRecord_get = *mapscriptc::DBFInfo_pszCurrentRecord_get;
*swig_pszCurrentRecord_set = *mapscriptc::DBFInfo_pszCurrentRecord_set;
*swig_bNoHeader_get = *mapscriptc::DBFInfo_bNoHeader_get;
*swig_bNoHeader_set = *mapscriptc::DBFInfo_bNoHeader_set;
*swig_bUpdated_get = *mapscriptc::DBFInfo_bUpdated_get;
*swig_bUpdated_set = *mapscriptc::DBFInfo_bUpdated_set;
*swig_pszStringField_get = *mapscriptc::DBFInfo_pszStringField_get;
*swig_pszStringField_set = *mapscriptc::DBFInfo_pszStringField_set;
*swig_nStringFieldLen_get = *mapscriptc::DBFInfo_nStringFieldLen_get;
*swig_nStringFieldLen_set = *mapscriptc::DBFInfo_nStringFieldLen_set;
*getFieldName = *mapscriptc::DBFInfo_getFieldName;
*getFieldWidth = *mapscriptc::DBFInfo_getFieldWidth;
*getFieldDecimals = *mapscriptc::DBFInfo_getFieldDecimals;
*getFieldType = *mapscriptc::DBFInfo_getFieldType;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_DBFInfo(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_DBFInfo($self);
        delete $OWNER{$self};
    }
}

sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::shapefileObj ##############

package mapscript::shapefileObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_source_get = *mapscriptc::shapefileObj_source_get;
*swig_source_set = *mapscriptc::shapefileObj_source_set;
*swig_type_get = *mapscriptc::shapefileObj_type_get;
*swig_type_set = *mapscriptc::shapefileObj_type_set;
*swig_numshapes_get = *mapscriptc::shapefileObj_numshapes_get;
*swig_numshapes_set = *mapscriptc::shapefileObj_numshapes_set;
*swig_bounds_get = *mapscriptc::shapefileObj_bounds_get;
*swig_bounds_set = *mapscriptc::shapefileObj_bounds_set;
*swig_lastshape_get = *mapscriptc::shapefileObj_lastshape_get;
*swig_lastshape_set = *mapscriptc::shapefileObj_lastshape_set;
*swig_status_get = *mapscriptc::shapefileObj_status_get;
*swig_status_set = *mapscriptc::shapefileObj_status_set;
*swig_statusbounds_get = *mapscriptc::shapefileObj_statusbounds_get;
*swig_statusbounds_set = *mapscriptc::shapefileObj_statusbounds_set;
*swig_isopen_get = *mapscriptc::shapefileObj_isopen_get;
*swig_isopen_set = *mapscriptc::shapefileObj_isopen_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_shapefileObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_shapefileObj($self);
        delete $OWNER{$self};
    }
}

*get = *mapscriptc::shapefileObj_get;
*getShape = *mapscriptc::shapefileObj_getShape;
*getPoint = *mapscriptc::shapefileObj_getPoint;
*getTransformed = *mapscriptc::shapefileObj_getTransformed;
*getExtent = *mapscriptc::shapefileObj_getExtent;
*add = *mapscriptc::shapefileObj_add;
*addPoint = *mapscriptc::shapefileObj_addPoint;
sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::projectionObj ##############

package mapscript::projectionObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_numargs_get = *mapscriptc::projectionObj_numargs_get;
*swig_numargs_set = *mapscriptc::projectionObj_numargs_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_projectionObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_projectionObj($self);
        delete $OWNER{$self};
    }
}

sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::colorObj ##############

package mapscript::colorObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_pen_get = *mapscriptc::colorObj_pen_get;
*swig_pen_set = *mapscriptc::colorObj_pen_set;
*swig_red_get = *mapscriptc::colorObj_red_get;
*swig_red_set = *mapscriptc::colorObj_red_set;
*swig_green_get = *mapscriptc::colorObj_green_get;
*swig_green_set = *mapscriptc::colorObj_green_set;
*swig_blue_get = *mapscriptc::colorObj_blue_get;
*swig_blue_set = *mapscriptc::colorObj_blue_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_colorObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_colorObj($self);
        delete $OWNER{$self};
    }
}

*setRGB = *mapscriptc::colorObj_setRGB;
*setHex = *mapscriptc::colorObj_setHex;
*toHex = *mapscriptc::colorObj_toHex;
sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::symbolObj ##############

package mapscript::symbolObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_name_get = *mapscriptc::symbolObj_name_get;
*swig_name_set = *mapscriptc::symbolObj_name_set;
*swig_type_get = *mapscriptc::symbolObj_type_get;
*swig_type_set = *mapscriptc::symbolObj_type_set;
*swig_sizex_get = *mapscriptc::symbolObj_sizex_get;
*swig_sizex_set = *mapscriptc::symbolObj_sizex_set;
*swig_sizey_get = *mapscriptc::symbolObj_sizey_get;
*swig_sizey_set = *mapscriptc::symbolObj_sizey_set;
*swig_numpoints_get = *mapscriptc::symbolObj_numpoints_get;
*swig_numpoints_set = *mapscriptc::symbolObj_numpoints_set;
*swig_filled_get = *mapscriptc::symbolObj_filled_get;
*swig_filled_set = *mapscriptc::symbolObj_filled_set;
*swig_stylelength_get = *mapscriptc::symbolObj_stylelength_get;
*swig_stylelength_set = *mapscriptc::symbolObj_stylelength_set;
*swig_style_get = *mapscriptc::symbolObj_style_get;
*swig_style_set = *mapscriptc::symbolObj_style_set;
*swig_imagepath_get = *mapscriptc::symbolObj_imagepath_get;
*swig_imagepath_set = *mapscriptc::symbolObj_imagepath_set;
*swig_transparent_get = *mapscriptc::symbolObj_transparent_get;
*swig_transparent_set = *mapscriptc::symbolObj_transparent_set;
*swig_transparentcolor_get = *mapscriptc::symbolObj_transparentcolor_get;
*swig_transparentcolor_set = *mapscriptc::symbolObj_transparentcolor_set;
*swig_character_get = *mapscriptc::symbolObj_character_get;
*swig_character_set = *mapscriptc::symbolObj_character_set;
*swig_antialias_get = *mapscriptc::symbolObj_antialias_get;
*swig_antialias_set = *mapscriptc::symbolObj_antialias_set;
*swig_font_get = *mapscriptc::symbolObj_font_get;
*swig_font_set = *mapscriptc::symbolObj_font_set;
*swig_gap_get = *mapscriptc::symbolObj_gap_get;
*swig_gap_set = *mapscriptc::symbolObj_gap_set;
*swig_position_get = *mapscriptc::symbolObj_position_get;
*swig_position_set = *mapscriptc::symbolObj_position_set;
*swig_linecap_get = *mapscriptc::symbolObj_linecap_get;
*swig_linecap_set = *mapscriptc::symbolObj_linecap_set;
*swig_linejoin_get = *mapscriptc::symbolObj_linejoin_get;
*swig_linejoin_set = *mapscriptc::symbolObj_linejoin_set;
*swig_linejoinmaxsize_get = *mapscriptc::symbolObj_linejoinmaxsize_get;
*swig_linejoinmaxsize_set = *mapscriptc::symbolObj_linejoinmaxsize_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_symbolObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_symbolObj($self);
        delete $OWNER{$self};
    }
}

*setImagepath = *mapscriptc::symbolObj_setImagepath;
*setPoints = *mapscriptc::symbolObj_setPoints;
*getPoints = *mapscriptc::symbolObj_getPoints;
*setStyle = *mapscriptc::symbolObj_setStyle;
*getImage = *mapscriptc::symbolObj_getImage;
*setImage = *mapscriptc::symbolObj_setImage;
sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::errorObj ##############

package mapscript::errorObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_code_get = *mapscriptc::errorObj_code_get;
*swig_code_set = *mapscriptc::errorObj_code_set;
*swig_routine_get = *mapscriptc::errorObj_routine_get;
*swig_routine_set = *mapscriptc::errorObj_routine_set;
*swig_message_get = *mapscriptc::errorObj_message_get;
*swig_message_set = *mapscriptc::errorObj_message_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_errorObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_errorObj($self);
        delete $OWNER{$self};
    }
}

*next = *mapscriptc::errorObj_next;
sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::hashTableObj ##############

package mapscript::hashTableObj;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_numitems_get = *mapscriptc::hashTableObj_numitems_get;
*swig_numitems_set = *mapscriptc::hashTableObj_numitems_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_hashTableObj(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_hashTableObj($self);
        delete $OWNER{$self};
    }
}

*set = *mapscriptc::hashTableObj_set;
*get = *mapscriptc::hashTableObj_get;
*remove = *mapscriptc::hashTableObj_remove;
*clear = *mapscriptc::hashTableObj_clear;
*nextKey = *mapscriptc::hashTableObj_nextKey;
sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : mapscript::OWSRequest ##############

package mapscript::OWSRequest;
@ISA = qw( mapscript );
%OWNER = ();
%ITERATORS = ();
*swig_NumParams_get = *mapscriptc::OWSRequest_NumParams_get;
*swig_NumParams_set = *mapscriptc::OWSRequest_NumParams_set;
*swig_type_get = *mapscriptc::OWSRequest_type_get;
*swig_type_set = *mapscriptc::OWSRequest_type_set;
*swig_contenttype_get = *mapscriptc::OWSRequest_contenttype_get;
*swig_contenttype_set = *mapscriptc::OWSRequest_contenttype_set;
*swig_postrequest_get = *mapscriptc::OWSRequest_postrequest_get;
*swig_postrequest_set = *mapscriptc::OWSRequest_postrequest_set;
sub new {
    my $pkg = shift;
    my $self = mapscriptc::new_OWSRequest(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        mapscriptc::delete_OWSRequest($self);
        delete $OWNER{$self};
    }
}

*loadParams = *mapscriptc::OWSRequest_loadParams;
*setParameter = *mapscriptc::OWSRequest_setParameter;
*getName = *mapscriptc::OWSRequest_getName;
*getValue = *mapscriptc::OWSRequest_getValue;
*getValueByName = *mapscriptc::OWSRequest_getValueByName;
sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


# ------- VARIABLE STUBS --------

package mapscript;

*MS_VERSION = *mapscriptc::MS_VERSION;
*MS_TRUE = *mapscriptc::MS_TRUE;
*MS_FALSE = *mapscriptc::MS_FALSE;
*MS_ON = *mapscriptc::MS_ON;
*MS_OFF = *mapscriptc::MS_OFF;
*MS_DEFAULT = *mapscriptc::MS_DEFAULT;
*MS_EMBED = *mapscriptc::MS_EMBED;
*MS_DELETE = *mapscriptc::MS_DELETE;
*MS_YES = *mapscriptc::MS_YES;
*MS_NO = *mapscriptc::MS_NO;
*MS_SINGLE = *mapscriptc::MS_SINGLE;
*MS_MULTIPLE = *mapscriptc::MS_MULTIPLE;
*MS_GD_ALPHA = *mapscriptc::MS_GD_ALPHA;
*MS_MAXCLASSES = *mapscriptc::MS_MAXCLASSES;
*MS_MAXSTYLES = *mapscriptc::MS_MAXSTYLES;
*MS_MAXLAYERS = *mapscriptc::MS_MAXLAYERS;
*MS_FILE_MAP = *mapscriptc::MS_FILE_MAP;
*MS_FILE_SYMBOL = *mapscriptc::MS_FILE_SYMBOL;
*MS_INCHES = *mapscriptc::MS_INCHES;
*MS_FEET = *mapscriptc::MS_FEET;
*MS_MILES = *mapscriptc::MS_MILES;
*MS_METERS = *mapscriptc::MS_METERS;
*MS_KILOMETERS = *mapscriptc::MS_KILOMETERS;
*MS_DD = *mapscriptc::MS_DD;
*MS_PIXELS = *mapscriptc::MS_PIXELS;
*MS_PERCENTAGES = *mapscriptc::MS_PERCENTAGES;
*MS_SHAPE_POINT = *mapscriptc::MS_SHAPE_POINT;
*MS_SHAPE_LINE = *mapscriptc::MS_SHAPE_LINE;
*MS_SHAPE_POLYGON = *mapscriptc::MS_SHAPE_POLYGON;
*MS_SHAPE_NULL = *mapscriptc::MS_SHAPE_NULL;
*MS_LAYER_POINT = *mapscriptc::MS_LAYER_POINT;
*MS_LAYER_LINE = *mapscriptc::MS_LAYER_LINE;
*MS_LAYER_POLYGON = *mapscriptc::MS_LAYER_POLYGON;
*MS_LAYER_RASTER = *mapscriptc::MS_LAYER_RASTER;
*MS_LAYER_ANNOTATION = *mapscriptc::MS_LAYER_ANNOTATION;
*MS_LAYER_QUERY = *mapscriptc::MS_LAYER_QUERY;
*MS_LAYER_CIRCLE = *mapscriptc::MS_LAYER_CIRCLE;
*MS_LAYER_TILEINDEX = *mapscriptc::MS_LAYER_TILEINDEX;
*MS_TRUETYPE = *mapscriptc::MS_TRUETYPE;
*MS_BITMAP = *mapscriptc::MS_BITMAP;
*MS_POSITIONS_LENGTH = *mapscriptc::MS_POSITIONS_LENGTH;
*MS_UL = *mapscriptc::MS_UL;
*MS_LR = *mapscriptc::MS_LR;
*MS_UR = *mapscriptc::MS_UR;
*MS_LL = *mapscriptc::MS_LL;
*MS_CR = *mapscriptc::MS_CR;
*MS_CL = *mapscriptc::MS_CL;
*MS_UC = *mapscriptc::MS_UC;
*MS_LC = *mapscriptc::MS_LC;
*MS_CC = *mapscriptc::MS_CC;
*MS_AUTO = *mapscriptc::MS_AUTO;
*MS_XY = *mapscriptc::MS_XY;
*MS_FOLLOW = *mapscriptc::MS_FOLLOW;
*MS_TINY = *mapscriptc::MS_TINY;
*MS_SMALL = *mapscriptc::MS_SMALL;
*MS_MEDIUM = *mapscriptc::MS_MEDIUM;
*MS_LARGE = *mapscriptc::MS_LARGE;
*MS_GIANT = *mapscriptc::MS_GIANT;
*MS_NORMAL = *mapscriptc::MS_NORMAL;
*MS_HILITE = *mapscriptc::MS_HILITE;
*MS_SELECTED = *mapscriptc::MS_SELECTED;
*MS_INLINE = *mapscriptc::MS_INLINE;
*MS_SHAPEFILE = *mapscriptc::MS_SHAPEFILE;
*MS_TILED_SHAPEFILE = *mapscriptc::MS_TILED_SHAPEFILE;
*MS_SDE = *mapscriptc::MS_SDE;
*MS_OGR = *mapscriptc::MS_OGR;
*MS_UNUSED_1 = *mapscriptc::MS_UNUSED_1;
*MS_POSTGIS = *mapscriptc::MS_POSTGIS;
*MS_WMS = *mapscriptc::MS_WMS;
*MS_ORACLESPATIAL = *mapscriptc::MS_ORACLESPATIAL;
*MS_WFS = *mapscriptc::MS_WFS;
*MS_GRATICULE = *mapscriptc::MS_GRATICULE;
*MS_MYGIS = *mapscriptc::MS_MYGIS;
*MS_RASTER = *mapscriptc::MS_RASTER;
*MS_PLUGIN = *mapscriptc::MS_PLUGIN;
*MS_DB_XBASE = *mapscriptc::MS_DB_XBASE;
*MS_DB_CSV = *mapscriptc::MS_DB_CSV;
*MS_DB_MYSQL = *mapscriptc::MS_DB_MYSQL;
*MS_DB_ORACLE = *mapscriptc::MS_DB_ORACLE;
*MS_DB_POSTGRES = *mapscriptc::MS_DB_POSTGRES;
*MS_JOIN_ONE_TO_ONE = *mapscriptc::MS_JOIN_ONE_TO_ONE;
*MS_JOIN_ONE_TO_MANY = *mapscriptc::MS_JOIN_ONE_TO_MANY;
*MS_CJC_NONE = *mapscriptc::MS_CJC_NONE;
*MS_CJC_BEVEL = *mapscriptc::MS_CJC_BEVEL;
*MS_CJC_BUTT = *mapscriptc::MS_CJC_BUTT;
*MS_CJC_MITER = *mapscriptc::MS_CJC_MITER;
*MS_CJC_ROUND = *mapscriptc::MS_CJC_ROUND;
*MS_CJC_SQUARE = *mapscriptc::MS_CJC_SQUARE;
*MS_CJC_TRIANGLE = *mapscriptc::MS_CJC_TRIANGLE;
*MS_SUCCESS = *mapscriptc::MS_SUCCESS;
*MS_FAILURE = *mapscriptc::MS_FAILURE;
*MS_DONE = *mapscriptc::MS_DONE;
*MS_IMAGEMODE_PC256 = *mapscriptc::MS_IMAGEMODE_PC256;
*MS_IMAGEMODE_RGB = *mapscriptc::MS_IMAGEMODE_RGB;
*MS_IMAGEMODE_RGBA = *mapscriptc::MS_IMAGEMODE_RGBA;
*MS_IMAGEMODE_INT16 = *mapscriptc::MS_IMAGEMODE_INT16;
*MS_IMAGEMODE_FLOAT32 = *mapscriptc::MS_IMAGEMODE_FLOAT32;
*MS_IMAGEMODE_BYTE = *mapscriptc::MS_IMAGEMODE_BYTE;
*MS_IMAGEMODE_NULL = *mapscriptc::MS_IMAGEMODE_NULL;
*MS_NOOVERRIDE = *mapscriptc::MS_NOOVERRIDE;
*MS_SHAPEFILE_POINT = *mapscriptc::MS_SHAPEFILE_POINT;
*MS_SHAPEFILE_ARC = *mapscriptc::MS_SHAPEFILE_ARC;
*MS_SHAPEFILE_POLYGON = *mapscriptc::MS_SHAPEFILE_POLYGON;
*MS_SHAPEFILE_MULTIPOINT = *mapscriptc::MS_SHAPEFILE_MULTIPOINT;
*MS_SHP_POINTZ = *mapscriptc::MS_SHP_POINTZ;
*MS_SHP_ARCZ = *mapscriptc::MS_SHP_ARCZ;
*MS_SHP_POLYGONZ = *mapscriptc::MS_SHP_POLYGONZ;
*MS_SHP_MULTIPOINTZ = *mapscriptc::MS_SHP_MULTIPOINTZ;
*MS_SHP_POINTM = *mapscriptc::MS_SHP_POINTM;
*MS_SHP_ARCM = *mapscriptc::MS_SHP_ARCM;
*MS_SHP_POLYGONM = *mapscriptc::MS_SHP_POLYGONM;
*MS_SHP_MULTIPOINTM = *mapscriptc::MS_SHP_MULTIPOINTM;
*FTString = *mapscriptc::FTString;
*FTInteger = *mapscriptc::FTInteger;
*FTDouble = *mapscriptc::FTDouble;
*FTInvalid = *mapscriptc::FTInvalid;
*MS_SYMBOL_SIMPLE = *mapscriptc::MS_SYMBOL_SIMPLE;
*MS_SYMBOL_VECTOR = *mapscriptc::MS_SYMBOL_VECTOR;
*MS_SYMBOL_ELLIPSE = *mapscriptc::MS_SYMBOL_ELLIPSE;
*MS_SYMBOL_PIXMAP = *mapscriptc::MS_SYMBOL_PIXMAP;
*MS_SYMBOL_TRUETYPE = *mapscriptc::MS_SYMBOL_TRUETYPE;
*MS_SYMBOL_CARTOLINE = *mapscriptc::MS_SYMBOL_CARTOLINE;
*MS_SYMBOL_HATCH = *mapscriptc::MS_SYMBOL_HATCH;
*MS_MAXSYMBOLS = *mapscriptc::MS_MAXSYMBOLS;
*MS_MAXVECTORPOINTS = *mapscriptc::MS_MAXVECTORPOINTS;
*MS_MAXSTYLELENGTH = *mapscriptc::MS_MAXSTYLELENGTH;
*MS_IMAGECACHESIZE = *mapscriptc::MS_IMAGECACHESIZE;
*MS_NOERR = *mapscriptc::MS_NOERR;
*MS_IOERR = *mapscriptc::MS_IOERR;
*MS_MEMERR = *mapscriptc::MS_MEMERR;
*MS_TYPEERR = *mapscriptc::MS_TYPEERR;
*MS_SYMERR = *mapscriptc::MS_SYMERR;
*MS_REGEXERR = *mapscriptc::MS_REGEXERR;
*MS_TTFERR = *mapscriptc::MS_TTFERR;
*MS_DBFERR = *mapscriptc::MS_DBFERR;
*MS_GDERR = *mapscriptc::MS_GDERR;
*MS_IDENTERR = *mapscriptc::MS_IDENTERR;
*MS_EOFERR = *mapscriptc::MS_EOFERR;
*MS_PROJERR = *mapscriptc::MS_PROJERR;
*MS_MISCERR = *mapscriptc::MS_MISCERR;
*MS_CGIERR = *mapscriptc::MS_CGIERR;
*MS_WEBERR = *mapscriptc::MS_WEBERR;
*MS_IMGERR = *mapscriptc::MS_IMGERR;
*MS_HASHERR = *mapscriptc::MS_HASHERR;
*MS_JOINERR = *mapscriptc::MS_JOINERR;
*MS_NOTFOUND = *mapscriptc::MS_NOTFOUND;
*MS_SHPERR = *mapscriptc::MS_SHPERR;
*MS_PARSEERR = *mapscriptc::MS_PARSEERR;
*MS_SDEERR = *mapscriptc::MS_SDEERR;
*MS_OGRERR = *mapscriptc::MS_OGRERR;
*MS_QUERYERR = *mapscriptc::MS_QUERYERR;
*MS_WMSERR = *mapscriptc::MS_WMSERR;
*MS_WMSCONNERR = *mapscriptc::MS_WMSCONNERR;
*MS_ORACLESPATIALERR = *mapscriptc::MS_ORACLESPATIALERR;
*MS_WFSERR = *mapscriptc::MS_WFSERR;
*MS_WFSCONNERR = *mapscriptc::MS_WFSCONNERR;
*MS_MAPCONTEXTERR = *mapscriptc::MS_MAPCONTEXTERR;
*MS_HTTPERR = *mapscriptc::MS_HTTPERR;
*MS_CHILDERR = *mapscriptc::MS_CHILDERR;
*MS_WCSERR = *mapscriptc::MS_WCSERR;
*MS_GEOSERR = *mapscriptc::MS_GEOSERR;
*MS_RECTERR = *mapscriptc::MS_RECTERR;
*MS_TIMEERR = *mapscriptc::MS_TIMEERR;
*MS_GMLERR = *mapscriptc::MS_GMLERR;
*MS_SOSERR = *mapscriptc::MS_SOSERR;
*MS_NUMERRORCODES = *mapscriptc::MS_NUMERRORCODES;
*MESSAGELENGTH = *mapscriptc::MESSAGELENGTH;
*ROUTINELENGTH = *mapscriptc::ROUTINELENGTH;
*MS_HASHSIZE = *mapscriptc::MS_HASHSIZE;
*MS_MAX_CGI_PARAMS = *mapscriptc::MS_MAX_CGI_PARAMS;
*MS_GET_REQUEST = *mapscriptc::MS_GET_REQUEST;
*MS_POST_REQUEST = *mapscriptc::MS_POST_REQUEST;
1;
