It is too much imo..
Clojure->java -> c++

i would just write C++ code

On 10 November 2012 05:30, Stéphane Ducasse <[email protected]> wrote:
> Jimmie
>
> did you look at JavaConnect?
> This is on our roadmap for Moose in December January.
> So that we can connect better to Java.
>
> Stef
>
> On Nov 10, 2012, at 3:40 AM, Jimmie Houchin wrote:
>
>> On 11/9/2012 7:22 PM, Igor Stasenko wrote:
>>> On 9 November 2012 12:19, Jimmie Houchin <[email protected]> wrote:
>>>> The COM API is deprecated and no longer supported. Only the C++ API is what
>>>> is available for use from Pharo.
>>>>
>>>>
>>>> On 11/8/2012 11:31 PM, Igor Stasenko wrote:
>>>>
>>>> On 8 November 2012 23:25, Jimmie Houchin <[email protected]> wrote:
>>>>
>>>> On a second look at the API's documentation, the DLL is C++ not C. I don't
>>>> know, but that might have been evident by the requirement of implementing
>>>> interfaces.
>>>>
>>>> well, with C++ it is a bit worse than C: because C++ compilers use
>>>> name mangling for the function names.
>>>> Means that, if you will look for exported function 'abc()', you will
>>>> probably find it under different name, like
>>>> abc@nby_xrt
>>>>
>>>>
>>>> How does one go about discovering these names?
>>>>
>>> This is best what i found, read to end:
>>>
>>> https://www.ruby-forum.com/topic/173158
>>>> apart from that, once you figure the exact correct name, you can go
>>>> and call that function.
>>>>
>>>> Things is a bit different if the exported function is a member of class.
>>>>
>>>> So, what i can say.. you can try and see if it rolls (or rocks).. and
>>>> if it not, then the best option would be to implement own wrapper
>>>> library (but this time in C). And then use that library from pharo.
>>>>
>>>>
>>>> Ok, then this is the tricky part because I have a lot of C++ classes which
>>>> are interfaces to be implemented and instances of those classes to be 
>>>> passed
>>>> into other instances of other classes in the DLL.
>>>>
>>>> An example from the documentation.
>>>> '''
>>>> An instance of the class implementing IO2GSessionStatus interface must be
>>>> subscribed to the session object before calling IO2GSession::login method.
>>>> It is accomplished by calling IO2GSession::subscribeSessionStatus method.
>>>> For example, ...
>>>> '''
>>>>
>>>> As it stands my options are to learn Clojure (which I am already in 
>>>> progress
>>>> of doing) in order to access the API via Java. Or to learn C/C++ and NB to
>>>> access the API from Pharo.
>>>>
>>> googling didn't gave me any examples how Clojure deals with C++...
>>> have a link?
>>> i suspect it is like others, generating wrapper C code to call C++ code.
>>
>> Clojure does not access the C++ code.  It would access the Java library in 
>> its .jar file. It has native access. The API is offered in three forms, 
>> Java, .NET and C++.
>>
>>
>>
>> Jimmie
>>
>
>



-- 
Best regards,
Igor Stasenko.

Reply via email to