this is a typical class generated by gSOAP.<br>It seems AspectC++ doesn't work if we have "struct soap *soap;" as a member of the class.<br>If a remove this member of the class, AspectC++ works fine.<br><br>#include "stdsoap2.h"<br>
<br>#ifndef SOAP_TYPE_nsENTWDT__Alarm<br>#define SOAP_TYPE_nsENTWDT__Alarm (7)<br>/* nsENTWDT:Alarm */<br>class SOAP_CMAC nsENTWDT__Alarm<br>{<br>public:<br> char *name; /* optional element of type xsd:string */<br> char *severity; /* optional element of type xsd:string */<br>
char *description; /* optional element of type xsd:string */<br> char *type; /* optional element of type xsd:string */<br> char *code; /* optional element of type xsd:string */<br> char *reason; /* optional element of type xsd:string */<br>
char *repair; /* optional element of type xsd:string */<br> char *location; /* optional element of type xsd:string */<br> char *faultTime; /* optional element of type xsd:string */<br> struct soap *soap; /* transient */<br>
public:<br> virtual int soap_type() const { return 7; } /* = unique id SOAP_TYPE_nsENTWDT__Alarm */<br> virtual void soap_default(struct soap*);<br> virtual void soap_serialize(struct soap*) const;<br> virtual int soap_put(struct soap*, const char*, const char*) const;<br>
virtual int soap_out(struct soap*, const char*, int, const char*) const;<br> virtual void *soap_get(struct soap*, const char*, const char*);<br> virtual void *soap_in(struct soap*, const char*, const char*);<br> nsENTWDT__Alarm() : name(NULL), severity(NULL), description(NULL), type(NULL), code(NULL), reason(NULL), repair(NULL), location(NULL), faultTime(NULL), soap(NULL) { }<br>
virtual ~nsENTWDT__Alarm() { }<br>};<br>#endif<br><br><div class="gmail_quote">On Wed, Dec 3, 2008 at 2:15 PM, Leandro Costa <span dir="ltr"><<a href="mailto:leandro.costa@gmail.com">leandro.costa@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">I'm trying to use AspectC++ in a project that uses gSOAP.<br>After generate source code with gSOAP (using wsdl files), I include one of the .h files generated in my own .h file:<br>
<br>#include "soap/wdt/src/soapnorthBoundFullServiceSoapBindingProxy.h"<br>
<br>When I run ac++. I got the following error:<br><br><typeinfo>:2: error: invalid member declaration near token `<'<br><typeinfo>:2: located in the following non-file unit:<br>public:<br> typedef AC::TL<char *,AC::TL<char *,AC::TL<char *,AC::TL<char *,AC::TL<char *,AC::TL<char *,AC::TL<char *,AC::TL<char *,AC::TL<char *,AC::TL<soap *,AC::TLE > > > > > > > > > > __AttrTypes;<br>
const char *__attr_name (unsigned i) const {<br> static const char *names[] = { "name", "severity", "description", "type", "code", "reason", "repair", "location", "faultTime", "soap" }; return names[i];<br>
}<br> void *__attr (unsigned __i) const {<br> switch (__i) { case 0: return (void*)&name; case 1: return (void*)&severity; case 2: return (void*)&description; case 3: return (void*)&type; case 4: return (void*)&code; case 5: return (void*)&reason; case 6: return (void*)&repair; case 7: return (void*)&location; case 8: return (void*)&faultTime; case 9: return (void*)&soap; default: return 0; }<br>
}<br><br>If I remove the .h file from the includes, it works.<br><br>Why AspectC++ can't work with source code generated by gSOAP?<br clear="all"><font color="#888888"><br>-- <br>_____________________________________________<br>
<br> Leandro Souza Costa<br>
<br>"A vitória se encastela em jardins encantadores,<br> mas para se chegar a ela não há caminho de flores"<br>_____________________________________________<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>_____________________________________________<br><br> Leandro Souza Costa<br><br>"A vitória se encastela em jardins encantadores,<br> mas para se chegar a ela não há caminho de flores"<br>
_____________________________________________<br>