head	1.5;
access;
symbols
	rel-2-4-3a:1.5
	rel-2-4-3:1.5
	rel-2-4-2:1.1.2.2
	rel-2-4-1:1.1.2.1
	rel-2-4-0-patches:1.1.0.2
	rel-2-4-0:1.1;
locks; strict;
comment	@# @;


1.5
date	2004.05.25.23.52.26;	author whmoseley;	state Exp;
branches;
next	1.4;

1.4
date	2004.05.01.01.24.16;	author whmoseley;	state Exp;
branches;
next	1.3;

1.3
date	2004.03.09.20.13.22;	author whmoseley;	state Exp;
branches;
next	1.2;

1.2
date	2003.12.18.05.00.38;	author whmoseley;	state Exp;
branches;
next	1.1;

1.1
date	2002.10.15.00.14.09;	author whmoseley;	state Exp;
branches
	1.1.2.1;
next	;

1.1.2.1
date	2003.12.13.23.24.17;	author whmoseley;	state Exp;
branches;
next	1.1.2.2;

1.1.2.2
date	2004.01.24.18.27.38;	author whmoseley;	state Exp;
branches;
next	;


desc
@@


1.5
log
@Added in reference counting to prevent destruction of the swish handle
while meta and property descriptions are out in the wild.
@
text
@# $Id: typemap,v 1.4 2004/05/01 01:24:16 whmoseley Exp $

TYPEMAP
SW_HANDLE       O_OBJECT
SW_SEARCH       O_OBJECT
SW_RESULTS      O_OBJECT
SW_RESULT       O_OBJECT
SW_FUZZYWORD    O_OBJECT
META_OBJ *      O_OBJECT
SW_META         O_OBJECT_META
const char *    T_PV

# From: "perlobject.map"  Dean Roehrich, version 19960302
# O_OBJECT      -> link an opaque C or C++ object to a blessed Perl object.

OUTPUT

# The Perl object is blessed into 'CLASS', which should be a
# char* having the name of the package for the blessing.
O_OBJECT
        sv_setref_pv( $arg, CLASS, (void*)$var );

INPUT

O_OBJECT
        if( sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG) )
                $var = ($type)SvIV((SV*)SvRV( $arg ));
        else{
                warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" );
                XSRETURN_UNDEF;
        }


O_OBJECT_META
        if( sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG) )
        {
                META_OBJ *m = (META_OBJ *)SvIV((SV*)SvRV( $arg ));
                $var = m->meta;
        }
        else
        {
                warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" );
                XSRETURN_UNDEF;
        }

@


1.4
log
@Here's Jamie Herre's patch from March 2003 that provides
access to the list of metas and properties in the index.

I also added methods to the SWISH::API module to access this info.

TODO -- add reference counting to the swish handle to avoid early
destroy.
@
text
@d1 1
a1 1
# $Id: typemap,v 1.3 2004/03/09 20:13:22 whmoseley Exp $
d4 8
a11 7
SW_HANDLE   O_OBJECT
SW_SEARCH   O_OBJECT
SW_RESULTS  O_OBJECT
SW_RESULT   O_OBJECT
SW_FUZZYWORD O_OBJECT
SW_META	     O_OBJECT
const char *            T_PV
d14 1
a14 1
# O_OBJECT	-> link an opaque C or C++ object to a blessed Perl object.
d21 1
a21 1
	sv_setref_pv( $arg, CLASS, (void*)$var );
d26 19
a44 6
	if( sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG) )
		$var = ($type)SvIV((SV*)SvRV( $arg ));
	else{
		warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" );
		XSRETURN_UNDEF;
	}
@


1.3
log
@

Merged in changes from the rel-2-4-0-patches branch into main trunk
and set a tag for rel-2-4-2 for the patches branch.
@
text
@d1 1
a1 1
# $Id: typemap,v 1.1.2.2 2004/01/24 18:27:38 whmoseley Exp $
d9 1
@


1.2
log
@

Merging in the 2.4.1 changes into the 2.5 version
@
text
@d1 1
a1 1
# $Id: typemap,v 1.1.2.1 2003/12/13 23:24:17 whmoseley Exp $
d9 1
@


1.1
log
@*** empty log message ***
@
text
@d1 1
a1 1
# $Id: typemap,v 1.3 2002/08/26 02:40:25 moseley Exp $
d8 1
a8 1

@


1.1.2.1
log
@
Added stemming code to SWISH::API
@
text
@d1 1
a1 1
# $Id: typemap,v 1.1 2002/10/15 00:14:09 whmoseley Exp $
d8 1
a8 1
SW_FUZZYWORD O_OBJECT
@


1.1.2.2
log
@Fixes for date format showing if a date is undefined,
and make SWISH::API act more perl like and die on undefined
properties.

Did not remove the "(null)" string display in some cases as discussed
on the list.
@
text
@d1 1
a1 1
# $Id: typemap,v 1.1.2.1 2003/12/13 23:24:17 whmoseley Exp $
a8 1
const char *            T_PV
@


