This HTML document was auto-generated from NativeInterface.h
/***************************************************************** Interface: XmlDocument Desc: Allows access to an XML document through three methods, a DOM tree view, a serialized stream view, and a SAX event view. Notes: *****************************************************************/Method: XmlDocument::getDocumentBytes
//========================================================================= // Method: getDocumentBytes // Desc: Return the XML document as a serialized byte array // // Notes: // The encoding must be a standard XML encoding string: // Example: "ASCII", "UTF-8", "UTF-16" // // This will return 0 if there is no data or the desired encoding // is not supported. "US-ASCII" shall always be supported. //========================================================================= C++ Signature const unsigned char * XmlDocument::getDocumentBytes( const unicode * encoding, //desired encoding int endian, // int * length //pointer to a variable to receive length of array in bytes );Method: XmlDocument::getDocument
//========================================================================= // Method: getDocument // Desc: Return the XML document as a DOM tree. // // Notes: The returned Document object belongs to the XmlDocument object. // No attempt must be made to delete it. //========================================================================= C++ Signature Document * XmlDocument::getDocument( );Method: XmlDocument::getDocumentSAX
//========================================================================= // Method: getDocumentSAX // Desc: Return a SAX Parser interface through which the caller can get // a series of events describing the document. // // Notes: The caller must also call getDocumentInputSource() to get // the InputSource for use with the Parser's parse() method. //========================================================================= C++ Signature Parser * XmlDocument::getDocumentSAX( );Method: XmlDocument::getDocumentInputSource
//========================================================================= // Method: getDocumentInputSource // Desc: Return an InputSource object for use with the Parser returned // from getDocumentSAX(). // // Notes: The returned InputSource must only be used with the Parser // returned from getDocumentSAX(). The InputSource belongs to // the XMLDocument object and no attempt must be made to delete it. //========================================================================= C++ Signature InputSource * XmlDocument::getDocumentInputSource( );Method: XmlDocument::writeDocument
//========================================================================= // Method: writeDocument // Desc: Serialize the document to the passed OutputStream using // default settings // // Notes: // outputStream may not be 0 // if encoding is zero, the default encoding will be used (UTF-8) //========================================================================= C++ Signature int XmlDocument::writeDocument( OutputStream * outputStream, //stream to which to write const unicode * encoding, //character encoding to use, or 0 int endian //0 for little-endian, 1 for big-endian );Method: XmlDocument::getXmlWriter
//========================================================================= // Method: getXmlWriter // Desc: Return an XmlWriter interface that can be used to serialize // the XML document. // // The XmlWriter interface has methods for more closely controlling // how the XML is output. For example, if the document is really // just text, XML output escaping can be disabled. // // After the various attributes have been set, calling to // XmlWriter's write() method will cause the serialization to occur. // // Notes: // outputStream may not be 0 //========================================================================= C++ Signature XmlWriter * XmlDocument::getXmlWriter( OutputStream * outputStream //stream to which to write );Method: XmlDocument::releaseXmlWriter
//========================================================================= // Method: releaseXmlWriter // Desc: Notify the XmlDocument object that the XmlWriter object // returned from getXmlWriter may be freed. // // Notes: // This must be called before the OutputStream that was passed // to getXmlWriter is released //========================================================================= C++ Signature void XmlDocument::releaseXmlWriter( );
/***************************************************************** Interface: XmlQueryProcessor Desc: Executes an XML-encoded query and returns the XML-encoded result. This is used for the SubscriptionShim to query NDS and for NDS to query the PublicationShim. Notes: *****************************************************************/Method: XmlQueryProcessor::query
//========================================================================= // Method: query // Desc: Execute an XML-encoded query and return the XML-encoding result // // Notes: The passed query document is only valid during the context // of the call to this method. // // The returned result document is only valid until the next call // to this method. //========================================================================= C++ Signature XmlDocument * Query::query( XmlDocument * document //Xml-encoded query );
/***************************************************************** Interface: XmlCommandProcessor Desc: Executes an XDS-encoded commandand returns the XDS-encoded result. This is used for NDS to send events to the SubscriptionShim and for the PublicationShim to send events to NDS. Notes: *****************************************************************/Method: XmlCommandProcessor::execute
//========================================================================= // Method: execute // Desc: Execute an XML-encoded request and return the XML-encoded result. // // Notes: The passed request document is only valid during the context // of the call to this method. // // The passed Query interface is only valid during the context of // the call to this method. // // The returned result document is only valid until the next call // to this method. //========================================================================= C++ Signature XmlDocument * Execute::execute( XmlDocument * document, //request document XmlQueryProcessor * queryInterface //Interface through which callee may query caller );
Inherits from XmlCommandProcessor/***************************************************************** Interface: SubscriptionShim Desc: The interface through which NDS sends events to an application. Notes: *****************************************************************/Method: SubscriptionShim::init
//========================================================================= // Method: init // Desc: Allow the shim to perform any necessary initialization before // accepting requests. // // Notes: //========================================================================= C++ Signature XmlDocument * SubscriptionShim::init( XmlDocument * shimParameters //shim initialization parms );
/***************************************************************** Interface: PublicationShim Desc: The interface through which an application sends events to NDS. Notes: *****************************************************************/Method: PublicationShim::init
//========================================================================= // Method: init // Desc: Allow the shim to perform any necessary initialization before // accepting requests. // // Notes: This will be called on a different thread than the // DriverShim::init() and SubscriptionShim::init() and // SubscriptionShim::execute() calls (but the same thread as // PublicationShim::start()) //========================================================================= C++ Signature XmlDocument * PublicationShim::init( XmlDocument * shimParameters //shim initialization parms );Method: PublicationShim::start
//========================================================================= // Method: start // Desc: Pass control to the publisher shim so that the shim can start // publishing application events. // // Notes: This method must not return until driver shutdown, unless it // returns with a fatal error status. // This will be called on a different thread than the // DriverShim::init() and SubscriptionShim::init() and // SubscriptionShim::execute() calls (but the same thread as // PublicationShim::init()) //========================================================================= C++ Signature XmlDocument * PublicationShim::start( XmlCommandProcessor * ndsExecute //The NDS XmlCommandProcessor interface for publication );
/***************************************************************** Interface: DriverShim Desc: The abstraction of a DirXML driver for a single application. Notes: *****************************************************************/Method: DriverShim::init
//========================================================================= // Method: init // Desc: Allow the driver to perform an shim-independent initialization. // // Notes: //========================================================================= C++ Signature XmlDocument * DriverShim::init( XmlDocument * shimParameters //Parameters for shims );Method: DriverShim::shutdown
//========================================================================= // Method: shutdown // Desc: Command the driver to shutdown in preparation for being unloaded. // // Notes: //========================================================================= C++ Signature XmlDocument * DriverShim::shutdown( XmlDocument * reason //XML-encoded reason for shutdown );Method: DriverShim::getSubscriptionShim
//========================================================================= // Method: getSubscriptionShim // Desc: Get a pointer to the SubscriptionShim interface from the // driver. // // Notes: Return must not be null. //========================================================================= C++ Signature SubscriptionShim * DriverShim::getSubscriptionShim( );Method: DriverShim::getPublicationShim
//========================================================================= // Method: getPublicationShim // Desc: Get a pointer to the PublicationShim interface from the // driver. // // Notes: Return must not be null. //========================================================================= C++ Signature PublicationShim * DriverShim::getPublicationShim( );Method: DriverShim::getSchema
//========================================================================= // Method: getSchema // Desc: Get an XML representation of the application schema from the // driver. This will not be called if init()/shutdown() are called // for a driver instance, and vice-versa. // // Notes: //========================================================================= C++ Signature XmlDocument * DriverShim::getSchema( XmlDocument * initParameters //Parameters for (driver init, subscriber init, and publisher init params) );Method: DriverShim::destroy
//========================================================================= // Method: destroy // Desc: Free any resources allocated by the driver, including the // driver object itself. // // Notes: This will be called after shutdown() (assuming init() succeeds) //========================================================================= C++ Signature void DriverShim::destroy( );