[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