Sorry, this would match your existing code.
/*
// could this be what you really wanted?
Xml_DOM_Node Xml_DOM_Node::getParentNode() const
{
DOM_Node node =
pdomnodeimpl->domnode.getParentNode();
Xml_DOM_Node_Impl* p = new Xml_DOM_Node_Impl; // need to
allocate new struct here.
p->domnode = node;
return Xml_DOM_Node(p); // your destructor deletes the
allocated struct
}
*/
> -----Original Message-----
> From: Adams, David [SMTP:[EMAIL PROTECTED]]
> Sent: Tuesday, June 12, 2001 10:09 AM
> To: '[EMAIL PROTECTED]'
> Subject: RE: wrapping Xerces API in my code !!
>
> It compiles and it does run, but I don't understand what you are trying to
> do in a couple of spots.
>
> 1) unless you are deliberately trying to hide DOM_Node in that struct, or
> unless you deliberately left some additional stuff out of that struct for
> the sake of simplifying your email, I don't see why you don't just put the
> 'DOM_Node' directly in your class. You have a class that wraps a struct
> that
> wraps a DOM_Node. Why not just have a class that wraps DOM_Node ?
>
> class Xml_DOM_Node
> {
> public:
> Xml_DOM_Node(DOM_Node); // Xerces Referencing counting makes
> this essentially the same as 'DOM_Node&'
> ~Xml_DOM_Node();
> DOMString getNodeName() const;
> Xml_DOM_Node getParentNode() const;
> private:
> DOM_Node domnode;
> };
>
> 2) I don't understand why you are reassiging your DOM_Node value in this
> routine, but I don't know what you attend to do with your application. You
> will be pointing your wrapper class to some other node on the tree; maybe
> that's what you intended.
> Xml_DOM_Node Xml_DOM_Node::getParentNode() const
> {
> DOM_Node node =
> pdomnodeimpl->domnode.getParentNode();
> pdomnodeimpl->domnode = node;
> return Xml_DOM_Node(pdomnodeimpl);
> }
>
> /*
> // could this be what you really wanted?
> Xml_DOM_Node Xml_DOM_Node::getParentNode() const
> {
> DOM_Node node =
> pdomnodeimpl->domnode.getParentNode();
> return Xml_DOM_Node(node);
> }
> */
>
>
> > -----Original Message-----
> > From: anand awasthi [SMTP:[EMAIL PROTECTED]]
> > Sent: Tuesday, June 12, 2001 9:28 AM
> > To: [EMAIL PROTECTED]
> > Subject: wrapping Xerces API in my code !!
> >
> > Hi,
> >
> > I am trying to wrap Xerces API in my code in following
> > manner :
> >
> >
> > oni.h
> > ----------
> >
> > struct Xml_DOM_Node_Impl;
> > struct Xml_DOM_Node_Impl
> > {
> > DOM_Node domnode;
> > };
> >
> > class Xml_DOM_Node
> > {
> > public:
> > Xml_DOM_Node(Xml_DOM_Node_Impl*);
> > ~Xml_DOM_Node();
> > DOMString getNodeName() const;
> > Xml_DOM_Node getParentNode() const;
> > private:
> > Xml_DOM_Node_Impl* pdomnodeimpl;
> > };
> >
> >
> > -------------------------------------------
> >
> > oni.cpp
> > ---------
> >
> > #include "oni.h"
> > #include <xercesheaders>
> >
> >
> > Xml_DOM_Node::Xml_DOM_Node(Xml_DOM_Node_Impl* impl) :
> > pdomnodeimpl(impl)
> > {
> > }
> >
> > DOMString Xml_DOM_Node::getNodeName() const
> > {
> > return (pdomnodeimpl->domnode.getNodeName());
> > }
> >
> > Xml_DOM_Node Xml_DOM_Node::getParentNode() const
> > {
> > DOM_Node node =
> > pdomnodeimpl->domnode.getParentNode();
> > pdomnodeimpl->domnode = node;
> > return Xml_DOM_Node(pdomnodeimpl);
> > }
> >
> > Xml_DOM_Node::~Xml_DOM_Node()
> > {
> > delete pdomnodeimpl;
> > }
> >
> > could C++/Xerces gurus pls tell me that above code is
> > correct or not ?? if notr then pls suggest me better
> > ways.
> >
> > i would really appreciate that.
> >
> > thanks
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Get personalized email addresses from Yahoo! Mail - only $35
> > a year! http://personal.mail.yahoo.com/
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]