From 054094d1d805e5812e7c7c3a534515f57ea1c606 Mon Sep 17 00:00:00 2001 From: Ted Ross Date: Mon, 10 May 2010 20:33:19 +0000 Subject: QPID-2589 - Applied patch from Chuck Rolke. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@942892 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/bindings/qpid/dotnet/src/Message.cpp | 202 +++++++++++++++++++++++++++++++ 1 file changed, 202 insertions(+) create mode 100644 cpp/bindings/qpid/dotnet/src/Message.cpp (limited to 'cpp/bindings/qpid/dotnet/src/Message.cpp') diff --git a/cpp/bindings/qpid/dotnet/src/Message.cpp b/cpp/bindings/qpid/dotnet/src/Message.cpp new file mode 100644 index 0000000000..90ca4e8915 --- /dev/null +++ b/cpp/bindings/qpid/dotnet/src/Message.cpp @@ -0,0 +1,202 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + +#include +#include +#include +#include +#include + +#include "qpid/messaging/Message.h" + +#include "QpidMarshal.h" +#include "Message.h" + +namespace org { +namespace apache { +namespace qpid { +namespace messaging { + + /// + /// Message is a managed wrapper for a ::qpid::messaging::Message + /// + + // This constructor is used to create a message from bytes to put into the message + Message::Message(System::String ^ bytes) : + messagep(new ::qpid::messaging::Message(QpidMarshal::ToNative(bytes))) + { + } + + // This constructor creates a message from a native received message + Message::Message(::qpid::messaging::Message * msgp) : + messagep(msgp) + { + } + + // Destructor + Message::~Message() + { + Cleanup(); + } + + + // Finalizer + Message::!Message() + { + Cleanup(); + } + + // Copy constructor + Message::Message(const Message % rhs) + { + messagep = rhs.messagep; + } + + // Destroys kept object + // TODO: add lock + void Message::Cleanup() + { + if (NULL != messagep) + { + delete messagep; + messagep = NULL; + } + } + + //void Message::setReplyTo(System::String ^ address) + //{ + // messagep->setReplyTo(QpidMarshal::ToNative(address)); + //} + + //System::String ^ Message::getReplyTo() + //{ + // return gcnew String(messagep->getReplyTo().c_str()); + //} + + + void Message::setSubject(System::String ^ subject) + { + messagep->setSubject(QpidMarshal::ToNative(subject)); + } + + System::String ^ Message::getSubject() + { + return gcnew String(messagep->getSubject().c_str()); + } + + + void Message::setContentType(System::String ^ ct) + { + messagep->setContentType(QpidMarshal::ToNative(ct)); + } + + System::String ^ Message::getContentType() + { + return gcnew String(messagep->getContentType().c_str()); + } + + + void Message::setMessageId(System::String ^ mId) + { + messagep->setMessageId(QpidMarshal::ToNative(mId)); + } + + System::String ^ Message::getMessageId() + { + return gcnew String(messagep->getMessageId().c_str()); + } + + + void Message::setUserId(System::String ^ uId) + { + messagep->setUserId(QpidMarshal::ToNative(uId)); + } + + System::String ^ Message::getUserId() + { + return gcnew String(messagep->getUserId().c_str()); + } + + + void Message::setCorrelationId(System::String ^ cId) + { + messagep->setCorrelationId(QpidMarshal::ToNative(cId)); + } + + System::String ^ Message::getCorrelationId() + { + return gcnew String(messagep->getCorrelationId().c_str()); + } + + + void Message::setPriority(unsigned char priority) + { + messagep->setPriority(priority); + } + + unsigned char Message::getPriority() + { + return messagep->getPriority(); + } + + + //void setTtl(Duration ttl); + //Duration getTtl(); + + void Message::setDurable(bool durable) + { + messagep->setDurable(durable); + } + + bool Message::getDurable() + { + return messagep->getDurable(); + } + + + bool Message::getRedelivered() + { + return messagep->getRedelivered(); + } + + void Message::setRedelivered(bool redelivered) + { + messagep->setRedelivered(redelivered); + } + + + //System::String ^ Message::getProperties() + //{ + // pqid::types::Variant::Map * mapp = new + // return gcnew String(messagep->getReplyTo().c_str()); + //} + + + void Message::setContent(System::String ^ content) + { + messagep->setContent(QpidMarshal::ToNative(content)); + } + + + System::String ^ Message::getContent() + { + return gcnew String(messagep->getContent().c_str()); + } + +}}}} -- cgit v1.2.1