<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<blockquote style="border-color: rgb(200, 200, 200); border-left: 3px solid rgb(200, 200, 200); padding-left: 1ex; margin-left: 0.8ex; color: rgb(102, 102, 102);" itemscope="" itemtype="https://schemas.microsoft.com/QuotedText">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<font size="2"><span style="font-size:11pt">No because the Python Foo.get_Count() will only raise an exception.</span></font><br>
</div>
</blockquote>
<div id="signature_bookmark"></div>
<div id="appendonsend"></div>
<div style="font-family:Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)" class="elementToProof">
Not exactly, because the interface is created by another interface, get_Count()  can be called normally.</div>
<div style="font-family:Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)" class="elementToProof">
<br>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)" class="elementToProof">
Is it due to python property need to call the C++ method <span class="VIiyi" lang="en">
<span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="zh-CN" data-phrase-index="0" data-number-of-phrases="1"><span class="Q4iAWc">explicit</span></span></span>ly?<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>From:</b> Phil Thompson <phil@riverbankcomputing.com><br>
<b>Sent:</b> Saturday, July 2, 2022 4:34 PM<br>
<b>To:</b> Weitian Leung <Just_Fancy@live.com><br>
<b>Cc:</b> pyqt@riverbankcomputing.com <pyqt@riverbankcomputing.com><br>
<b>Subject:</b> Re: [SIP] How to hide helper functions?</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="PlainText elementToProof">On 02/07/2022 09:09, Weitian Leung wrote:<br>
> I have such situation that want to hide the handwritten functions, for <br>
> example<br>
> struct Foo /Abstract/<br>
> {<br>
>     HRESULT get_Count(long *count /Out/) = 0;<br>
>     long getCount();<br>
>     %MethodCode<br>
>         long count = 0;<br>
>         sipCpp->get_Count(&count);<br>
>         sipRes = count;<br>
>     %End<br>
>     %Property(name=Count, get=getCount)<br>
> };<br>
> the getCount is not the original interface method, I just want to make<br>
> the get_Count be a property, so write one helper function and use the<br>
> %Property directive.<br>
> But I don't want the user see or call the getCount method directly,<br>
> only the get_Count or Count property is acceptable.<br>
> <br>
> It is possible do that?<br>
<br>
No.<br>
<br>
> Or is any other way to expose get_Count as a property?<br>
<br>
No because the Python Foo.get_Count() will only raise an exception.<br>
<br>
Phil<br>
</div>
</span></font></div>
</body>
</html>