[Pharo-users] FFIExternalType hooks; naming convention

Tomaž Turk tomaz.turk at ef.uni-lj.si
Sat Sep 21 13:26:14 EDT 2019


Hi,

 > Yes, but in general you do not need to implement your type, you can 
derive what you need from the ones existing.
 > Why you need to do it?

I'm just curious, I'm sorry :-) Depending on the platform, there is a 
huge number of various types - just on Windows there are wchar_t, 
char16_t and char32_t implementations of "wide char", at least that I 
know of, and one asks himself when and whether to go all the way "down".

 > So readStrring is equivalent to fromCString, but I can imagine a 
better future where we have just one and it will > be readString :P

:-)

Thanks!

Best wishes,
Tomaz

------ Original Message ------
From: "Esteban Lorenzano" <estebanlm at gmail.com>
To: "Any question about pharo is welcome" <pharo-users at lists.pharo.org>
Sent: 21. 09. 2019 17:28:34
Subject: Re: [Pharo-users] FFIExternalType hooks; naming convention

>HI,
>
>>  On 21 Sep 2019, at 13:18, eftomi <tomaz.turk at ef.uni-lj.si> wrote:
>>
>>  HI,
>>
>>  I have a couple of questions regarding FFI:
>>
>>  - If you want to create a new FFIExternalType subclass, which are the
>>  necessary hooks that should be implemented - like #externalType,
>>  #externalTypeSize … on the class side and #basicHandle:at:,
>>  #basicHandle:at:put:, #stackValueParameterClass, etc. on the instance side?
>
>Yes, but in general you do not need to implement your type, you can derive what you need from the ones existing.
>Why you need to do it?
>
>>
>>  - Is there anything else that should be done besides hooks - for instance
>>  another "entries" into FFIConstants class>>#initializeTypeConstants or even
>>  ExternalType>>#initializeAtomicTypes ?
>
>No.
>
>>
>>  - About naming standards: the ExternalData class has some methods that
>>  "grab" strings from the heap, like ExternalData>>#fromCString and
>>  ExternalData>>#readStringUTF8 - these two methods do the heavy work, however
>>  the method ExternalData>>#readString more or less just refers to
>>  ExternalData>>#fromCString. Is there any difference between "from..." and
>>  "read…"?
>
>At the begining, there was fromCString.
>Then someone else added readStringUTF8.
>Then I added readString because I like coherence :)
>
>So readStrring is equivalent to fromCString, but I can imagine a better future where we have just one and it will be readString :P
>
>Esteban
>
>>
>>  Thanks!
>>
>>  Best wishes,
>>  Tomaz
>>
>>
>>
>>  --
>>  Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-users_lists.pharo.org/attachments/20190921/17fe8fb0/attachment.html>


More information about the Pharo-users mailing list