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

📄 symbol2.c

📁 linux下简单对象应用协议的开发库
💻 C
📖 第 1 页 / 共 5 页
字号:
char *the_type(Tnode*);char *wsdl_type(Tnode*, char*);char *base_type(Tnode*, char*);char *xml_tag(Tnode*);char *ns_qualifiedElement(Tnode*);char *ns_qualifiedAttribute(Tnode*);char *ns_convert(char*);char *ns_add(char*, char*);char *ns_remove(char*);char *ns_remove1(char*);char *ns_remove2(char*);char *res_remove(char*);char *ns_name(char*);char *ns_cname(char*, char*);int has_class(Tnode*);int has_constructor(Tnode*);int has_destructor(Tnode*);int has_getter(Tnode*);int has_setter(Tnode*);int has_ns(Tnode*);int has_ns_t(Tnode*);int has_ns_eq(char*, char*);char *strict_check();char *ns_of(char*);char *prefix_of(char*);int has_offset(Tnode*);int reflevel(Tnode *typ);Tnode* reftype(Tnode *typ);int is_response(Tnode*);int is_XML(Tnode*);Entry *get_response(Tnode*);int is_primitive_or_string(Tnode*);int is_primitive(Tnode*);Entry *is_discriminant(Tnode*);Entry *is_dynamic_array(Tnode*);int is_transient(Tnode*);int is_external(Tnode*);int is_anyAttribute(Tnode*);int is_binary(Tnode*);int is_hexBinary(Tnode*);int is_string(Tnode*);int is_wstring(Tnode*);int is_stdstring(Tnode*);int is_stdwstring(Tnode*);int is_stdstr(Tnode*);int is_typedef(Tnode*);int get_dimension(Tnode*);char *has_soapref(Tnode*);int is_document(const char*);int is_literal(const char*);int is_keyword(const char *);int is_repetition(Entry*);int is_choice(Entry*);int is_sequence(Entry*);int is_anytype(Entry*);char *xsi_type_Tarray(Tnode*);    char *xsi_type_Darray(Tnode*);    void matlab_def_table(Table*);void def_table(Table*);void out_generate(Tnode *);int no_of_var(Tnode*);char *pointer_stuff(Tnode*);void in_defs(Table*);void in_defs2(Table*);void in_defs3(Table*);void out_defs(Table*);void mark_defs(Table*);void in_attach(Table*);void out_attach(Table*);void mark(Tnode*);void defaults(Tnode*);void soap_put(Tnode*);void soap_out(Tnode*);void soap_out_Darray(Tnode *);void soap_get(Tnode*);void soap_in(Tnode*); void soap_in_Darray(Tnode *);void soap_instantiate_class(Tnode *);int get_Darraydims(Tnode *typ);void soap_serve(Table*);void generate_proto(Table*, Entry*);/*void generate_call(Table*, Entry*);void generate_server(Table*, Entry*);*/void generate_header(Table*);void generate_schema(Table*);void gen_schema(FILE*,Table*,char*,char*,int,int,char*,char*,char*,char*);void gen_type_documentation(FILE *fd, Table *t, Entry *p, char *ns, char *ns1);void gen_schema_elements_attributes(FILE *fd, Table *t, char *ns, char *ns1, char *encoding, char *style);void gen_schema_elements(FILE *fd, Tnode *p, char *ns, char *ns1);int gen_schema_element(FILE *fd, Entry *q, char *ns, char *ns1);void gen_schema_attributes(FILE *fd, Tnode *p, char *ns, char *ns1);void gen_wsdl(FILE*,Table*,char*,char*,char*,char*,char*,char*,char*);void gen_nsmap(FILE*,Symbol*,char*);void gen_proxy(FILE*,Table*,Symbol*,char*,char*,char*,char*,char*);void gen_object(FILE*,Table*,Symbol*,char*,char*,char*,char*,char*);void gen_proxy_header(FILE*,Table*,Symbol*,char*,char*,char*,char*,char*);void gen_proxy_code(FILE*,Table*,Symbol*,char*,char*,char*,char*,char*);void gen_object_header(FILE*,Table*,Symbol*,char*,char*,char*,char*,char*);void gen_object_code(FILE*,Table*,Symbol*,char*,char*,char*,char*,char*);void gen_method(FILE *fd, Table *table, Entry *method);void gen_params(FILE *fd, Table *params, Entry *result, int flag);void gen_call_method(FILE *fd, Table *table, Entry *method, char *name);void gen_serve_method(FILE *fd, Table *table, Entry *param, char *name);void gen_data(char*,Table*,char*,char*,char*,char*,char*,char*);FILE *gen_env(char*,char*,int,Table*,char*,char*,char*,char*,char*,char*);void gen_field(FILE*,int,Entry*,char*,char*,char*);void gen_val(FILE*,int,Tnode*,char*,char*,char*);void gen_atts(FILE*,Table*,char*);/*mktype - make a (new) type with a reference to additional information and thewidth in bytes required to store objects of that type. A pointer to thetype is returned which can be compared to check if types are identical.*/Tnode *mktype(Type type, void *ref, int width){	Tnode	*p;	int t = 0;	if (transient != -2 || type > Ttime)	  t = transient;	if (type != Tstruct && type != Tclass && type != Tunion && (type != Tenum || ref))	{	for (p = Tptr[type]; p; p = p->next)		{	if (p->ref == ref && p->sym == (Symbol*) 0 && p->width == width && p->transient == t)			{	if (imported && !p->imported)					p->imported = imported;				return p;	/* type alrady exists in table */			}		}	}	p = (Tnode*)emalloc(sizeof(Tnode));	/* install new type */	p->type = type;	p->ref = ref;	p->id = lookup("/*?*/");	p->base = NULL;	p->sym = (Symbol*)0;	p->response = (Entry*)0;	p->width = width;	p->generated = False;	p->wsdl = False;	p->next = Tptr[type];	p->transient = t;	p->imported = imported;	p->pattern = NULL;	p->minLength = -1;	p->maxLength = -1;	p->num = typeNO++;	Tptr[type] = p;	DBGLOG(fprintf(stderr, "New type %s %s\n", c_type(p), p->imported));	if (type == Tpointer && ((Tnode*)ref)->imported && (((Tnode*)ref)->type == Tenum || ((Tnode*)ref)->type == Tstruct || ((Tnode*)ref)->type == Tclass))	  p->imported = ((Tnode*)ref)->imported;	else if (lflag && !is_transient(p) && (type == Tenum || type == Tstruct || type == Tclass))	  mkpointer(p);	return p;}Tnode *mksymtype(Tnode *typ, Symbol *sym){	Tnode *p;	p = (Tnode*)emalloc(sizeof(Tnode));	/* install new type */	p->type = typ->type;	p->ref = typ->ref;	p->id = typ->id;	p->sym = sym;	p->response = (Entry*)0;	p->width = typ->width;	p->generated = True; /* copy of existing (generated) type */	p->wsdl = False;	p->next = Tptr[typ->type];	p->transient = transient;	p->imported = imported;	p->pattern = NULL;	p->minLength = -1;	p->maxLength = -1;	p->num = typeNO++;	Tptr[typ->type] = p;	DBGLOG(fprintf(stderr, "New typedef %s %s\n", c_type(p), p->imported));	return p;}Tnode *mktemplate(Tnode *typ, Symbol *id){	Tnode *p;	for (p = Tptr[Ttemplate]; p; p = p->next)		if (p->ref == typ && p->id == id && p->transient == transient)		{	if (imported && !p->imported)				p->imported = imported;			return p;	/* type alrady exists in table */		}	p = (Tnode*)emalloc(sizeof(Tnode));	/* install new type */	p->type = Ttemplate;	p->ref = typ;	p->id = id;	p->sym = NULL;	p->response = (Entry*)0;	p->width = 0;	p->generated = False; /* copy of existing (generated) type */	p->wsdl = False;	p->next = Tptr[Ttemplate];	p->transient = transient;	p->imported = imported;	p->pattern = NULL;	p->minLength = -1;	p->maxLength = -1;	p->num = typeNO++;	Tptr[Ttemplate] = p;	return p;}/*	DO NOT REMOVE OR ALTER (SEE LICENCE AGREEMENT AND COPYING.txt)	*/voidcopyrightnote(FILE *fd, char *fn){ fprintf(fd, "/* %s\n   Generated by gSOAP "VERSION" from %s\n   Copyright(C) 2000-2007, Robert van Engelen, Genivia Inc. All Rights Reserved.\n   This part of the software is released under one of the following licenses:\n   GPL, the gSOAP public license, or Genivia's license for commercial use.\n*/", fn, filename);}voidbanner(FILE *fd, const char *text){ int i;  fprintf(fd, "\n\n/");  for (i = 0; i < 78; i++)    fputc('*', fd);  fprintf(fd, "\\\n *%76s*\n * %-75s*\n *%76s*\n\\", "", text, "");  for (i = 0; i < 78; i++)    fputc('*', fd);  fprintf(fd, "/\n");}voididentify(FILE *fd, char *fn){ time_t t = time(NULL), *p = &t;  char tmp[256];  strftime(tmp, 256, "%Y-%m-%d %H:%M:%S GMT", gmtime(p));  fprintf(fd, "\n\nSOAP_SOURCE_STAMP(\"@(#) %s ver "VERSION" %s\")\n", fn, tmp);}voidcompile(Table *table){	Entry *p;	Tnode *typ;	Pragma *pragma;	int classflag = 0;	char *s;	char base[1024];	char soapStub[1024];	char soapH[1024];	char soapC[1024];	char soapClient[1024];	char soapServer[1024];	char soapClientLib[1024];	char soapServerLib[1024];	char pathsoapStub[1024];	char pathsoapH[1024];	char pathsoapC[1024];	char pathsoapClient[1024];	char pathsoapServer[1024];	char pathsoapClientLib[1024];	char pathsoapServerLib[1024];      	char soapMatlab[1024];      	char pathsoapMatlab[1024];  	char soapMatlabHdr[1024];      	char pathsoapMatlabHdr[1024];	if (*dirpath)	  fprintf(fmsg, "Using project directory path: %s\n", dirpath);	if (namespaceid)	{ prefix = namespaceid;	  fprintf(fmsg, "Using code namespace: %s\n", namespaceid);	}	strcpy(base, prefix);	if (cflag)		s = ".c";	else		s = ".cpp";  	strcpy(soapMatlab, base);  	strcat(soapMatlab, "Matlab.c");  	strcpy(pathsoapMatlab, dirpath);  	strcat(pathsoapMatlab, soapMatlab );    	strcpy(soapMatlabHdr, base);  	strcat(soapMatlabHdr, "Matlab.h");  	strcpy(pathsoapMatlabHdr, dirpath);  	strcat(pathsoapMatlabHdr, soapMatlabHdr);	strcpy(soapStub, base);	strcat(soapStub, "Stub.h");	strcpy(pathsoapStub, dirpath);	strcat(pathsoapStub, soapStub);	strcpy(soapH, base);	strcat(soapH, "H.h");	strcpy(pathsoapH, dirpath);	strcat(pathsoapH, soapH);	strcpy(soapC, base);	strcat(soapC, "C");	strcat(soapC, s);	strcpy(pathsoapC, dirpath);	strcat(pathsoapC, soapC);	strcpy(soapClient, base);	strcat(soapClient, "Client");

⌨️ 快捷键说明

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