# # The contents of this file are subject to the Mozilla Public # License Version 1.1 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.mozilla.org/MPL/ # # Software distributed under the License is distributed on an "AS # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or # implied. See the License for the specific language governing # rights and limitations under the License. # # The Original Code is the XML::Sablotron::DOM module. # # The Initial Developer of the Original Code is Ginger Alliance Ltd. # Portions created by Ginger Alliance are # Copyright (C) 1999-2000 Ginger Alliance Ltd. # All Rights Reserved. # # Contributor(s): science+computing ag: # Nicolas Trebst, n.trebst@science-computing.de # Anselm Kruis, a.kruis@science-computing.de # # Alternatively, the contents of this file may be used under the # terms of the GNU General Public License Version 2 or later (the # "GPL"), in which case the provisions of the GPL are applicable # instead of those above. If you wish to allow use of your # version of this file only under the terms of the GPL and not to # allow others to use your version of this file under the MPL, # indicate your decision by deleting the provisions above and # replace them with the notice and other provisions required by # the GPL. If you do not delete the provisions above, a recipient # may use your version of this file under either the MPL or the # GPL. # # # ../Sablotron.xs includes this file. # MODULE = XML::Sablotron PACKAGE = XML::Sablotron::Situation PREFIX = Sablot PROTOTYPES: ENABLE ############################################################## int _getNewSituationHandle(object) SV* object CODE: SablotSituation sit; SablotCreateSituation(&sit); RETVAL = (int)sit; OUTPUT: RETVAL void _releaseHandle(object) SV* object CODE: SablotDestroySituation(SIT_HANDLE(object)); void _regDOMHandler( object ) SV * object PREINIT: SablotSituation sit; CODE: sit = SIT_HANDLE( object ); SvREFCNT_inc( SvRV( object ) ); SXP_registerDOMHandler( sit, &DOMH_handler_vector, SvRV( object ) ); OUTPUT: void _unregDOMHandler( object ) SV * object PREINIT: SablotSituation sit; CODE: sit = SIT_HANDLE( object ); SXP_unregisterDOMHandler( sit ); SvREFCNT_dec( SvRV( object ) ); OUTPUT: void setOptions(object, flags) SV* object int flags CODE: SablotSetOptions(SIT_HANDLE(object), flags); void clear(object) SV* object CODE: SablotClearSituation(SIT_HANDLE(object)); char* getErrorURI(object) SV* object CODE: char *uri=NULL; /* fixme */ /*uri = (char*)SablotGetErrorURI(SIT_HANDLE(object)); */ RETVAL = uri; OUTPUT: RETVAL int getErrorLine(object) SV* object CODE: /* RETVAL = SablotGetErrorLine(SIT_HANDLE(object)); */ OUTPUT: RETVAL char* getErrorMsg(object) SV* object CODE: char *msg=NULL; /* fixme */ /* msg = (char*)SablotGetErrorMessage(SIT_HANDLE(object)); */ RETVAL = msg; OUTPUT: RETVAL CLEANUP: if (msg) SablotFree(msg); int getDOMExceptionCode(object) SV* object CODE: RETVAL = SDOM_getExceptionCode(SIT_HANDLE(object)); OUTPUT: RETVAL char* getDOMExceptionMessage(object) SV* object CODE: char *message = SDOM_getExceptionMessage(SIT_HANDLE(object)); RETVAL = message; OUTPUT: RETVAL CLEANUP: if (message) SablotFree(message); AV* getDOMExceptionDetails(object) SV* object CODE: int code; char *message; char *documentURI; int fileLine; SDOM_getExceptionDetails(SIT_HANDLE(object), &code, &message, &documentURI, &fileLine); RETVAL = (AV*)sv_2mortal((SV*)newAV()); av_push(RETVAL, newSViv(code)); av_push(RETVAL, newSVpv(message, 0)); av_push(RETVAL, newSVpv(documentURI, 0)); av_push(RETVAL, newSViv(fileLine)); OUTPUT: RETVAL CLEANUP: if (message) SablotFree(message); if (documentURI) SablotFree(documentURI); void setSXPOptions(object, options) SV* object unsigned long options CODE: SXP_setOptions(SIT_HANDLE(object), options); unsigned long getSXPOptions(object) SV* object CODE: RETVAL = SXP_getOptions(SIT_HANDLE(object)); OUTPUT: RETVAL