Cleanup ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE, all platforms support it so far as I can...
[ACE_TAO.git] / ACE / ACEXML / common / DTD_Manager.h
blobe7144ffc562c491e0d2f27ac43dfbb67076ab02b
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file DTD_Manager.h
7 * @author Nanbor Wang <nanbor@cs.wustl.edu>
8 */
9 //=============================================================================
10 #ifndef _ACEXML_DTD_Manager_H_
11 #define _ACEXML_DTD_Manager_H_
13 #include /**/ "ace/pre.h"
14 #include "ACEXML/common/ACEXML_Export.h"
16 #if !defined (ACE_LACKS_PRAGMA_ONCE)
17 #pragma once
18 #endif /* ACE_LACKS_PRAGMA_ONCE */
20 #include "ACEXML/common/Attributes_Def_Builder.h"
21 #include "ACEXML/common/Element_Def_Builder.h"
22 #include "ACEXML/common/Validator.h"
24 /**
25 * @class ACEXML_DTD_Manager
27 * @todo Fill in the blank.
29 class ACEXML_Export ACEXML_DTD_Manager
31 public:
32 virtual ~ACEXML_DTD_Manager () = 0;
34 /**
35 * Acquire a pointer to an element definition builder.
36 * The XML parser use this interface to acquire the
37 * definition builder and use the builder to create
38 * the DTD element definition. The resulting builder
39 * is then registered with the DTD Manager or destroyed
40 * if error occurred when the builder encountered errors.
42 * @retval 0 if error occurs creating the builder.
44 virtual ACEXML_Element_Def_Builder *getElement_Def_Builder () = 0;
46 /**
47 * Insert a new element definition into the DTD Manager.
49 * @retval 0 if success, -1 if error.
51 virtual int insertElement_Definition (ACEXML_Element_Def_Builder *def) = 0;
53 /**
54 * Acquire a pointer to an attributes definition builder.
57 virtual ACEXML_Attributes_Def_Builder *getAttribute_Def_Builder () = 0;
59 /**
60 * Insert a new attributes definition into the DTD Manager.
62 * @retval 0 if success, -1 otherwise.
64 virtual int insertAttributes_Definition (ACEXML_Attributes_Def_Builder *def) = 0;
66 /**
67 * Acquire an element validator to validate an XML element.
69 * @todo I haven't figured out what memory management scheme
70 * we should use for the acquired validator.
72 virtual ACEXML_Validator *getValidator (const ACEXML_Char *namespaceURI,
73 const ACEXML_Char *localName,
74 const ACEXML_Char *qName) = 0;
78 #include /**/ "ace/post.h"
80 #endif /* _ACEXML_DTD_Manager_H_ */