Author: jasons
Date: Mon Nov 3 22:00:12 2003
New Revision: 86
Modified:
xml/xerces-p/trunk/ (props changed)
xml/xerces-p/trunk/ChangeLog
xml/xerces-p/trunk/Handler/ (props changed)
xml/xerces-p/trunk/Xerces.cpp
xml/xerces-p/trunk/Xerces.pm
Log:
usual
Modified: xml/xerces-p/trunk/ChangeLog
==============================================================================
--- xml/xerces-p/trunk/ChangeLog (original)
+++ xml/xerces-p/trunk/ChangeLog Mon Nov 3 22:00:12 2003
@@ -1,3 +1,11 @@
+2003-11-04 Jason E. Stewart <[EMAIL PROTECTED]>
+
+ * Handler/*:
+ multiple inheritance now works with PerlCallbackHandler (fixes 24373)
+
+ * FAQ:
+ updated (fixes 24361)
+
2002-12-09 Jason E. Stewart <[EMAIL PROTECTED]>
* Makefile.PL (Repository):
Modified: xml/xerces-p/trunk/Xerces.cpp
==============================================================================
--- xml/xerces-p/trunk/Xerces.cpp (original)
+++ xml/xerces-p/trunk/Xerces.cpp Mon Nov 3 22:00:12 2003
@@ -693,65 +693,66 @@
#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DocumentHandler swig_types[62]
#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DTDHandler swig_types[63]
#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DocTypeHandler swig_types[64]
-#define SWIGTYPE_p_PanicHandler swig_types[65]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMUserDataHandler swig_types[66]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMErrorHandler swig_types[67]
-#define SWIGTYPE_p_PerlErrorCallbackHandler swig_types[68]
-#define SWIGTYPE_p_PerlDocumentCallbackHandler swig_types[69]
-#define SWIGTYPE_p_PerlContentCallbackHandler swig_types[70]
-#define SWIGTYPE_p_PerlEntityResolverHandler swig_types[71]
-#define SWIGTYPE_p_PerlNodeFilterCallbackHandler swig_types[72]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker swig_types[73]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMText swig_types[74]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS swig_types[75]
-#define SWIGTYPE_p_XMLValid__Codes swig_types[76]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLStringPool swig_types[77]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTypeInfo swig_types[78]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLMsgLoader swig_types[79]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager swig_types[80]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLBufferMgr swig_types[81]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Locator swig_types[82]
-#define SWIGTYPE_p_SecurityManager swig_types[83]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLocator swig_types[84]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMCharacterData swig_types[85]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentFragment swig_types[86]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__BinInputStream swig_types[87]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__URLInputSource swig_types[88]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__LocalFileInputSource swig_types[89]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__StdInInputSource swig_types[90]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemBufInputSource swig_types[91]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource swig_types[92]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNamedNodeMap swig_types[93]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMInputSource swig_types[94]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationSource swig_types[95]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__ReaderMgr swig_types[96]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeList swig_types[97]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Grammar swig_types[98]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAX2XMLReader swig_types[99]
-#define SWIGTYPE_p_SV swig_types[100]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXParser swig_types[101]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMComment swig_types[102]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__HandlerBase swig_types[103]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLUri swig_types[104]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMWriter swig_types[105]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentRange swig_types[106]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLTranscoder swig_types[107]
-#define SWIGTYPE_p_unsigned_int swig_types[108]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__StdOutFormatTarget swig_types[109]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__LocalFileFormatTarget swig_types[110]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemBufFormatTarget swig_types[111]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLFormatTarget swig_types[112]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMProcessingInstruction swig_types[113]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMCDATASection swig_types[114]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__HexBin swig_types[115]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Base64 swig_types[116]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLPScanToken swig_types[117]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLPlatformUtils swig_types[118]
-#define SWIGTYPE_p_PanicHandler__PanicReasons swig_types[119]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLValidator swig_types[120]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMElement swig_types[121]
-#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMEntity swig_types[122]
-static swig_type_info *swig_types[124];
+#define SWIGTYPE_p_PerlCallbackHandler swig_types[65]
+#define SWIGTYPE_p_PanicHandler swig_types[66]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMUserDataHandler swig_types[67]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMErrorHandler swig_types[68]
+#define SWIGTYPE_p_PerlErrorCallbackHandler swig_types[69]
+#define SWIGTYPE_p_PerlDocumentCallbackHandler swig_types[70]
+#define SWIGTYPE_p_PerlContentCallbackHandler swig_types[71]
+#define SWIGTYPE_p_PerlEntityResolverHandler swig_types[72]
+#define SWIGTYPE_p_PerlNodeFilterCallbackHandler swig_types[73]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTreeWalker swig_types[74]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMText swig_types[75]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationLS swig_types[76]
+#define SWIGTYPE_p_XMLValid__Codes swig_types[77]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLStringPool swig_types[78]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMTypeInfo swig_types[79]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLMsgLoader swig_types[80]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemoryManager swig_types[81]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLBufferMgr swig_types[82]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Locator swig_types[83]
+#define SWIGTYPE_p_SecurityManager swig_types[84]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMLocator swig_types[85]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMCharacterData swig_types[86]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentFragment swig_types[87]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__BinInputStream swig_types[88]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__URLInputSource swig_types[89]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__LocalFileInputSource swig_types[90]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__StdInInputSource swig_types[91]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemBufInputSource swig_types[92]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__InputSource swig_types[93]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNamedNodeMap swig_types[94]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMInputSource swig_types[95]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMImplementationSource swig_types[96]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__ReaderMgr swig_types[97]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMNodeList swig_types[98]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Grammar swig_types[99]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAX2XMLReader swig_types[100]
+#define SWIGTYPE_p_SV swig_types[101]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXParser swig_types[102]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMComment swig_types[103]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__HandlerBase swig_types[104]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLUri swig_types[105]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMWriter swig_types[106]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMDocumentRange swig_types[107]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLTranscoder swig_types[108]
+#define SWIGTYPE_p_unsigned_int swig_types[109]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__StdOutFormatTarget swig_types[110]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__LocalFileFormatTarget swig_types[111]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__MemBufFormatTarget swig_types[112]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLFormatTarget swig_types[113]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMProcessingInstruction swig_types[114]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMCDATASection swig_types[115]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__HexBin swig_types[116]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__Base64 swig_types[117]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLPScanToken swig_types[118]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLPlatformUtils swig_types[119]
+#define SWIGTYPE_p_PanicHandler__PanicReasons swig_types[120]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLValidator swig_types[121]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMElement swig_types[122]
+#define SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMEntity swig_types[123]
+static swig_type_info *swig_types[125];
/* -------- TYPES TABLE (END) -------- */
@@ -52618,54 +52619,6 @@
croak(_swigerr);
}
-XS(_wrap_PerlEntityResolverHandler_set_callback_obj) {
- char _swigmsg[SWIG_MAX_ERRMSG] = "";
- const char *_swigerr = _swigmsg;
- {
- PerlEntityResolverHandler *arg1 = (PerlEntityResolverHandler *) 0 ;
- SV *arg2 = (SV *) 0 ;
- SV *result;
- int argvi = 0;
- dXSARGS;
-
- if ((items < 2) || (items > 2)) {
- SWIG_croak("Usage: PerlEntityResolverHandler_set_callback_obj(self,SV
*);");
- }
- {
- if (SWIG_ConvertPtr(ST(0), (void **) &arg1,
SWIGTYPE_p_PerlEntityResolverHandler,0) < 0) {
- SWIG_croak("Type error in argument 1 of
PerlEntityResolverHandler_set_callback_obj. Expected _p_PerlEntityResolverHandler");
- }
- }
- {
- arg2 = ST(1);
- }
- {
- try {
- result = (SV *)(arg1)->set_callback_obj(arg2);
-
- }
- catch (const XMLException& e)
- {
- makeXMLException(e);
- }
- catch (const DOMException& e)
- {
- makeDOMException(e);
- }
- catch (...)
- {
- croak("%s", "Handling Unknown exception");
- }
- }
- ST(argvi) = sv_newmortal();
- SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_SV, 0|0);
- XSRETURN(argvi);
- fail:
- (void) _swigerr;
- }
- croak(_swigerr);
-}
-
XS(_wrap_new_PerlNodeFilterCallbackHandler__SWIG_0) {
char _swigmsg[SWIG_MAX_ERRMSG] = "";
const char *_swigerr = _swigmsg;
@@ -52808,54 +52761,6 @@
croak(_swigerr);
}
-XS(_wrap_PerlNodeFilterCallbackHandler_set_callback_obj) {
- char _swigmsg[SWIG_MAX_ERRMSG] = "";
- const char *_swigerr = _swigmsg;
- {
- PerlNodeFilterCallbackHandler *arg1 = (PerlNodeFilterCallbackHandler *) 0 ;
- SV *arg2 = (SV *) 0 ;
- SV *result;
- int argvi = 0;
- dXSARGS;
-
- if ((items < 2) || (items > 2)) {
- SWIG_croak("Usage: PerlNodeFilterCallbackHandler_set_callback_obj(self,SV
*);");
- }
- {
- if (SWIG_ConvertPtr(ST(0), (void **) &arg1,
SWIGTYPE_p_PerlNodeFilterCallbackHandler,0) < 0) {
- SWIG_croak("Type error in argument 1 of
PerlNodeFilterCallbackHandler_set_callback_obj. Expected
_p_PerlNodeFilterCallbackHandler");
- }
- }
- {
- arg2 = ST(1);
- }
- {
- try {
- result = (SV *)(arg1)->set_callback_obj(arg2);
-
- }
- catch (const XMLException& e)
- {
- makeXMLException(e);
- }
- catch (const DOMException& e)
- {
- makeDOMException(e);
- }
- catch (...)
- {
- croak("%s", "Handling Unknown exception");
- }
- }
- ST(argvi) = sv_newmortal();
- SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_SV, 0|0);
- XSRETURN(argvi);
- fail:
- (void) _swigerr;
- }
- croak(_swigerr);
-}
-
/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
static void
*_p_XERCES_CPP_NAMESPACE__DOMWriterFilterTo_p_XERCES_CPP_NAMESPACE__DOMNodeFilter(void
*x) {
@@ -52999,6 +52904,12 @@
static void
*_p_XERCES_CPP_NAMESPACE__XercesDOMParserTo_p_XERCES_CPP_NAMESPACE__DocTypeHandler(void
*x) {
return (void *)((XERCES_CPP_NAMESPACE::DocTypeHandler *)
(XERCES_CPP_NAMESPACE::AbstractDOMParser *) ((XERCES_CPP_NAMESPACE::XercesDOMParser *)
x));
}
+static void *_p_PerlEntityResolverHandlerTo_p_PerlCallbackHandler(void *x) {
+ return (void *)((PerlCallbackHandler *) ((PerlEntityResolverHandler *) x));
+}
+static void *_p_PerlNodeFilterCallbackHandlerTo_p_PerlCallbackHandler(void *x) {
+ return (void *)((PerlCallbackHandler *) ((PerlNodeFilterCallbackHandler *) x));
+}
static void
*_p_XERCES_CPP_NAMESPACE__DOMCDATASectionTo_p_XERCES_CPP_NAMESPACE__DOMText(void *x) {
return (void *)((XERCES_CPP_NAMESPACE::DOMText *)
((XERCES_CPP_NAMESPACE::DOMCDATASection *) x));
}
@@ -53106,6 +53017,7 @@
static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DocumentHandler[] =
{{"XML::Xerces::DocumentHandler", 0, "XERCES_CPP_NAMESPACE::DocumentHandler *",
0},{"XML::Xerces::HandlerBase",
_p_XERCES_CPP_NAMESPACE__HandlerBaseTo_p_XERCES_CPP_NAMESPACE__DocumentHandler},{"XML::Xerces::DocumentHandler"},{"XML::Xerces::PerlDocumentCallbackHandler",
_p_PerlDocumentCallbackHandlerTo_p_XERCES_CPP_NAMESPACE__DocumentHandler},{0}};
static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DTDHandler[] =
{{"XML::Xerces::DTDHandler", 0, "XERCES_CPP_NAMESPACE::DTDHandler *",
0},{"XML::Xerces::HandlerBase",
_p_XERCES_CPP_NAMESPACE__HandlerBaseTo_p_XERCES_CPP_NAMESPACE__DTDHandler},{"XML::Xerces::DTDHandler"},{"XML::Xerces::DefaultHandler",
_p_XERCES_CPP_NAMESPACE__DefaultHandlerTo_p_XERCES_CPP_NAMESPACE__DTDHandler},{0}};
static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DocTypeHandler[] =
{{"XML::Xerces::DocTypeHandler", 0, "XERCES_CPP_NAMESPACE::DocTypeHandler *",
0},{"XML::Xerces::SAXParser",
_p_XERCES_CPP_NAMESPACE__SAXParserTo_p_XERCES_CPP_NAMESPACE__DocTypeHandler},{"XML::Xerces::AbstractDOMParser",
_p_XERCES_CPP_NAMESPACE__AbstractDOMParserTo_p_XERCES_CPP_NAMESPACE__DocTypeHandler},{"XML::Xerces::XercesDOMParser",
_p_XERCES_CPP_NAMESPACE__XercesDOMParserTo_p_XERCES_CPP_NAMESPACE__DocTypeHandler},{"XML::Xerces::DocTypeHandler"},{0}};
+static swig_type_info _swigt__p_PerlCallbackHandler[] = {{"_p_PerlCallbackHandler",
0, "PerlCallbackHandler *",
0},{"_p_PerlCallbackHandler"},{"XML::Xerces::PerlEntityResolverHandler",
_p_PerlEntityResolverHandlerTo_p_PerlCallbackHandler},{"XML::Xerces::PerlNodeFilterCallbackHandler",
_p_PerlNodeFilterCallbackHandlerTo_p_PerlCallbackHandler},{0}};
static swig_type_info _swigt__p_PanicHandler[] = {{"_p_PanicHandler", 0,
"PanicHandler *", 0},{"_p_PanicHandler"},{0}};
static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMUserDataHandler[] =
{{"_p_XERCES_CPP_NAMESPACE__DOMUserDataHandler", 0,
"XERCES_CPP_NAMESPACE::DOMUserDataHandler *",
0},{"_p_XERCES_CPP_NAMESPACE__DOMUserDataHandler"},{0}};
static swig_type_info _swigt__p_XERCES_CPP_NAMESPACE__DOMErrorHandler[] =
{{"_p_XERCES_CPP_NAMESPACE__DOMErrorHandler", 0,
"XERCES_CPP_NAMESPACE::DOMErrorHandler *",
0},{"_p_XERCES_CPP_NAMESPACE__DOMErrorHandler"},{0}};
@@ -53231,6 +53143,7 @@
_swigt__p_XERCES_CPP_NAMESPACE__DocumentHandler,
_swigt__p_XERCES_CPP_NAMESPACE__DTDHandler,
_swigt__p_XERCES_CPP_NAMESPACE__DocTypeHandler,
+_swigt__p_PerlCallbackHandler,
_swigt__p_PanicHandler,
_swigt__p_XERCES_CPP_NAMESPACE__DOMUserDataHandler,
_swigt__p_XERCES_CPP_NAMESPACE__DOMErrorHandler,
@@ -54864,10 +54777,8 @@
{"XML::Xercesc::PerlContentCallbackHandler_skippedEntity",
_wrap_PerlContentCallbackHandler_skippedEntity},
{"XML::Xercesc::new_PerlEntityResolverHandler", _wrap_new_PerlEntityResolverHandler},
{"XML::Xercesc::delete_PerlEntityResolverHandler",
_wrap_delete_PerlEntityResolverHandler},
-{"XML::Xercesc::PerlEntityResolverHandler_set_callback_obj",
_wrap_PerlEntityResolverHandler_set_callback_obj},
{"XML::Xercesc::new_PerlNodeFilterCallbackHandler",
_wrap_new_PerlNodeFilterCallbackHandler},
{"XML::Xercesc::delete_PerlNodeFilterCallbackHandler",
_wrap_delete_PerlNodeFilterCallbackHandler},
-{"XML::Xercesc::PerlNodeFilterCallbackHandler_set_callback_obj",
_wrap_PerlNodeFilterCallbackHandler_set_callback_obj},
{0,0}
};
Modified: xml/xerces-p/trunk/Xerces.pm
==============================================================================
--- xml/xerces-p/trunk/Xerces.pm (original)
+++ xml/xerces-p/trunk/Xerces.pm Mon Nov 3 22:00:12 2003
@@ -4449,7 +4449,6 @@
}
-*set_callback_obj = *XML::Xercesc::PerlEntityResolverHandler_set_callback_obj;
sub DISOWN {
my $self = shift;
my $ptr = tied(%$self);
@@ -4477,7 +4476,6 @@
}
-*set_callback_obj = *XML::Xercesc::PerlNodeFilterCallbackHandler_set_callback_obj;
sub DISOWN {
my $self = shift;
my $ptr = tied(%$self);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]