⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 types.h

📁 linux下简单对象应用协议的开发库
💻 H
字号:
/*types.hWSDL parser and converter to gSOAP header file format--------------------------------------------------------------------------------gSOAP XML Web services toolsCopyright (C) 2001-2005, Robert van Engelen, Genivia Inc. All Rights Reserved.This software is released under one of the following two licenses:GPL or Genivia's license for commercial use.--------------------------------------------------------------------------------GPL license.This program is free software; you can redistribute it and/or modify it underthe terms of the GNU General Public License as published by the Free SoftwareFoundation; either version 2 of the License, or (at your option) any laterversion.This program is distributed in the hope that it will be useful, but WITHOUT ANYWARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR APARTICULAR PURPOSE. See the GNU General Public License for more details.You should have received a copy of the GNU General Public License along withthis program; if not, write to the Free Software Foundation, Inc., 59 TemplePlace, Suite 330, Boston, MA 02111-1307 USAAuthor contact information:engelen@genivia.com / engelen@acm.org--------------------------------------------------------------------------------A commercial use license is available from Genivia, Inc., contact@genivia.com--------------------------------------------------------------------------------*/#ifndef TYPES_H#define TYPES_H#include "includes.h"#include "wsdlH.h"enum Type { NONE, CLASS, ENUM, STRUCT, TYPEDEF };enum Lookup { NOLOOKUP, LOOKUP };class Types{ public:    SetOfString		knames;	// keywords, reserved words, class names, and typedefs    MapOfStringToString modtypemap;    MapOfStringToString deftypemap;    MapOfStringToString usetypemap;    MapOfStringToString ptrtypemap;    MapOfPairToString	qnames;	// (URI,name) -> name    MapOfStringToString	uris;	// URI -> prefix    MapOfStringToNum	syms;	// prefix -> count (ns1, ns2, ...)    SetOfString		rnames;	// reserved symbolic names to avoid clashes    SetOfString		onames;	// service operator names    MapOfPairToString	enames;	// enum symbolic names    VectorOfString	scope;	// de-anonymizer stack    int snum; // struct name index, TODO: consider map of URI to count per URI    int unum; // union name index, TODO: consider map of URI to count per URI    int gnum; // enum name index, TODO: consider map of URI to count per URI    bool with_union;    bool fake_union;    Types();    void init();    int read(const char *file);  private:    const char *fname(const char *prefix, const char *URI, const char *qname, SetOfString *reserved, enum Lookup lookup);  public:    const char *aname(const char *prefix, const char *URI, const char *qname);    const char *cname(const char *prefix, const char *URI, const char *qname);    const char *tname(const char *prefix, const char *URI, const char *qname);    const char *tnameptr(bool, const char *prefix, const char *URI, const char *qname);    const char *pname(bool flag, const char *prefix, const char *URI, const char *qname);    const char *oname(const char *prefix, const char *URI, const char *qname);    const char *ename(const char *type, const char *value);    const char *sname(const char *URI, const char *name);    const char *gname(const char *URI, const char *name);    const char *uname(const char *URI);    const char *nsprefix(const char *prefix, const char *URI);    const char *deftname(enum Type type, const char *pointer, bool is_pointer, const char *prefix, const char *URI, const char *qname);    bool is_defined(const char *prefix, const char *URI, const char *qname);    bool is_nillable(const xs__element& element);    bool is_basetype(const char *URI, const char *type);    void dump(FILE*);    void define(const char *URI, const char *name, const xs__complexType&);    void gen(const char *URI, const vector<xs__attribute>&);    void gen(const char *URI, const vector<xs__attributeGroup>&);    void gen(const char *URI, const vector<xs__all>&);    void gen(const char *URI, const vector<xs__sequence>&);    void gen(const char *URI, const vector<xs__sequence*>&);    void gen(const char *URI, const vector<xs__element>&);    void gen(const char *URI, const vector<xs__group>&);    void gen(const char *URI, const vector<xs__choice>&);    void gen(const char *URI, const vector<xs__any>&);    void gen(const char *URI, const char *name, const xs__simpleType&, bool anonymous);    void gen(const char *URI, const char *name, const xs__complexType&, bool anonymous);    void gen(const char *URI, const xs__attribute&);    void gen(const char *URI, const xs__all&);    void gen(const char *URI, const xs__sequence&);    void gen(const char *URI, const xs__element&);    void gen(const char *URI, const xs__group&);    void gen(const char *URI, const char *name, const xs__choice&);    void gen(const char *URI, const xs__any&);    void gen(const char *URI, const xs__anyAttribute&);    void gen_soap_array(const char *name, const char *t, const char *item, const char *type);    void gen_substitutions(const char *URI, const xs__element &element);    void document(const xs__annotation*);    void modify(const char *name);    const char *format(const char *text);};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -