Hi Stephan

Stephan Bergmann a écrit :

>>>> Do you have an idea on how I could make a mapping between strings used
>>>> by gstreamer and UNO Constants ? First I though about an xml file
>>>> describing the mapping, however how could I make it dependent from the
>>>> component's library and not the whole program ?
>>>>
>>>> I mean: is there any way to embed the mapping into a shared library so
>>>> that I get a reusable component ?
>>
>>
>>> Not sure I get what you want to do, but UNO's reflection capabilities
>>> (com.sun.star.reflection) might come in handy when mapping between UNO
>>> entities and their string representations.
>>
>>
>> In fact I have in my component's API, I have methods like the following:
>>
>> <idl>
>> interface XMElement: com::sun::star::uno::XInterface {
>>
>>    void setProperty([in] string sName, [in] string sValue);
>> };
>> </idl>
>>
>> However, the sName parameter is actually a GStreamer string... which
>> isn't good for a generic API. I'd like to have some UNO constants to use
>> instead. The problem is how to make the mapping between the UNO
>> Constants (or their string representation) and the GStreamer strings.
>>
>> For example, I'ld to use:
>>
>> <c++>
>> //FILE_LOCATION is a UNO Constant defined in my API to be mapped on the
>> //Gstreamer "location" string...
>> myElement.setProperty(FILE_LOCATION, "/path/to/my/file);
>> </c++>
>>
>> instead of:
>> <c++>
>> // "location" is a GStreamer dependent string :(
>> myElement.setProperty("location", "/path/to/my/file");
>> </c++>
>>
>> I hope that was clearer this time.
>> Cedric
> 
> If the set of gstreamer strings is fixed, I would suggest the following
> UNOIDL:
> 
>   enum Names { FILE_LOCATION, ... };
>   interface XMElement {
>     void setProperty([in] Names name, [in] string value);
>   };

They are fixed... but the user can add plugins to gstreamer, with
strings that I don't know: So I thing that I would stick to the other
solution.

Thank you Stephan,
Cedric

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to