yes please :)
> On 8 Nov 2016, at 13:32, Dimitris Chloupis <[email protected]> wrote:
>
> then great work^2
>
> Do you want me to add this information to the UFFI documentation ? Probably I
> will also add some more examples for handles, pointers etc.
>
> I assume this is the repo for the docs of UFFI
>
> https://github.com/SquareBracketAssociates/PharoInProgress
> <https://github.com/SquareBracketAssociates/PharoInProgress>
>
> correct ?
>
> On Tue, Nov 8, 2016 at 2:12 PM Esteban Lorenzano <[email protected]
> <mailto:[email protected]>> wrote:
>> On 8 Nov 2016, at 12:55, Dimitris Chloupis <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>> Thank you Esteban
>>
>> By the way I really love the design of UFFI , very clean and quite easy to
>> understand , great work to you and Igor :)
>
> UFFI is just mine ;)
> (but I sanded in giant shoulders as I took Igor work as inspiration… and to
> “borrow” many cool ideas)
>
> Esteban
>
>>
>> On Tue, Nov 8, 2016 at 1:54 PM Esteban Lorenzano <[email protected]
>> <mailto:[email protected]>> wrote:
>>> On 8 Nov 2016, at 12:49, Dimitris Chloupis <[email protected]
>>> <mailto:[email protected]>> wrote:
>>>
>>> I was reaching a similar conclusion
>>>
>>> Currently I have a void pointer to the struct with the members I mentioned
>>>
>>> I can get char[100]
>>>
>>> pointerToStruct fromCString
>>>
>>> and I can get the int with
>>>
>>> pointerToStruct getHandle integerAt: 101 size:4 signed: false
>>>
>>> so if I want to pass the address of the pointer to my YourStruct instance
>>> will I have to initialize with
>>>
>>> YourStruct fromHandler: (pointerToStruct getHandle)
>>>
>>> is this a correct and safe way to pass the address ?
>>
>> yes.
>>
>> Esteban
>>
>>>
>>>
>>> On Tue, Nov 8, 2016 at 1:21 PM Esteban Lorenzano <[email protected]
>>> <mailto:[email protected]>> wrote:
>>> it never could.
>>> you need to do a “special type”, who has to be something like:
>>>
>>> YourStruct class>>initialize
>>> Char100 := FFITypeArray ofType: #char.
>>>
>>> fieldsDesc
>>> ^ #(
>>> Char100 data;
>>> int count;
>>> )
>>>
>>> but then… you want to optimise that and in field accessors, who will look
>>> something like this:
>>>
>>> YourStruct >>data
>>> "This method was automatically generated"
>>> ^(FFITypeArray ofType: #char size: 100) fromHandle: (handle
>>> copyFrom: 1 to: 100)
>>>
>>> you can change that for:
>>>
>>> YourStruct >>data
>>> "This method was automatically generated"
>>> ^Char100 fromHandle: (handle copyFrom: 1 to: 100)
>>>
>>> and same for setter.
>>> (other way will work, but it will be suboptimal)
>>>
>>> Esteban
>>>
>>> > On 8 Nov 2016, at 12:10, Dimitris Chloupis <[email protected]
>>> > <mailto:[email protected]>> wrote:
>>> >
>>> > I have FFIExternalStructure which has at class side
>>> >
>>> > fieldsDesc
>>> > ^#(
>>> > char data[100];
>>> > int count;
>>> > )
>>> >
>>> > if I try to do
>>> >
>>> > EphCPPTestStructure rebuildFieldAccessors .
>>> >
>>> > in order to generate the accessors for the members of the struct it
>>> > complains with an error that it does not recognise the type of " [ "
>>> >
>>> > Does that mean that char arrays are other arrays are not supported as
>>> > struct members or will I have to do this manually ?
>>>
>>>
>