blob: 4ec789984fe58616bdcd57876a8576b9ec938acb [file] [log] [blame]
/*
* 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 <CMS_Message.h>
#include <Config.h>
#include <types/CMS_Types.h>
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#ifdef HAVE_STRINGS_H
#include <strings.h>
#endif
#ifdef HAVE_STRING_H
#include <string.h>
#endif
#include <memory>
////////////////////////////////////////////////////////////////////////////////
cms_status createMessage(CMS_Session* session, CMS_Message** message) {
cms_status result = CMS_SUCCESS;
std::auto_ptr<CMS_Message> wrapper( new CMS_Message );
try{
if (session == NULL) {
result = CMS_ERROR;
} else {
wrapper->message = session->session->createMessage();
wrapper->type = CMS_MESSAGE;
*message = wrapper.release();
}
} catch(...) {
result = CMS_ERROR;
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status createTextMessage(CMS_Session* session, CMS_Message** message, const char* body) {
cms_status result = CMS_SUCCESS;
std::auto_ptr<CMS_Message> wrapper( new CMS_Message );
try{
if (session == NULL) {
result = CMS_ERROR;
} else {
if (body == NULL) {
wrapper->message = session->session->createTextMessage();
} else {
wrapper->message = session->session->createTextMessage(body);
}
wrapper->type = CMS_TEXT_MESSAGE;
*message = wrapper.release();
}
} catch(...) {
result = CMS_ERROR;
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status createBytesMessage(CMS_Session* session, CMS_Message** message, unsigned char* body, int length) {
cms_status result = CMS_SUCCESS;
std::auto_ptr<CMS_Message> wrapper( new CMS_Message );
try{
if (session == NULL) {
result = CMS_ERROR;
} else {
if (body == NULL) {
wrapper->message = session->session->createBytesMessage();
} else {
wrapper->message = session->session->createBytesMessage(body, length);
}
wrapper->type = CMS_BYTES_MESSAGE;
*message = wrapper.release();
}
} catch(...) {
result = CMS_ERROR;
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status createMapMessage(CMS_Session* session, CMS_Message** message) {
cms_status result = CMS_SUCCESS;
std::auto_ptr<CMS_Message> wrapper( new CMS_Message );
try{
if (session == NULL) {
result = CMS_ERROR;
} else {
wrapper->message = session->session->createMapMessage();
wrapper->type = CMS_MAP_MESSAGE;
*message = wrapper.release();
}
} catch(...) {
result = CMS_ERROR;
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status createStreamMessage(CMS_Session* session, CMS_Message** message) {
cms_status result = CMS_SUCCESS;
std::auto_ptr<CMS_Message> wrapper( new CMS_Message );
try{
if (session == NULL) {
result = CMS_ERROR;
} else {
wrapper->message = session->session->createStreamMessage();
wrapper->type = CMS_STREAM_MESSAAGE;
*message = wrapper.release();
}
} catch(...) {
result = CMS_ERROR;
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status destroyMessage(CMS_Message* message) {
cms_status result = CMS_SUCCESS;
if(message != NULL) {
try{
delete message->message;
delete message;
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status cloneMessage(CMS_Message* original, CMS_Message** clone) {
cms_status result = CMS_SUCCESS;
if(original != NULL) {
std::auto_ptr<CMS_Message> wrapper( new CMS_Message );
try{
wrapper->message = original->message->clone();
wrapper->type = original->type;
*clone = wrapper.release();
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status acknowledgeMessage(CMS_Message* message) {
cms_status result = CMS_SUCCESS;
if(message != NULL) {
try{
message->message->acknowledge();
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status clearBody(CMS_Message* message) {
cms_status result = CMS_SUCCESS;
if(message != NULL) {
try{
message->message->clearBody();
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status clearMessageProperties(CMS_Message* message) {
cms_status result = CMS_SUCCESS;
if(message != NULL) {
try{
message->message->clearProperties();
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status getNumMessageProperties(CMS_Message* message, int* numProperties) {
cms_status result = CMS_SUCCESS;
if(message != NULL && numProperties != NULL) {
try{
*numProperties = (int) message->message->getPropertyNames().size();
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status messagePropertyExists(CMS_Message* message, const char* key, int* exists ) {
cms_status result = CMS_SUCCESS;
if(message != NULL && key != NULL && exists != NULL) {
try{
if(strlen(key) > 0) {
*exists = (int) message->message->propertyExists(key);
} else {
*exists = 0;
}
} catch(...) {
*exists = 0;
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status getMessageBooleanProperty(CMS_Message* message, const char* key, int* value) {
cms_status result = CMS_SUCCESS;
if(message != NULL && key != NULL && value != NULL) {
try{
if(strlen(key) > 0) {
*value = (int) message->message->getBooleanProperty(key);
} else {
*value = 0;
}
} catch(cms::MessageFormatException& ex) {
*value = 0;
result = CMS_MESSAGE_FORMAT_ERROR;
} catch(...) {
*value = 0;
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status getMessageByteProperty(CMS_Message* message, const char* key, unsigned char* value) {
cms_status result = CMS_SUCCESS;
if(message != NULL && key != NULL && value != NULL) {
try{
if(strlen(key) > 0) {
*value = message->message->getByteProperty(key);
} else {
*value = 0;
}
} catch(cms::MessageFormatException& ex) {
*value = 0;
result = CMS_MESSAGE_FORMAT_ERROR;
} catch(...) {
*value = 0;
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status getMessageDoubleProperty(CMS_Message* message, const char* key, double* value) {
cms_status result = CMS_SUCCESS;
if(message != NULL && key != NULL && value != NULL) {
try{
if(strlen(key) > 0) {
*value = message->message->getDoubleProperty(key);
} else {
*value = 0;
}
} catch(cms::MessageFormatException& ex) {
*value = 0;
result = CMS_MESSAGE_FORMAT_ERROR;
} catch(...) {
*value = 0;
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status getMessageFloatProperty(CMS_Message* message, const char* key, float* value) {
cms_status result = CMS_SUCCESS;
if(message != NULL && key != NULL && value != NULL) {
try{
if(strlen(key) > 0) {
*value = message->message->getFloatProperty(key);
} else {
*value = 0;
}
} catch(cms::MessageFormatException& ex) {
*value = 0;
result = CMS_MESSAGE_FORMAT_ERROR;
} catch(...) {
*value = 0;
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status getMessageIntProperty(CMS_Message* message, const char* key, int* value) {
cms_status result = CMS_SUCCESS;
if(message != NULL && key != NULL && value != NULL) {
try{
if(strlen(key) > 0) {
*value = message->message->getIntProperty(key);
} else {
*value = 0;
}
} catch(cms::MessageFormatException& ex) {
*value = 0;
result = CMS_MESSAGE_FORMAT_ERROR;
} catch(...) {
*value = 0;
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status getMessageLongProperty(CMS_Message* message, const char* key, long long* value) {
cms_status result = CMS_SUCCESS;
if(message != NULL && key != NULL && value != NULL) {
try{
if(strlen(key) > 0) {
*value = message->message->getLongProperty(key);
} else {
*value = 0;
}
} catch(cms::MessageFormatException& ex) {
*value = 0;
result = CMS_MESSAGE_FORMAT_ERROR;
} catch(...) {
*value = 0;
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status getMessageShortProperty(CMS_Message* message, const char* key, short* value) {
cms_status result = CMS_SUCCESS;
if(message != NULL && key != NULL && value != NULL) {
try{
if(strlen(key) > 0) {
*value = message->message->getShortProperty(key);
} else {
*value = 0;
}
} catch(cms::MessageFormatException& ex) {
*value = 0;
result = CMS_MESSAGE_FORMAT_ERROR;
} catch(...) {
*value = 0;
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status getMessageStringProperty(CMS_Message* message, const char* key, char* value, int size) {
cms_status result = CMS_SUCCESS;
if(message != NULL && key != NULL && value != NULL) {
try{
std::string property = message->message->getStringProperty(key);
if(!property.empty()) {
std::size_t pos = 0;
for(; pos < property.size() && pos < (std::size_t)size - 1; ++pos) {
value[pos] = property.at(pos);
}
value[pos] = '\0';
} else {
value[0] = '\0';
}
} catch(cms::MessageFormatException& ex) {
value[0] = '\0';
result = CMS_MESSAGE_FORMAT_ERROR;
} catch(...) {
value[0] = '\0';
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status setMessageBooleanProperty(CMS_Message* message, const char* key, int value) {
cms_status result = CMS_SUCCESS;
if(message != NULL && key != NULL) {
try{
if(strlen(key) > 0) {
message->message->setBooleanProperty(key, value > 0 ? true : false);
}
} catch(cms::MessageNotWriteableException& ex) {
result = CMS_MESSAGE_NOT_WRITABLE;
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status setMessageByteProperty(CMS_Message* message, const char* key, unsigned char value) {
cms_status result = CMS_SUCCESS;
if(message != NULL && key != NULL) {
try{
if(strlen(key) > 0) {
message->message->setByteProperty(key, value);
}
} catch(cms::MessageNotWriteableException& ex) {
result = CMS_MESSAGE_NOT_WRITABLE;
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status setMessageDoubleProperty(CMS_Message* message, const char* key, double value) {
cms_status result = CMS_SUCCESS;
if(message != NULL && key != NULL) {
try{
if(strlen(key) > 0) {
message->message->setDoubleProperty(key, value);
}
} catch(cms::MessageNotWriteableException& ex) {
result = CMS_MESSAGE_NOT_WRITABLE;
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status setMessageFloatProperty(CMS_Message* message, const char* key, float value) {
cms_status result = CMS_SUCCESS;
if(message != NULL && key != NULL) {
try{
if(strlen(key) > 0) {
message->message->setFloatProperty(key, value);
}
} catch(cms::MessageNotWriteableException& ex) {
result = CMS_MESSAGE_NOT_WRITABLE;
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status setMessageIntProperty(CMS_Message* message, const char* key, int value) {
cms_status result = CMS_SUCCESS;
if(message != NULL && key != NULL) {
try{
if(strlen(key) > 0) {
message->message->setIntProperty(key, value);
}
} catch(cms::MessageNotWriteableException& ex) {
result = CMS_MESSAGE_NOT_WRITABLE;
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status setMessageLongProperty(CMS_Message* message, const char* key, long long value) {
cms_status result = CMS_SUCCESS;
if(message != NULL && key != NULL) {
try{
if(strlen(key) > 0) {
message->message->setLongProperty(key, value);
}
} catch(cms::MessageNotWriteableException& ex) {
result = CMS_MESSAGE_NOT_WRITABLE;
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status setShortProperty(CMS_Message* message, const char* key, short value) {
cms_status result = CMS_SUCCESS;
if(message != NULL && key != NULL) {
try{
if(strlen(key) > 0) {
message->message->setShortProperty(key, value);
}
} catch(cms::MessageNotWriteableException& ex) {
result = CMS_MESSAGE_NOT_WRITABLE;
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status setStringProperty(CMS_Message* message, const char* key, const char* value) {
cms_status result = CMS_SUCCESS;
if(message != NULL && key != NULL) {
try{
if(strlen(key) > 0) {
message->message->setStringProperty(key, value);
}
} catch(cms::MessageNotWriteableException& ex) {
result = CMS_MESSAGE_NOT_WRITABLE;
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status getCMSMessageCorrelationID(CMS_Message* message, char* correlationId, int size) {
cms_status result = CMS_SUCCESS;
if(message != NULL && correlationId != NULL && size > 0) {
try{
std::string id = message->message->getCMSCorrelationID();
if(!id.empty()) {
std::size_t pos = 0;
for(; pos < id.size() && pos < (std::size_t)size - 1; ++pos) {
correlationId[pos] = id.at(pos);
}
correlationId[pos] = '\0';
} else {
correlationId[0] = '\0';
}
} catch(cms::MessageFormatException& ex) {
correlationId[0] = '\0';
result = CMS_MESSAGE_FORMAT_ERROR;
} catch(...) {
correlationId[0] = '\0';
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status setCMSMessageCorrelationID(CMS_Message* message, const char* correlationId) {
cms_status result = CMS_SUCCESS;
if(message != NULL && correlationId != NULL) {
try{
if(strlen(correlationId) > 0) {
message->message->setCMSCorrelationID(correlationId);
}
} catch(cms::MessageNotWriteableException& ex) {
result = CMS_MESSAGE_NOT_WRITABLE;
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status getCMSMessageDeliveryMode(CMS_Message* message, int* mode) {
cms_status result = CMS_SUCCESS;
if(message != NULL && mode != NULL) {
try{
*mode = message->message->getCMSDeliveryMode();
} catch(cms::MessageNotWriteableException& ex) {
result = CMS_MESSAGE_NOT_WRITABLE;
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status setCMSMessageDeliveryMode(CMS_Message* message, int mode) {
cms_status result = CMS_SUCCESS;
if(message != NULL) {
try{
message->message->setCMSDeliveryMode(mode);
} catch(cms::MessageNotWriteableException& ex) {
result = CMS_MESSAGE_NOT_WRITABLE;
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status getCMSMessageDestination(CMS_Message* message, CMS_Destination** destination) {
cms_status result = CMS_SUCCESS;
if(message != NULL) {
try{
std::auto_ptr<CMS_Destination> wrapper( new CMS_Destination );
const cms::Destination* dest = message->message->getCMSDestination();
if (dest != NULL) {
wrapper->destination = dest->clone();
*destination = wrapper.release();
} else {
*destination = NULL;
}
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status setCMSMessageDestination(CMS_Message* message, CMS_Destination* destination) {
cms_status result = CMS_SUCCESS;
if(message != NULL) {
try{
if (destination != NULL) {
message->message->setCMSDestination(destination->destination->clone());
} else {
message->message->setCMSDestination(NULL);
}
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status getCMSMessageExpiration(CMS_Message* message, long long* expiration) {
cms_status result = CMS_SUCCESS;
if(message != NULL && expiration != NULL) {
try{
*expiration = message->message->getCMSExpiration();
} catch(cms::MessageNotWriteableException& ex) {
result = CMS_MESSAGE_NOT_WRITABLE;
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status setCMSMessageExpiration(CMS_Message* message, long long expiration) {
cms_status result = CMS_SUCCESS;
if(message != NULL) {
try{
message->message->setCMSExpiration(expiration);
} catch(cms::MessageNotWriteableException& ex) {
result = CMS_MESSAGE_NOT_WRITABLE;
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status getCMSMessageMessageID(CMS_Message* message, char* messageId, int size) {
cms_status result = CMS_SUCCESS;
if(message != NULL && messageId != NULL && size > 0) {
try{
std::string id = message->message->getCMSMessageID();
if(!id.empty()) {
std::size_t pos = 0;
for(; pos < id.size() && pos < (std::size_t)size - 1; ++pos) {
messageId[pos] = id.at(pos);
}
messageId[pos] = '\0';
} else {
messageId[0] = '\0';
}
} catch(cms::MessageFormatException& ex) {
messageId[0] = '\0';
result = CMS_MESSAGE_FORMAT_ERROR;
} catch(...) {
messageId[0] = '\0';
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status setCMSMessageMessageID(CMS_Message* message, const char* messageId) {
cms_status result = CMS_SUCCESS;
if(message != NULL && messageId != NULL) {
try{
if(strlen(messageId) > 0) {
message->message->setCMSMessageID(messageId);
}
} catch(cms::MessageNotWriteableException& ex) {
result = CMS_MESSAGE_NOT_WRITABLE;
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status getCMSMessagePriority(CMS_Message* message, int* priority) {
cms_status result = CMS_SUCCESS;
if(message != NULL && priority != NULL) {
try{
*priority = message->message->getCMSPriority();
} catch(cms::MessageNotWriteableException& ex) {
result = CMS_MESSAGE_NOT_WRITABLE;
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status setCMSMessagePriority(CMS_Message* message, int priority) {
cms_status result = CMS_SUCCESS;
if(message != NULL) {
try{
message->message->setCMSPriority(priority);
} catch(cms::MessageNotWriteableException& ex) {
result = CMS_MESSAGE_NOT_WRITABLE;
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status getCMSMessageRedelivered(CMS_Message* message, int* redelivered) {
cms_status result = CMS_SUCCESS;
if(message != NULL && redelivered != NULL) {
try{
*redelivered = (int) message->message->getCMSRedelivered();
} catch(cms::MessageNotWriteableException& ex) {
result = CMS_MESSAGE_NOT_WRITABLE;
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status setCMSMessageRedelivered(CMS_Message* message, int redelivered) {
cms_status result = CMS_SUCCESS;
if(message != NULL) {
try{
message->message->setCMSRedelivered(redelivered == 0 ? false : true);
} catch(cms::MessageNotWriteableException& ex) {
result = CMS_MESSAGE_NOT_WRITABLE;
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status getCMSMessageReplyTo(CMS_Message* message, CMS_Destination** destination) {
cms_status result = CMS_SUCCESS;
if(message != NULL) {
try{
std::auto_ptr<CMS_Destination> wrapper( new CMS_Destination );
const cms::Destination* dest = message->message->getCMSReplyTo();
if (dest != NULL) {
wrapper->destination = dest->clone();
*destination = wrapper.release();
} else {
*destination = NULL;
}
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status setCMSMessageReplyTo(CMS_Message* message, CMS_Destination* destination) {
cms_status result = CMS_SUCCESS;
if(message != NULL) {
try{
if (destination != NULL) {
message->message->setCMSReplyTo(destination->destination->clone());
} else {
message->message->setCMSReplyTo(NULL);
}
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status getCMSMessageTimestamp(CMS_Message* message, long long* timeStamp) {
cms_status result = CMS_SUCCESS;
if(message != NULL && timeStamp != NULL) {
try{
*timeStamp = message->message->getCMSTimestamp();
} catch(cms::MessageNotWriteableException& ex) {
result = CMS_MESSAGE_NOT_WRITABLE;
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status setCMSMessageTimestamp(CMS_Message* message, long long timeStamp) {
cms_status result = CMS_SUCCESS;
if(message != NULL) {
try{
message->message->setCMSTimestamp(timeStamp);
} catch(cms::MessageNotWriteableException& ex) {
result = CMS_MESSAGE_NOT_WRITABLE;
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status getCMSMessageType(CMS_Message* message, char* type, int size) {
cms_status result = CMS_SUCCESS;
if(message != NULL && type != NULL && size > 0) {
try{
std::string typeVal = message->message->getCMSType();
if(!typeVal.empty()) {
std::size_t pos = 0;
for(; pos < typeVal.size() && pos < (std::size_t)size - 1; ++pos) {
type[pos] = typeVal.at(pos);
}
type[pos] = '\0';
} else {
type[0] = '\0';
}
} catch(cms::MessageFormatException& ex) {
type[0] = '\0';
result = CMS_MESSAGE_FORMAT_ERROR;
} catch(...) {
type[0] = '\0';
result = CMS_ERROR;
}
}
return result;
}
////////////////////////////////////////////////////////////////////////////////
cms_status setCMSMessageType(CMS_Message* message, const char* type) {
cms_status result = CMS_SUCCESS;
if(message != NULL && type != NULL) {
try{
if(strlen(type) > 0) {
message->message->setCMSType(type);
}
} catch(cms::MessageNotWriteableException& ex) {
result = CMS_MESSAGE_NOT_WRITABLE;
} catch(...) {
result = CMS_ERROR;
}
}
return result;
}