[aspectc-user] Re: AspectC++ + gSOAP
Leandro Costa
leandro.costa at gmail.com
Wed Dec 3 17:26:24 CET 2008
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>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"
_____________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.aspectc.org/pipermail/aspectc-user/attachments/20081203/d7ae39cf/attachment.html>
More information about the aspectc-user
mailing list