Hello!

I would like to create a utility class using jambi generation.
One of the class functions should be like this:

Java side :
void converter( byte[], QNativePointer )

C++ side :
void converter( char*, int, void* )

So basicly byte[] -> to void* and lenght of byte[] and QNativePointer -> void*.
Questions are : Is it possible to use QNativePointer as a void* if the length 
is known?
How will the typesetting will look like? How the QNativePointer can be 
converted to void*?

I tried something like this, but for QNativePointer ?
    <modify-function signature="converter(char*, long, void*)">
            <modify-argument index="1">
                <replace-type modified-type="byte[]"/>
                <conversion-rule class="shell">
                    <insert-template 
name="core.iodevice_convert_char*_to_byte[]">
                        <replace from="%len" to="%2"/>
                    </insert-template>
                </conversion-rule>
                <conversion-rule class="native">
                    <insert-template 
name="core.iodevice_convert_byte[]_to_char*"/>
                </conversion-rule>
            </modify-argument>

            <modify-argument index="2">
                <remove-argument/>
                <conversion-rule class="shell">
                    // nothing
                </conversion-rule>
                <conversion-rule class="native">
                    <insert-template name="core.get_array_length">
                        <replace from="%ARRAY" to="%1"/>
                    </insert-template>
                </conversion-rule>
            </modify-argument>

            <modify-argument index="0">
                <replace-type modified-type="int"/>
                <conversion-rule class="native">
                    <insert-template name="core.iodevice_cleanup"/>
                </conversion-rule>
                <conversion-rule class="shell">
                    qint64 %out = %in;
                    <insert-template name="core.iodevice_cleanup_to_java">
                        <replace from="%len" to="(int) %in"/>
                    </insert-template>
                </conversion-rule>
            </modify-argument>
</modify-function>

Thanks for your help!
Karim


Send instant messages to your online friends http://uk.messenger.yahoo.com 

_______________________________________________
Qt-jambi-interest mailing list
[email protected]
http://lists.trolltech.com/mailman/listinfo/qt-jambi-interest

Reply via email to