> It is too much imo..
> Clojure->java -> c++
> 
> i would just write C++ code

I was not talking about calling clojure code but if the library is exposed in 
java.

Stef

> 
> 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