blob: 11dfbbd4f66bc8936367476f18cac96d8008549a [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.h>
#ifndef _CMS_DESTINATION_WRAPPER_H_
#define _CMS_DESTINATION_WRAPPER_H_
#ifdef __cplusplus
extern "C" {
#endif
/**
* Creates a Destination from the Given Session instance. The type of Destination is
* given by the DESTINATION_TYPE parameter.
*
* @param session
* The Session to use to create the new Destination.
* @param type
* The Type of Destination that is to be created.
* @param name
* The name to assign the Destination, in the case of Temporary Destinations
* this parameter is ignored.
* @param destination
* The address of the location to store the new Destination instance.
*
* @return result code indicating the success or failure of the operation.
*/
cms_status createDestination(CMS_Session* session, DESTINATION_TYPE type, const char* name, CMS_Destination** destination);
/**
* Destroy the given Destination instance.
*
* @param destination
* The Destination to destroy.
*
* @return result code indicating the success or failure of the operation.
*/
cms_status destroyDestination(CMS_Destination* destination);
/**
* Compares to CMS Destination instances for equality.
*
* @param lhs
* The Destination on the left-hand side of the comparison.
* @param rhs
* The Destination on the right-hand side of the comparison.
* @param areEqual
* The address to write the boolean result of the comparison to.
*
* @return result code indicating the success or failure of the operation.
*/
cms_status compareDestinations(CMS_Destination* lhs, CMS_Destination* rhs, int* areEqual);
/**
* Checks if the supplied Destination is a Topic.
*
* @param destination
* The Destination to check for its type.
* @param isTopic
* The address to write the boolean result of the operation.
*
* @return result code indicating the success or failure of the operation.
*/
cms_status isDestinationTopic(CMS_Destination* destination, int* isTopic);
/**
* Checks if the supplied Destination is a Queue.
*
* @param destination
* The Destination to check for its type.
* @param isTopic
* The address to write the boolean result of the operation.
*
* @return result code indicating the success or failure of the operation.
*/
cms_status isDestinationQueue(CMS_Destination* destination, int* isQueue);
/**
* Checks if the supplied Destination is a Temporary type.
*
* @param destination
* The Destination to check for its type.
* @param isTopic
* The address to write the boolean result of the operation.
*
* @return result code indicating the success or failure of the operation.
*/
cms_status isDestinationTemporary(CMS_Destination* destination, int* isTemporary);
#ifdef __cplusplus
}
#endif
#endif /* _CMS_DESTINATION_WRAPPER_H_ */