[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pykde
Subject:    Re: [PyQt] sip bug wrapping protected enum in ABC
From:       Phil Thompson <phil () riverbankcomputing ! com>
Date:       2011-03-22 9:04:28
Message-ID: 65bb2c4b3688f504ee574bac1900ec14 () localhost
[Download RAW message or body]

On Tue, 22 Mar 2011 02:42:37 +0000, Demetrius Cassidy
<dcassidy36@gmail.com> wrote:
> With a simple class definition like the following, it seems that SIP
tries
> to wrap SIPTransaction::States using a sip generated class, but of
course
> that class is not created for ABCs. I am using the latest SIP snapshot,
SIP
> 4.12.2-snapshot-ecb3e795382e, to test this code.
> 
> 
> class SIPTransaction /Abstract/
> {
> public:
>     ~SIPTransaction();
>   virtual SIPTransaction * CreateDuplicate() const = 0;
> 
> protected:
> 
> enum States {
> NotStarted,
> Trying,
> Proceeding,
> Cancelling,
> Completed,
> Terminated_Success,
> Terminated_Timeout,
> Terminated_RetriesExceeded,
> Terminated_TransportError,
> Terminated_Cancelled,
> Terminated_Aborted,
> NumStates
> };
> 
>  virtual void SetTerminated(States newState);
> };
> 
> 
> Offending generated code:
> 
> static sipEnumMemberDef enummembers_SIPTransaction[] = {
> {sipName_Cancelling, sipSIPTransaction::Cancelling, 241},
> {sipName_Completed, sipSIPTransaction::Completed, 241},
> {sipName_NotStarted, sipSIPTransaction::NotStarted, 241},
> {sipName_NumStates, sipSIPTransaction::NumStates, 241},
> {sipName_Proceeding, sipSIPTransaction::Proceeding, 241},
> {sipName_Terminated_Aborted, sipSIPTransaction::Terminated_Aborted,
241},
> {sipName_Terminated_Cancelled, sipSIPTransaction::Terminated_Cancelled,
> 241},
> {sipName_Terminated_RetriesExceeded,
> sipSIPTransaction::Terminated_RetriesExceeded, 241},
> {sipName_Terminated_Success, sipSIPTransaction::Terminated_Success,
241},
> {sipName_Terminated_Timeout, sipSIPTransaction::Terminated_Timeout,
241},
> {sipName_Terminated_TransportError,
> sipSIPTransaction::Terminated_TransportError, 241},
> {sipName_Trying, sipSIPTransaction::Trying, 241},
> };
> 
> Of course, commenting out the code under protected stops it from being
> generated, and causing compiler errors.

Fixed, thanks.

Phil
_______________________________________________
PyQt mailing list    PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic