To have your POD display HTML pages, your POD must register a PODSDocumentSrc
object that implements documentForUrl()
and documentForSubmission()
. For sample code illustrating the use of these methods, see DocumentSrc sample: vending documents.
These methods are inherited by the PODSDocumentMgr
object. When your POD executes documentForUrl()
or documentForSubmission()
from PODSDocumentMgr
, these methods examine every registered document source until a match is found: documentForUrl()
returns a document for that URL; documentForSubmission()
returns a document for that submission object.
If either documentForUrl()
or documentForSubmission()
fail to find a match, they return a NULL
PODSDocument
object, along with a handled
argument set to PODS_FALSE
. For details on these PODSDocumentMgr
methods, see:
The documentForUrl()
and documentForSubmission()
methods can also set handled
to PODS_TRUE
and still return NULL. This is useful if handling the URL or submission does not involve displaying a response. For example,
the URL or submission could simply change the state of M-Business Client.
More information on displaying HTML pages follows below. For an example of a POD that submits a form, see the sample code for Pod sample: submitting forms.
Your POD can create a document using PODSDocumentMgr
object's createDocument( ) and then use the attributes from PODSObject object to add to it.
The following example uses createDocument( )
to create a document:
static PODSDocument *DocumentSrcDocumentForUrl( PODSDocumentSrc *podsDocSrc, PODSString url, PODSBoolean *handled) { DocumentSrc *self = (DocumentSrc *)podsDocSrc; if (0 == stricmp(url, SAMPLE_URL)) { PODSDocument *doc = PODScreateDocument(self->documentMgr, SAMPLE_URL, PODS_HTML_TYPE); ADOMHTMLDocument *dom = PODSgetDom(doc); ADOMElement *body; ADOMText *node; ADOMsetTitle(dom, (ADOMString)"Hello World!"); body = ADOMcreateElement(dom, (ADOMString)"body"); ADOMappendChild(dom, (ADOMNode *)body); node = ADOMcreateTextNode(dom, (ADOMString)"Hello World!"); ADOMappendChild(body, (ADOMNode *)node); if (handled) *handled = PODS_TRUE; return doc; } return NULL; } |
Send feedback about this page using email. | Copyright © 2008, iAnywhere Solutions, Inc. |