00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef ACEXML_SVCCONF_HANDLER_H
00014 #define ACEXML_SVCCONF_HANDLER_H
00015
00016 #include "ACEXML/common/DefaultHandler.h"
00017 #include "ace/Service_Types.h"
00018
00019 #if (ACE_USES_CLASSIC_SVC_CONF == 0)
00020
00021 class ACE_Parsed_Info
00022 {
00023 public:
00024 ACE_Parsed_Info ();
00025 ~ACE_Parsed_Info ();
00026
00027
00028
00029
00030 int name (const ACEXML_Char *n);
00031 const ACEXML_Char *name (void);
00032
00033
00034
00035
00036 int service_type (int type);
00037 int service_type (void);
00038
00039
00040
00041
00042 int active (int a);
00043 int active (void);
00044
00045
00046
00047
00048 int path (const ACEXML_Char *n);
00049 const ACEXML_Char *path (void);
00050
00051
00052
00053
00054 int init_func (const ACEXML_Char *n);
00055 const ACEXML_Char *init_func (void);
00056
00057
00058
00059
00060 int init_params (const ACEXML_Char *n);
00061 const ACEXML_Char *init_params (void);
00062
00063
00064
00065
00066 void reset (void);
00067
00068 protected:
00069 ACEXML_Char *name_;
00070 int service_type_;
00071 int active_;
00072 ACEXML_Char *path_;
00073 ACEXML_Char *init_func_;
00074 ACEXML_Char *init_params_;
00075 };
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085 class ACEXML_Svcconf_Handler : public ACEXML_DefaultHandler
00086 {
00087 public:
00088
00089
00090
00091 ACEXML_Svcconf_Handler (void);
00092
00093
00094
00095
00096 virtual ~ACEXML_Svcconf_Handler (void);
00097
00098
00099
00100
00101
00102
00103 virtual void characters (const ACEXML_Char *ch,
00104 int start,
00105 int length ACEXML_ENV_ARG_DECL)
00106 ACE_THROW_SPEC ((ACEXML_SAXException))
00107 ;
00108
00109
00110
00111
00112 virtual void endDocument (ACEXML_ENV_SINGLE_ARG_DECL)
00113 ACE_THROW_SPEC ((ACEXML_SAXException))
00114 ;
00115
00116
00117
00118
00119 virtual void endElement (const ACEXML_Char *namespaceURI,
00120 const ACEXML_Char *localName,
00121 const ACEXML_Char *qName ACEXML_ENV_ARG_DECL)
00122 ACE_THROW_SPEC ((ACEXML_SAXException))
00123 ;
00124
00125
00126
00127
00128 virtual void endPrefixMapping (const ACEXML_Char *prefix ACEXML_ENV_ARG_DECL)
00129 ACE_THROW_SPEC ((ACEXML_SAXException))
00130 ;
00131
00132
00133
00134
00135 virtual void ignorableWhitespace (const ACEXML_Char *ch,
00136 int start,
00137 int length ACEXML_ENV_ARG_DECL)
00138 ACE_THROW_SPEC ((ACEXML_SAXException))
00139 ;
00140
00141
00142
00143
00144 virtual void processingInstruction (const ACEXML_Char *target,
00145 const ACEXML_Char *data ACEXML_ENV_ARG_DECL)
00146 ACE_THROW_SPEC ((ACEXML_SAXException))
00147 ;
00148
00149
00150
00151
00152 virtual void setDocumentLocator (ACEXML_Locator *locator) ;
00153
00154
00155
00156
00157 virtual void skippedEntity (const ACEXML_Char *name ACEXML_ENV_ARG_DECL)
00158 ACE_THROW_SPEC ((ACEXML_SAXException))
00159 ;
00160
00161
00162
00163
00164 virtual void startDocument (ACEXML_ENV_SINGLE_ARG_DECL)
00165 ACE_THROW_SPEC ((ACEXML_SAXException))
00166 ;
00167
00168
00169
00170
00171 virtual void startElement (const ACEXML_Char *namespaceURI,
00172 const ACEXML_Char *localName,
00173 const ACEXML_Char *qName,
00174 ACEXML_Attributes *atts ACEXML_ENV_ARG_DECL)
00175 ACE_THROW_SPEC ((ACEXML_SAXException))
00176 ;
00177
00178
00179
00180
00181 virtual void startPrefixMapping (const ACEXML_Char *prefix,
00182 const ACEXML_Char *uri ACEXML_ENV_ARG_DECL)
00183 ACE_THROW_SPEC ((ACEXML_SAXException))
00184 ;
00185
00186
00187
00188
00189
00190
00191 virtual void notationDecl (const ACEXML_Char *name,
00192 const ACEXML_Char *publicId,
00193 const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL)
00194 ACE_THROW_SPEC ((ACEXML_SAXException))
00195 ;
00196
00197
00198
00199
00200 virtual void unparsedEntityDecl (const ACEXML_Char *name,
00201 const ACEXML_Char *publicId,
00202 const ACEXML_Char *systemId,
00203 const ACEXML_Char *notationName ACEXML_ENV_ARG_DECL)
00204 ACE_THROW_SPEC ((ACEXML_SAXException))
00205 ;
00206
00207
00208
00209
00210
00211
00212 virtual ACEXML_InputSource *resolveEntity (const ACEXML_Char *publicId,
00213 const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL)
00214 ACE_THROW_SPEC ((ACEXML_SAXException))
00215 ;
00216
00217
00218
00219
00220
00221
00222 virtual void error (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL)
00223 ACE_THROW_SPEC ((ACEXML_SAXException))
00224 ;
00225
00226
00227
00228
00229 virtual void fatalError (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL)
00230 ACE_THROW_SPEC ((ACEXML_SAXException))
00231 ;
00232
00233
00234
00235
00236 virtual void warning (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL)
00237 ACE_THROW_SPEC ((ACEXML_SAXException))
00238 ;
00239
00240 protected:
00241
00242
00243
00244 int get_stream_id (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL);
00245
00246
00247
00248
00249 int get_id (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL);
00250
00251
00252
00253
00254 int get_dynamic_attrs (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL);
00255
00256
00257
00258
00259 int get_initializer_attrs (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL);
00260
00261
00262
00263
00264 int get_static_attrs (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL);
00265
00266 private:
00267
00268 int in_stream_def_;
00269
00270
00271 int in_module_;
00272
00273
00274 ACE_Service_Type *stream_svc_type_;
00275 ACE_Stream_Type *stream_;
00276
00277
00278
00279 ACE_Parsed_Info parsed_info_;
00280
00281 ACE_Parsed_Info stream_info_;
00282
00283 ACEXML_Locator* locator_;
00284 };
00285
00286 #if defined (__ACEXML_INLINE__)
00287 # include "Svcconf_Handler.i"
00288 #endif
00289
00290 #endif
00291
00292 #endif