summaryrefslogtreecommitdiff
path: root/win32/sablot/include/shandler.h
diff options
context:
space:
mode:
Diffstat (limited to 'win32/sablot/include/shandler.h')
-rw-r--r--win32/sablot/include/shandler.h738
1 files changed, 0 insertions, 738 deletions
diff --git a/win32/sablot/include/shandler.h b/win32/sablot/include/shandler.h
deleted file mode 100644
index bf4f3fa..0000000
--- a/win32/sablot/include/shandler.h
+++ /dev/null
@@ -1,738 +0,0 @@
-/*
-
- * 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 Sablotron XSLT Processor.
-
- *
-
- * The Initial Developer of the Original Code is Ginger Alliance Ltd.
-
- * Portions created by Ginger Alliance are Copyright (C) 2000-2002
-
- * Ginger Alliance Ltd. All Rights Reserved.
-
- *
-
- * Contributor(s):
-
- *
-
- * 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.
-
- */
-
-
-
-#ifndef ShandlerHIncl
-
-#define ShandlerHIncl
-
-
-
-/* we have to deal with the size_t type, sys/types.h;
-
- is needed on some platforms */
-
-#if !defined(_MSC_VER) && !defined(__BORLANDC__)
-
-#include <sabcfg.h>
-
-#endif
-
-
-
-#include <stddef.h>
-
-
-
-/* GP: clean */
-
-
-
-/*****************************************************************
-
-
-
- handler types
-
-
-
-*****************************************************************/
-
-
-
-typedef enum
-
-{
-
- HLR_MESSAGE = 0,
-
- HLR_SCHEME,
-
- HLR_SAX,
-
- HLR_MISC,
-
- HLR_ENC
-
-} HandlerType;
-
-
-
-extern const char* hlrTypeNames[]; /* found in base.cpp */
-
-
-
-typedef enum
-
-{
-
- SH_ERR_OK = 0,
-
- SH_ERR_NOT_OK = 1,
-
- SH_ERR_UNSUPPORTED_SCHEME
-
-} SchemeHandlerErrors;
-
-
-
-/*****************************************************************
-
-SchemeHandler
-
-
-
- is a structure for a scheme handler. It contains pointers to
-
- the following functions of the handler:
-
- open(), get(), put(), close().
-
- All of these function return an error flag (0=OK, 1=not).
-
- open() may also return SH_ERR_UNSUPPORTED_SCHEME.
-
-*****************************************************************/
-
-
-
-/* getAll: open the URI and return the whole string
-
- scheme = URI scheme (e.g. "http")
-
- rest = the rest of the URI (without colon)
-
- the document is returned in a handler-allocated buffer
-
- byteCount holds the byte count on return
-
- return *buffer = NULL if not processed
-
-*/
-
-typedef int SchemeHandlerGetAll(void *userData, SablotHandle processor_,
-
- const char *scheme, const char *rest,
-
- char **buffer, int *byteCount);
-
-
-
-/* freeMemory: free the buffer allocated by getAll
-
-*/
-
-
-
-typedef int SchemeHandlerFreeMemory(void *userData, SablotHandle processor_,
-
- char *buffer);
-
-
-
-/* open: open the URI and return a handle
-
- scheme = URI scheme (e.g. "http")
-
- rest = the rest of the URI (without colon)
-
- the resulting handle is returned in '*handle'
-
-*/
-
-typedef int SchemeHandlerOpen(void *userData, SablotHandle processor_,
-
- const char *scheme, const char *rest, int *handle);
-
-
-
-/* get: retrieve data from the URI
-
- handle = the handle assigned on open
-
- buffer = pointer to the data
-
- *byteCount = number of bytes to read
-
- (the number actually read is returned here)
-
-*/
-
-typedef int SchemeHandlerGet(void *userData, SablotHandle processor_,
-
- int handle, char *buffer, int *byteCount);
-
-
-
-/* put: save data to the URI (if possible)
-
- handle = the handle assigned on open
-
- buffer = pointer to the data
-
- *byteCount = number of bytes to write
-
- (the number actually written is returned here)
-
-*/
-
-typedef int SchemeHandlerPut(void *userData, SablotHandle processor_,
-
- int handle, const char *buffer, int *byteCount);
-
-
-
-/* close: close the URI with the given handle
-
- handle = the handle assigned on open
-
-*/
-
-typedef int SchemeHandlerClose(void *userData, SablotHandle processor_,
-
- int handle);
-
-
-
-typedef struct
-
-{
-
- SchemeHandlerGetAll *getAll;
-
- SchemeHandlerFreeMemory *freeMemory;
-
- SchemeHandlerOpen *open;
-
- SchemeHandlerGet *get;
-
- SchemeHandlerPut *put;
-
- SchemeHandlerClose *close;
-
-} SchemeHandler;
-
-
-
-/*****************************************************************
-
-MessageHandler
-
-
-
- a structure for external message handlers. Such a handler, if set,
-
- receives all error reports, displays them, keeps the log, the
-
- error trace, etc.
-
-*****************************************************************/
-
-
-
-/*
-
- define the "facility number" for Sablotron. This does not mean much
-
- nowadays.
-
-*/
-
-
-
-#define MH_FACILITY_SABLOTRON 2
-
-
-
-/* type for the error codes used by the message handler */
-
-
-
-typedef unsigned long MH_ERROR;
-
-
-
-/* logging levels for the message handler */
-
-
-
-typedef enum
-
-{
-
- MH_LEVEL_DEBUG,
-
- MH_LEVEL_INFO,
-
- MH_LEVEL_WARN,
-
- MH_LEVEL_ERROR,
-
- MH_LEVEL_CRITICAL
-
-} MH_LEVEL;
-
-
-
-/*
-
- makeCode()
-
- makes the "external" error code to report with log() or error()
-
- call with facility = module id; severity = 1 iff critical.
-
- 'code' is the error code internal to Sablotron.
-
-*/
-
-
-
-typedef MH_ERROR
-
-MessageHandlerMakeCode(
-
- void *userData, SablotHandle processor_,
-
- int severity, unsigned short facility, unsigned short code);
-
-
-
-/*
-
- log()
-
- pass code created by makeCode, level as necessary
-
- fields is a NULL-terminated list of strings in form "field:contents"
-
- distinguished fields include: msg, file, line, token
-
-*/
-
-
-
-typedef MH_ERROR
-
-MessageHandlerLog(
-
- void *userData, SablotHandle processor_,
-
- MH_ERROR code, MH_LEVEL level, char **fields);
-
-
-
-/*
-
- error()
-
- for reporting errors, meaning as with log()
-
-*/
-
-
-
-typedef MH_ERROR
-
-MessageHandlerError(void *userData, SablotHandle processor_,
-
- MH_ERROR code, MH_LEVEL level, char **fields);
-
-
-
-/* the message handler structure. Use SablotRegMessageHandler() to register. */
-
-
-
-typedef struct
-
-{
-
- MessageHandlerMakeCode *makeCode;
-
- MessageHandlerLog *log;
-
- MessageHandlerError *error;
-
-} MessageHandler;
-
-
-
-
-
-
-
-
-
-
-
-/*
-
-
-
- SAXHandler
-
- a SAX-like, streaming interface for access to XML docs
-
-
-
-*/
-
-
-
-
-
-#define SAX_RETURN void
-
-
-
-typedef SAX_RETURN
-
-SAXHandlerStartDocument(void* userData, SablotHandle processor_);
-
-
-
-typedef SAX_RETURN
-
-SAXHandlerStartElement(void* userData, SablotHandle processor_,
-
- const char* name, const char** atts);
-
-
-
-typedef SAX_RETURN
-
-SAXHandlerEndElement(void* userData, SablotHandle processor_,
-
- const char* name);
-
-
-
-typedef SAX_RETURN
-
-SAXHandlerStartNamespace(void* userData, SablotHandle processor_,
-
- const char* prefix, const char* uri);
-
-
-
-typedef SAX_RETURN
-
-SAXHandlerEndNamespace(void* userData, SablotHandle processor_,
-
- const char* prefix);
-
-
-
-typedef SAX_RETURN
-
-SAXHandlerComment(void* userData, SablotHandle processor_,
-
- const char* contents);
-
-
-
-typedef SAX_RETURN
-
-SAXHandlerPI(void* userData, SablotHandle processor_,
-
- const char* target, const char* contents);
-
-
-
-typedef SAX_RETURN
-
-SAXHandlerCharacters(void* userData, SablotHandle processor_,
-
- const char* contents, int length);
-
-
-
-typedef SAX_RETURN
-
-SAXHandlerEndDocument(void* userData, SablotHandle processor_);
-
-
-
-
-
-/*
-
- The SAX handler structure. Use SablotRegSAXHandler() to register.
-
-*/
-
-
-
-
-
-typedef struct
-
-{
-
- SAXHandlerStartDocument *startDocument;
-
- SAXHandlerStartElement *startElement;
-
- SAXHandlerEndElement *endElement;
-
- SAXHandlerStartNamespace *startNamespace;
-
- SAXHandlerEndNamespace *endNamespace;
-
- SAXHandlerComment *comment;
-
- SAXHandlerPI *processingInstruction;
-
- SAXHandlerCharacters *characters;
-
- SAXHandlerEndDocument *endDocument;
-
-} SAXHandler;
-
-
-
-
-
-/*****************************************************************
-
-MiscHandler
-
-
-
- Collects miscellaneous callbacks.
-
-*****************************************************************/
-
-
-
-/*
-
- documentInfo()
-
- If set, this callback gets called after the output of a result
-
- document is finished, giving information about its content type
-
- and encoding.
-
-*/
-
-
-
-typedef void
-
-MiscHandlerDocumentInfo(void* userData, SablotHandle processor_,
-
- const char *contentType, const char *encoding);
-
-
-
-/*
-
- The Misc handler structure.
-
- Use SablotRegHandler(HLR_MISC, ...) to register.
-
-*/
-
-
-
-typedef struct
-
-{
-
- MiscHandlerDocumentInfo *documentInfo;
-
-} MiscHandler;
-
-
-
-/*****************************************************************
-
-EncHandler
-
-
-
- Handler for recoding requests in absence of iconv.
-
-*****************************************************************/
-
-
-
-#define EH_FROM_UTF8 1
-
-#define EH_TO_UTF8 0
-
-
-
-/*
-
- the conversion descriptor like iconv_t
-
-*/
-
-
-
-typedef void* EHDescriptor;
-
-
-
-typedef enum
-
-{
-
- EH_OK,
-
- EH_EINVAL,
-
- EH_E2BIG,
-
- EH_EILSEQ
-
-} EHResult;
-
-
-
-/*
-
- open()
-
- direction is either EH_FROM_UTF8 or EH_TO_UTF8
-
- encoding is the other encoding
-
- RETURN the descriptor, or -1 if the encoding is not supported
-
-*/
-
-
-
-typedef EHDescriptor EncHandlerOpen(void* userData, SablotHandle processor_,
-
- int direction, const char *encoding);
-
-
-
-/*
-
- conv()
-
- arguments 3 through 7 are just like for iconv, see the manpage
-
- RETURN -1 on error (set errno), a different value (e.g. 0) if OK
-
-*/
-
-
-
-typedef EHResult EncHandlerConv(void* userData, SablotHandle processor_,
-
- EHDescriptor cd, const char** inbuf, size_t *inbytesleft,
-
- char ** outbuf, size_t *outbytesleft);
-
-
-
-/*
-
- close()
-
- cd is the descriptor to close. Return 0 if OK, -1 on error.
-
-*/
-
-
-
-typedef int EncHandlerClose(void* userData, SablotHandle processor_,
-
- EHDescriptor cd);
-
-
-
-/*
-
- The EncHandler structure.
-
- Use SablotRegHandler(HLR_ENC, ...) to register.
-
-*/
-
-
-
-typedef struct
-
-{
-
- EncHandlerOpen *open;
-
- EncHandlerConv *conv;
-
- EncHandlerClose *close;
-
-} EncHandler;
-
-
-
-#endif
-