For C# you can use the .NET Binding.

A Variant::Map is represented in .NET as Dictionary<string, object> and
a Variant::List is represented in .NET as Collection<object>.

The encode and decode functions are called for you as the binding creates 
messages.
This is exposed in examples cpp\bindings\qpid\dotnet\examples\csharp.map.sender
and cpp\bindings\qpid\dotnet\examples\csharp.map.receiver.

To build the .NET binding you must have the BOOST_ROOT used to build qpid\cpp 
in your path, and have QPID_BUILD_ROOT defined to be the directory in which 
cmake ran as it built the qpid-cpp.sln file.

Regards,
Chuck

----- Original Message -----
> From: "Virgilio Alexandre Fornazin" <[email protected]>
> To: [email protected]
> Sent: Thursday, October 6, 2011 7:43:27 AM
> Subject: encode/decode methods in C# client api
>
> Hi all
>
>
>
> There are encode/decode methods in C++ qpid messaging api, but I
> can’t found
> a C# counterpart.
>
> I’m using qpid-0.10 messaging api.
>
>
>
> I need to send messages from a C# client to another already done C++
> application (that uses encode/
>
> decode calls). How I can do this?
>
>
>
> Below there´s the methods
>
>
>
> /**
>
>  * Decodes message content into a Variant::Map.
>
>  *
>
>  * @param message the message whose content should be decoded
>
>  * @param map the map into which the message contents will be decoded
>
>  * @param encoding if specified, the encoding to use - this overrides
>
>  * any encoding specified by the content-type of the message
>
>  * @exception EncodingException
>
>  */
>
> QPID_MESSAGING_EXTERN void decode(const Message& message,
>
>                                qpid::types::Variant::Map& map,
>
>                                const std::string& encoding =
>                                std::string());
>
> /**
>
>  * Decodes message content into a Variant::List.
>
>  *
>
>  * @param message the message whose content should be decoded
>
>  * @param list the list into which the message contents will be
>  decoded
>
>  * @param encoding if specified, the encoding to use - this overrides
>
>  * any encoding specified by the content-type of the message
>
>  * @exception EncodingException
>
>  */
>
> QPID_MESSAGING_EXTERN void decode(const Message& message,
>
>                                qpid::types::Variant::List& list,
>
>                                const std::string& encoding =
>                                std::string());
>
> /**
>
>  * Encodes a Variant::Map into a message.
>
>  *
>
>  * @param map the map to be encoded
>
>  * @param message the message whose content should be set to the
>  encoded map
>
>  * @param encoding if specified, the encoding to use - this overrides
>
>  * any encoding specified by the content-type of the message
>
>  * @exception EncodingException
>
>  */
>
> QPID_MESSAGING_EXTERN void encode(const qpid::types::Variant::Map&
> map,
>
>                                Message& message,
>
>                                const std::string& encoding =
>                                std::string());
>
> /**
>
>  * Encodes a Variant::List into a message.
>
>  *
>
>  * @param list the list to be encoded
>
>  * @param message the message whose content should be set to the
>  encoded
> list
>
>  * @param encoding if specified, the encoding to use - this overrides
>
>  * any encoding specified by the content-type of the message
>
>  * @exception EncodingException
>
>  */
>
> QPID_MESSAGING_EXTERN void encode(const qpid::types::Variant::List&
> list,
>
>                                Message& message,
>
>                                const std::string& encoding =
>                                std::string());
>
>
>
>

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to