[aspectc-user] Re: AspectC++ + gSOAP
Olaf Spinczyk
os at aspectc.org
Wed Dec 3 17:32:39 CET 2008
Hi Leandro,
the problems, which you have experienced during the last few days are
related to a new experimental language feature. There is a fix for the
last one (list<char>::iterator), but this one here is a bit more
problematic. ASAP I will disable this feature (by default) and add a
command line option that I can use to enable the feature for my experiments.
Best regards,
Olaf
Leandro Costa wrote:
> this is a typical class generated by gSOAP.
> It seems AspectC++ doesn't work if we have "struct soap *soap;" as a
> member of the class.
> If a remove this member of the class, AspectC++ works fine.
>
> #include "stdsoap2.h"
>
> #ifndef SOAP_TYPE_nsENTWDT__Alarm
> #define SOAP_TYPE_nsENTWDT__Alarm (7)
> /* nsENTWDT:Alarm */
> class SOAP_CMAC nsENTWDT__Alarm
> {
> public:
> char *name; /* optional element of type xsd:string */
> char *severity; /* optional element of type xsd:string */
> char *description; /* optional element of type xsd:string */
> char *type; /* optional element of type xsd:string */
> char *code; /* optional element of type xsd:string */
> char *reason; /* optional element of type xsd:string */
> char *repair; /* optional element of type xsd:string */
> char *location; /* optional element of type xsd:string */
> char *faultTime; /* optional element of type xsd:string */
> struct soap *soap; /* transient */
> public:
> virtual int soap_type() const { return 7; } /* = unique id
> SOAP_TYPE_nsENTWDT__Alarm */
> virtual void soap_default(struct soap*);
> virtual void soap_serialize(struct soap*) const;
> virtual int soap_put(struct soap*, const char*, const char*) const;
> virtual int soap_out(struct soap*, const char*, int, const char*) const;
> virtual void *soap_get(struct soap*, const char*, const char*);
> virtual void *soap_in(struct soap*, const char*, const char*);
> nsENTWDT__Alarm() : name(NULL), severity(NULL),
> description(NULL), type(NULL), code(NULL), reason(NULL), repair(NULL),
> location(NULL), faultTime(NULL), soap(NULL) { }
> virtual ~nsENTWDT__Alarm() { }
> };
> #endif
>
> On Wed, Dec 3, 2008 at 2:15 PM, Leandro Costa <leandro.costa at gmail.com
> <mailto:leandro.costa at gmail.com>> wrote:
>
> I'm trying to use AspectC++ in a project that uses gSOAP.
> After generate source code with gSOAP (using wsdl files), I
> include one of the .h files generated in my own .h file:
>
> #include "soap/wdt/src/soapnorthBoundFullServiceSoapBindingProxy.h"
>
> When I run ac++. I got the following error:
>
> <typeinfo>:2: error: invalid member declaration near token `<'
> <typeinfo>:2: located in the following non-file unit:
> public:
> 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;
> const char *__attr_name (unsigned i) const {
> static const char *names[] = { "name", "severity",
> "description", "type", "code", "reason", "repair", "location",
> "faultTime", "soap" }; return names[i];
> }
> void *__attr (unsigned __i) const {
> 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; }
> }
>
> If I remove the .h file from the includes, it works.
>
> Why AspectC++ can't work with source code generated by gSOAP?
>
> --
> _____________________________________________
>
> Leandro Souza Costa
>
> "A vitória se encastela em jardins encantadores,
> mas para se chegar a ela não há caminho de flores"
> _____________________________________________
>
>
>
>
> --
> _____________________________________________
>
> Leandro Souza Costa
>
> "A vitória se encastela em jardins encantadores,
> mas para se chegar a ela não há caminho de flores"
> _____________________________________________
> ------------------------------------------------------------------------
>
> _______________________________________________
> aspectc-user mailing list
> aspectc-user at aspectc.org
> http://www.aspectc.org/mailman/listinfo/aspectc-user
>
More information about the aspectc-user
mailing list