/*
* 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.
*/
using System;
using System.Collections;
using IBM.XMS;
namespace Apache.NMS.XMS.Util
{
#region Encoding (IBM JMS)*
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prp_jms_ibm_encoding.htm?lang=en
///
/// How numerical data in the body of the message is represented when the XMS
/// client forwards the message to its intended destination.
///
public enum Encoding
{
///
/// Normal integer encoding.
///
IntegerNormal = MQC.MQENC_INTEGER_NORMAL,
///
/// Reversed integer encoding.
///
IntegerReversed = MQC.MQENC_INTEGER_REVERSED,
///
/// Normal packed decimal encoding.
///
DecimalNormal = MQC.MQENC_DECIMAL_NORMAL,
///
/// Reversed packed decimal encoding.
///
DecimalReversed = MQC.MQENC_DECIMAL_REVERSED,
///
/// Normal IEEE floating point encoding.
///
FloatIEEENormal = MQC.MQENC_FLOAT_IEEE_NORMAL,
///
/// Reversed IEEE floating point encoding.
///
FloatIEEEReversed = MQC.MQENC_FLOAT_IEEE_REVERSED,
///
/// z/OS® architecture floating point encoding.
///
FloatS390 = MQC.MQENC_FLOAT_S390,
///
/// Native machine encoding.
///
Native = MQC.MQENC_NATIVE
}
#endregion
#region Message Type (IBM JMS)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prp_jms_ibm_msgtype.htm?lang=en
///
/// Message type.
///
public enum MessageType
{
///
/// The message is one that does not require a reply.
///
Datagram = MQC.MQMT_DATAGRAM,
///
/// The message is one that requires a reply.
///
Request = MQC.MQMT_REQUEST,
///
/// The message is a reply message.
///
Reply = MQC.MQMT_REPLY,
///
/// The message is a report message.
///
Report = MQC.MQMT_REPORT
}
#endregion
#region Report Confirm On Arrival (IBM JMS)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prp_jms_ibm_rep_coa.htm?lang=en
///
/// Request 'confirm on arrival' report messages, specifying how much
/// application data from the original message must be included in a
/// report message.
///
public enum ReportConfirmOnArrival
{
///
/// Request 'confirm on arrival' report messages, with no application
/// data from the original message included in a report message.
///
NoData = MQC.MQRO_COA,
///
/// Request 'confirm on arrival' report messages, with the first 100 bytes
/// of application data from the original message included in a report
/// message.
///
PartialData = MQC.MQRO_COA_WITH_DATA,
///
/// Request 'confirm on arrival' report messages, with all the application
/// data from the original message included in a report message.
///
FullData = MQC.MQRO_COA_WITH_FULL_DATA
}
#endregion
#region Report Confirm On Delivery (IBM JMS)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prp_jms_ibm_rep_cod.htm?lang=en
///
/// Request 'confirm on delivery' report messages, specifying how much
/// application data from the original message must be included in a
/// report message.
///
public enum ReportConfirmOnDelivery
{
///
/// Request 'confirm on delivery' report messages, with no application
/// data from the original message included in a report message.
///
NoData = MQC.MQRO_COD,
///
/// Request 'confirm on delivery' report messages, with the first 100 bytes
/// of application data from the original message included in a report
/// message.
///
PartialData = MQC.MQRO_COD_WITH_DATA,
///
/// Request 'confirm on delivery' report messages, with all the application
/// data from the original message included in a report message.
///
FullData = MQC.MQRO_COD_WITH_FULL_DATA
}
#endregion
#region Report Exception (IBM JMS)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prp_jms_ibm_rep_excpt.htm?lang=en
///
/// Request exception report messages, specifying how much application data
/// from the original message must be included in a report message.
///
public enum ReportExceptions
{
///
/// Request exception report messages, with no application data from the
/// original message included in a report message.
///
NoData = MQC.MQRO_COD,
///
/// Request exception report messages, with the first 100 bytes of
/// application data from the original message included in a report
/// message.
///
PartialData = MQC.MQRO_COD_WITH_DATA,
///
/// Request exception report messages, with all the application data from
/// the original message included in a report message.
///
FullData = MQC.MQRO_COD_WITH_FULL_DATA
}
#endregion
#region Report Expiration (IBM JMS)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prp_jms_ibm_rep_exprn.htm?lang=en
///
/// Request expiration report messages, specifying how much application data
/// from the original message must be included in a report message.
///
public enum ReportExpiration
{
///
/// Request expiration report messages, with no application data from the
/// original message included in a report message.
///
NoData = MQC.MQRO_EXPIRATION,
///
/// Request expiration report messages, with the first 100 bytes of
/// application data from the original message included in a report
/// message.
///
PartialData = MQC.MQRO_EXPIRATION_WITH_DATA,
///
/// Request expiration report messages, with all the application data from
/// the original message included in a report message.
///
FullData = MQC.MQRO_EXPIRATION_WITH_FULL_DATA
}
#endregion
#region Report Correlation Id (IBM JMS)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prp_jms_ibm_rep_pcid.htm?lang=en
///
/// Request that the correlation identifier of any report or reply message
/// is the same as the correlation identifier of the original message.
///
public enum ReportCorrelationId
{
///
/// Request that the correlation identifier of any report or reply message
/// is the same as the correlation identifier of the original message.
///
OriginalCorrelationId = MQC.MQRO_PASS_CORREL_ID,
///
/// Request that the correlation identifier of any report or reply message
/// is the same as the message identifier of the original message.
///
OriginalMessageId = MQC.MQRO_COPY_MSG_ID_TO_CORREL_ID
}
#endregion
#region Report Message Id (IBM JMS)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prp_jms_ibm_rep_pmid.htm?lang=en
///
/// Request that the message identifier of any report or reply message is the
/// same as the message identifier of the original message.
///
public enum ReportMessageId
{
///
/// Request that the message identifier of any report or reply message is the same as the message identifier of the original message.
///
OriginalMessageId = MQC.MQRO_PASS_MSG_ID,
///
/// Request that a new message identifier is generated for each report or
/// reply message.
///
NewMessageId = MQC.MQRO_NEW_MSG_ID
}
#endregion
#region Asynchronous Exceptions
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/xmsc_async_exceptions.htm?lang=en
///
/// whether XMS informs an ExceptionListener only when a connection is broken,
/// or when any exception occurs asynchronously to an XMS API call.
///
public enum AsynchronousExceptions
{
///
/// Any exception detected asynchronously, outside the scope of a
/// synchronous API call, and all connection broken exceptions are sent
/// to the ExceptionListener.
///
All = XMSC.ASYNC_EXCEPTIONS_ALL,
///
/// Only exceptions indicating a broken connection are sent to the
/// ExceptionListener. Any other exceptions occurring during
/// asynchronous processing are not reported to the
/// ExceptionListener, and hence the application is not informed
/// of these exceptions.
///
ConnectionBroken = XMSC.ASYNC_EXCEPTIONS_CONNECTIONBROKEN
}
#endregion
#region Connection Type
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prx_connection_type.htm?lang=en
///
/// The type of messaging server to which an application connects.
///
public enum ConnectionType
{
///
/// A real-time connection to a broker.
///
RTT = XMSC.CT_RTT,
///
/// A connection to a WebSphere® MQ queue manager.
///
WMQ = XMSC.CT_WMQ,
///
/// A connection to a WebSphere service integration bus.
///
WPM = XMSC.CT_WPM
}
#endregion
#region Delivery Mode
///
/// The delivery mode of messages sent to the destination.
///
public enum DeliveryMode
{
///
/// A message sent to the destination is nonpersistent. The default
/// delivery mode of the message producer, or any delivery mode specified
/// on the Send call, is ignored. If the destination is a WebSphere MQ
/// queue, the value of the queue attribute DefPersistence is also
/// ignored.
///
NotPersistent = XMSC.DELIVERY_NOT_PERSISTENT,
///
/// A message sent to the destination is persistent. The default
/// delivery mode of the message producer, or any delivery mode specified
/// on the Send call, is ignored. If the destination is a WebSphere MQ
/// queue, the value of the queue attribute DefPersistence is also
/// ignored.
///
Persistent = XMSC.DELIVERY_PERSISTENT,
///
/// A message sent to the destination has the delivery mode specified on
/// the Send call. If the Send call specifies no delivery mode, the default
/// delivery mode of the message producer is used instead. If the
/// destination is a WebSphere MQ queue, the value of the queue attribute
/// DefPersistence is ignored.
///
AsApplication = XMSC.DELIVERY_AS_APP,
///
/// If the destination is a WebSphere MQ queue, a message put on the queue
/// has the delivery mode specified by the value of the queue attribute
/// DefPersistence. The default delivery mode of the message
/// producer, or any delivery mode specified on the Send call, is ignored.
///
AsDestination = XMSC.DELIVERY_AS_DEST
}
#endregion
#region Priority
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prx_priority.htm?lang=en
///
/// The priority of messages sent to the destination.
///
public enum Priority
{
///
/// Lowest message priority.
///
Lowest = 0,
///
/// Between Low and Lowest message priority.
///
VeryLow = 1,
///
/// Low message priority.
///
Low = 2,
///
/// Normal message priority.
///
Normal = 5,
///
/// Between High and Normal message priority.
///
AboveNormal = 6,
///
/// High message priority.
///
High = 7,
///
/// Between Highest and High message priority.
///
VeryHigh = 8,
///
/// Highest message priority.
///
Highest = 9,
///
/// A message sent to the destination has the priority specified on the
/// Send call. If the Send call specifies no priority, the default
/// priority of the message producer is used instead. If the destination
/// is a WebSphere MQ queue, the value of the queue attribute
/// DefPriority is ignored.
///
AsApplication = XMSC.PRIORITY_AS_APP,
///
/// If the destination is a WebSphere MQ queue, a message put on the
/// queue has the priority specified by the value of the queue attribute
/// DefPriority. The default priority of the message producer,
/// or any priority specified on the Send call, is ignored.
///
AsDestination = XMSC.PRIORITY_AS_DEST
}
#endregion
#region Connection Protocol (RTT)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prx_rtt_conn_prot.htm?lang=en
///
/// The communications protocol used for a real-time connection to a broker.
///
public enum RTTConnectionProtocol
{
///
/// Real-time connection to a broker over TCP/IP.
/// ConnectionFactory object.
///
TCP = XMSC.RTT_CP_TCP
}
#endregion
#region Multicast (RTT)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prx_rtt_multicast.htm?lang=en
///
/// The multicast setting for a connection factory or destination. Only a
/// destination that is a topic can have this property.
/// An application uses this property to enable multicast in association with
/// a real-time connection to a broker and, if multicast is enabled, to
/// specify the precise way in which multicast is used to deliver messages
/// from the broker to a message consumer. The property has no effect on how
/// a message producer sends messages to the broker.
///
public enum Multicast
{
///
/// Messages are not delivered to a message consumer using WebSphere® MQ
/// Multicast Transport. This value is the default value for a
/// ConnectionFactory object.
///
Disabled = XMSC.RTT_MULTICAST_DISABLED,
///
/// Messages are delivered to a message consumer according to the multicast
/// setting for the connection factory associated with the message consumer.
/// The multicast setting for the connection factory is noted at the time
/// that the connection is created. This value is valid only for a
/// Destination object, and is the default value for a
/// Destination object.
///
AsConnectionFactory = XMSC.RTT_MULTICAST_ASCF,
///
/// If the topic is configured for multicast in the broker, messages are
/// delivered to a message consumer using WebSphere MQ Multicast Transport.
/// A reliable quality of service is used if the topic is configured for
/// reliable multicast.
///
Enabled = XMSC.RTT_MULTICAST_ENABLED,
///
/// If the topic is configured for reliable multicast in the broker,
/// messages are delivered to a message consumer using WebSphere MQ
/// Multicast Transport with a reliable quality of service. If the topic
/// is not configured for reliable multicast, you cannot create a message
/// consumer for the topic.
///
Reliable = XMSC.RTT_MULTICAST_RELIABLE,
///
/// If the topic is configured for multicast in the broker, messages are
/// delivered to a message consumer using WebSphere MQ Multicast Transport.
/// A reliable quality of service is not used even if the topic is
/// configured for reliable multicast.
///
NotReliable = XMSC.RTT_MULTICAST_NOT_RELIABLE
}
#endregion
#region Broker Version (WMQ)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prx_wmq_brkr_version.htm?lang=en
///
/// The type of broker used by the application for a connection or for the
/// destination. Only a destination that is a topic can have this property.
///
public enum BrokerVersion
{
///
/// The application is using a WebSphere® MQ Publish/Subscribe broker.
///
Version1 = XMSC.WMQ_BROKER_V1,
///
/// The application is using a broker of IBM® Integration Bus.
///
Version2 = XMSC.WMQ_BROKER_V2,
///
/// After the broker is migrated, set this property so that RFH2 headers
/// are no longer used. After migration, this property is no longer
/// relevant.
///
Unspecified = XMSC.WMQ_BROKER_UNSPECIFIED
}
#endregion
#region Reconnect Options (WMQ)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prx_rtt_client_reconnect_options.htm?lang=en
///
/// Client reconnect options for new connections created by a factory.
///
public enum ReconnectOptions
{
///
/// Use the value specified in the mqclient.ini file. Set the value
/// by using the DefRecon property within the Channels stanza.
///
AsDefault = XMSC.WMQ_CLIENT_RECONNECT_AS_DEF,
///
/// Reconnect to any of the queue managers specified in the connection name
/// list.
///
AnyQueueManager = XMSC.WMQ_CLIENT_RECONNECT,
///
/// Reconnects to the same queue manager that it is originally connected to.
/// It returns MQRC.RECONNECT_QMID_MISMATCH if the queue manager it
/// tries to connect to (specified in the connection name list) has a
/// different QMID to the queue manager originally connected to.
///
SameQueueManager = XMSC.WMQ_CLIENT_RECONNECT_Q_MGR,
///
/// Reconnection is disabled.
///
Disabled = XMSC.WMQ_CLIENT_RECONNECT_DISABLED
}
#endregion
#region Connection Mode (WMQ)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prx_wmq_conn_mode.htm?lang=en
///
/// The mode by which an application connects to a queue manager.
///
public enum ConnectionMode
{
///
/// A connection to a queue manager in bindings mode, for optimal performance. This value is the default value for C/C++.
///
Bindings = XMSC.WMQ_CM_BINDINGS,
///
/// A connection to a queue manager in client mode, to ensure a fully managed stack. This value is the default value for .NET.
///
Client = XMSC.WMQ_CM_CLIENT,
///
/// A connection to a queue manager which forces an unmanaged client stack.
///
ClientUnmanaged = XMSC.WMQ_CM_CLIENT_UNMANAGED
}
#endregion
#region Encoding (WMQ)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prx_wmq_encoding.htm?lang=en
// cf. "Encoding (IBM JMS)"
#endregion
#region Fail If Quiesce (WMQ)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prx_wmq_fail_if_quiesce.htm?lang=en
///
/// Whether calls to certain methods fail if the queue manager to which the
/// application is connected is in a quiescing state.
///
public enum FailIfQuiesce
{
///
/// Calls to certain methods fail if the queue manager is in a quiescing
/// state. When the application detects that the queue manager is
/// quiescing, the application can complete its immediate task and close
/// the connection, allowing the queue manager to stop.
///
Yes = XMSC.WMQ_FIQ_YES,
///
/// No method calls fail because the queue manager is in a quiescing
/// state. If you specify this value, the application cannot detect that
/// the queue manager is quiescing. The application might continue to
/// perform operations against the queue manager and therefore prevent
/// the queue manager from stopping.
///
No = XMSC.WMQ_FIQ_NO
}
#endregion
#region Message Body (WMQ)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/xmsc_wmq_message_body.htm?lang=en
///
/// Whether an XMS application processes the MQRFH2 of a WebSphere®
/// MQ message as part of the message payload (that is, as part of the
/// message body).
///
public enum MessageBody
{
///
/// Receive: The inbound XMS message type and body are determined by the
/// contents of the MQRFH2 (if present) or the MQMD (if there
/// is no MQRFH2) in the received WebSphere MQ message.
/// Send: The outbound XMS message body contains a prepended and
/// auto-generated MQRFH2 header based on XMS Message properties and
/// header fields.
///
JMS = XMSC.WMQ_MESSAGE_BODY_JMS,
///
/// Receive: The inbound XMS message type is always ByteMessage,
/// irrespective of the contents of received WebSphere MQ message or the
/// format field of the received MQMD. The XMS message body is the
/// unaltered message data returned by the underlying messaging provider
/// API call. The character set and encoding of the data in the message
/// body is determined by the CodedCharSetId and Encoding
/// fields of the MQMD. The format of the data in the message body
/// is determined by the Format field of the MQMD.
/// Send: The outbound XMS message body contains the application payload
/// as-is; and no auto-generated WebSphere MQ header is added to the body.
///
MQ = XMSC.WMQ_MESSAGE_BODY_MQ,
///
/// Receive: The XMS client determines a suitable value for this property.
/// On receive path, this value is the WMQ_MESSAGE_BODY_JMS property
/// value.
/// Send: The XMS client determines a suitable value for this property. On
/// send path, this value is the XMSC_WMQ_TARGET_CLIENT property
/// value.
///
Unspecified = XMSC.WMQ_MESSAGE_BODY_UNSPECIFIED
}
#endregion
#region Message Context (WMQ)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/xmsc_wmq_mqmd_message_context.htm?lang=en
///
/// Determines what level of message context is to be set by the XMS
/// application. The application must be running with appropriate context
/// authority for this property to take effect.
///
public enum MessageContext
{
///
/// For outbound messages, the MQOPEN API call and the MQPMO
/// structure specifies no explicit message context options.
///
Default = XMSC.WMQ_MDCTX_DEFAULT,
///
/// The MQOPEN API call specifies the message context option
/// MQOO_SET_IDENTITY_CONTEXT and the MQPMO structure
/// specifies MQPMO_SET_IDENTITY_CONTEXT.
///
SetIdentity = XMSC.WMQ_MDCTX_SET_IDENTITY_CONTEXT,
///
/// The MQOPEN API call specifies the message context option
/// MQOO_SET_ALL_CONTEXT and the MQPMO structure
/// specifies MQPMO_SET_ALL_CONTEXT.
///
SetAll = XMSC.WMQ_MDCTX_SET_ALL_CONTEXT,
}
#endregion
#region MQMD Read Enabled (WMQ)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/xmsc_wmq_mqmd_read_enabled.htm?lang=en
///
/// Whether an XMS application can extract the values of MQMD fields or not.
///
public enum MQMDReadEnabled
{
///
/// When sending messages, the JMS_IBM_MQMD* properties on a sent
/// message are not updated to reflect the updated field values in the
/// MQMD.
/// When receiving messages, none of the JMS_IBM_MQMD* properties
/// are available on a received message, even if some or all of them are
/// set by the sender.
///
No = 0, //XMSC.WMQ_READ_ENABLED_NO,
///
/// When sending messages, all of the JMS_IBM_MQMD* properties on
/// a sent message are updated to reflect the updated field values in the
/// MQMD, including those properties that the sender did not set
/// explicitly.
/// When receiving messages, all of the JMS_IBM_MQMD* properties
/// are available on a received message, including those properties that
/// the sender did not set explicitly.
///
Yes = 1 //XMSC.WMQ_READ_ENABLED_YES
}
#endregion
#region MQMD Write Enabled (WMQ)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/xmsc_wmq_mqmd_write_enabled.htm?lang=en
///
/// Whether an XMS application can write the values of MQMD fields or not.
///
public enum MQMDWriteEnabled
{
///
/// All JMS_IBM_MQMD* properties are ignored and their values are
/// not copied into the underlying MQMD structure.
///
No = 0, //XMSC.WMQ_WRITE_ENABLED_NO,
///
/// JMS_IBM_MQMD* properties are processed. Their values are copied
/// into the underlying MQMD structure.
///
Yes = 1 //XMSC.WMQ_WRITE_ENABLED_YES
}
#endregion
#region Asynchronous Puts Allowed (WMQ)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/xmsc_wmq_put_async_allowed.htm?lang=en
///
/// Whether message producers are allowed to use asynchronous puts to send
/// messages to this destination.
///
public enum AsynchronousPutsAllowed
{
///
/// Determine whether asynchronous puts are allowed by referring to the
/// queue or topic definition.
///
AsDestination = XMSC.WMQ_PUT_ASYNC_ALLOWED_AS_DEST,
///
/// Determine whether asynchronous puts are allowed by referring to the
/// queue definition.
///
AsQueueDefinition = XMSC.WMQ_PUT_ASYNC_ALLOWED_AS_Q_DEF,
///
/// Determine whether asynchronous puts are allowed by referring to the
/// topic definition.
///
AsTopicDefinition = XMSC.WMQ_PUT_ASYNC_ALLOWED_AS_TOPIC_DEF,
///
/// Asynchronous puts are not allowed.
///
Disabled = XMSC.WMQ_PUT_ASYNC_ALLOWED_DISABLED,
///
/// Asynchronous puts are allowed.
///
Enabled = XMSC.WMQ_PUT_ASYNC_ALLOWED_ENABLED
}
#endregion
#region Read Ahead Allowed (WMQ)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/xmsc_wmq_read_ahead_allowed.htm?lang=en
///
/// Whether message consumers and queue browsers are allowed to use read ahead
/// to get non-persistent, non-transactional messages from this destination
/// into an internal buffer before receiving them.
///
public enum ReadAheadAllowed
{
///
/// Determine whether read ahead is allowed by referring to the queue
/// definition.
///
AsQueueDefinition = XMSC.WMQ_READ_AHEAD_ALLOWED_AS_Q_DEF,
///
/// Determine whether read ahead is allowed by referring to the topic
/// definition.
///
AsTopicDefinition = XMSC.WMQ_READ_AHEAD_ALLOWED_AS_TOPIC_DEF,
///
/// Determine whether read ahead is allowed by referring to the queue
/// or topic definition.
///
AsDestinationDefinition = XMSC.WMQ_READ_AHEAD_ALLOWED_AS_DEST,
///
/// Read ahead is not allowed while consuming or browsing messages.
///
Disabled = XMSC.WMQ_READ_AHEAD_ALLOWED_DISABLED,
///
/// Read ahead is allowed.
///
Enabled = XMSC.WMQ_READ_AHEAD_ALLOWED_ENABLED
}
#endregion
#region Read Ahead Close Policy (WMQ)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/xmsc_wmq_read_ahead_close_policy.htm?lang=en
///
/// This property determines, for messages being delivered to an asynchronous
/// message listener, what happens to messages in the internal read ahead buffer
/// when the message consumer is closed.
///
public enum ReadAheadClosePolicy
{
///
/// Only the current message listener invocation completes before returning,
/// potentially leaving messages in the internal read ahead buffer, which
/// are then discarded.
///
DeliverCurrent = XMSC.WMQ_READ_AHEAD_DELIVERCURRENT,
///
/// All messages in the internal read ahead buffer are delivered to the
/// application message listener before returning.
///
DeliverAll = XMSC.WMQ_READ_AHEAD_DELIVERALL
}
#endregion
#region Message Selection (WMQ)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prx_wmq_mes_selection.htm?lang=en
///
/// Determines whether message selection is done by the XMS client or by
/// the broker.
///
public enum MessageSelection
{
///
/// Message selection is done by the XMS client.
///
Client = XMSC.WMQ_MSEL_CLIENT,
///
/// Message selection is done by the broker.
///
Broker = XMSC.WMQ_MSEL_BROKER
}
#endregion
#region Receive Conversion (WMQ)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/xmsc_wmq_receive_conversion.htm?lang=en
///
/// Whether data conversion is going to be performed by the queue manager.
///
public enum ReceiveConversion
{
///
/// Perform data conversion on the XMS client only. Conversion is always
/// done using codepage 1208.
///
Client = XMSC.WMQ_RECEIVE_CONVERSION_CLIENT_MSG,
///
/// Perform data conversion on the queue manager before sending a message
/// to the XMS client.
///
QueueManager = XMSC.WMQ_RECEIVE_CONVERSION_QMGR
}
#endregion
#region Share Socket Allowed (WMQ)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/xmsc_wmq_share_conv_allowed.htm?lang=en
///
/// Whether a client connection can share its socket with other top-level XMS
/// connections from the same process to the same queue manager, if the channel
/// definitions match.
///
public enum ShareSocketAllowed
{
///
/// Connections do not share a socket.
///
False = XMSC.WMQ_SHARE_CONV_ALLOWED_NO,
///
/// Connections share a socket.
///
True = XMSC.WMQ_SHARE_CONV_ALLOWED_YES
}
#endregion
#region Target Client (WMQ)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prx_wmq_target_client.htm?lang=en
///
/// Whether messages sent to the destination contain an MQRFH2 header.
///
public enum TargetClient
{
///
/// Messages sent to the destination contain an MQRFH2 header.
/// Specify this value if the application is sending the messages to
/// another XMS application, a WebSphere® JMS application, or a native
/// WebSphere MQ application that is designed to handle an MQRFH2
/// header.
///
JMS = XMSC.WMQ_TARGET_DEST_JMS,
///
/// Messages sent to the destination do not contain an MQRFH2
/// header. Specify this value if the application is sending the messages
/// to a native WebSphere MQ application that is not designed to handle
/// an MQRFH2 header.
///
MQ = XMSC.WMQ_TARGET_DEST_MQ
}
#endregion
#region Wildcard Format (WMQ)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/xmsc_wmq_wildcard_format.htm?lang=en
///
/// This property determines which version of wildcard syntax is to be used.
///
public enum WildcardFormat
{
///
/// Recognizes the topic level wildcards only i.e. '#' and '+' are treated
/// as wildcards.
///
TopicOnly = XMSC.WMQ_WILDCARD_TOPIC_ONLY,
///
/// Recognizes the character wildcards only i.e. '*' and '?' are treated
/// as wildcards.
///
CharacterOnly = XMSC.WMQ_WILDCARD_CHAR_ONLY
}
#endregion
#region Connection Protocol (WPM)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prx_wpm_conn_prot.htm?lang=en
///
/// The communications protocol used for the connection to the messaging
/// engine.
///
public enum WPMConnectionProtocol
{
///
/// The connection uses HTTP over TCP/IP.
///
HTTP = XMSC.WPM_CP_HTTP,
///
/// The connection uses TCP/IP.
///
TCP = XMSC.WPM_CP_TCP
}
#endregion
#region Connection Proximity (WPM)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prx_wpm_conn_prox.htm?lang=en
///
/// The connection proximity setting for the connection. This property
/// determines how close the messaging engine that the application connects
/// to must be to the bootstrap server.
///
public enum ConnectionProximity
{
///
/// Bus.
///
Bus, // XMSC.WPM_CONNECTION_PROXIMITY_BUS = "Bus"
///
/// Cluster.
///
Cluster, // XMSC.WPM_CONNECTION_PROXIMITY_CLUSTER = "Cluster"
///
/// Host.
///
Host, // XMSC.WPM_CONNECTION_PROXIMITY_HOST = "Host"
///
/// Server.
///
Server // XMSC.WPM_CONNECTION_PROXIMITY_SERVER = "Server"
}
#endregion
#region Mapping (WPM)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prx_wpm_non_pers_m.htm?lang=en
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prx_wpm_pers_m.htm?lang=en
///
/// The reliability level of messages that are sent using the connection.
///
public enum Mapping
{
///
/// Determined by the default reliability level specified for the queue
/// or topic space in the service integration bus.
///
AsDestination = XMSC.WPM_MAPPING_AS_DESTINATION,
///
/// Best effort nonpersistent.
///
BestEffortNonPersistent = XMSC.WPM_MAPPING_BEST_EFFORT_NON_PERSISTENT,
///
/// Express nonpersistent.
///
ExpressNonPersistent = XMSC.WPM_MAPPING_EXPRESS_NON_PERSISTENT,
///
/// Reliable nonpersistent.
///
ReliableNonPersistent = XMSC.WPM_MAPPING_RELIABLE_NON_PERSISTENT,
///
/// Reliable persistent.
///
ReliablePersistent = XMSC.WPM_MAPPING_RELIABLE_PERSISTENT,
///
/// Assured persistent.
///
AssuredPersistent = XMSC.WPM_MAPPING_ASSURED_PERSISTENT
}
#endregion
#region Target Significance (WPM)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prx_wpm_target_signf.htm?lang=en
///
/// The significance of the target group of messaging engines.
///
public enum TargetSignificance
{
///
/// A messaging engine in the target group is selected if one is available.
/// Otherwise, a messaging engine outside the target group is selected,
/// provided it is in the same service integration bus.
///
Preferred, // XMSC.WPM_TARGET_SIGNIFICANCE_PREFERRED = "Preferred"
///
/// The selected messaging engine must be in the target group. If a
/// messaging engine in the target group is not available, the connection
/// process fails.
///
Required // XMSC.WPM_TARGET_SIGNIFICANCE_REQUIRED = "Required"
}
#endregion
#region Target Type (WPM)
// http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/prx_wpm_target_type.htm?lang=en
///
/// The type of the target group of messaging engines. This property
/// determines the nature of the target group identified by the
/// XMSC_WPM_TARGET_GROUP property.
///
public enum TargetType
{
///
/// The name of the target group is the name of a bus member. The target
/// group is all the messaging engines in the bus member.
///
BusMember, // XMSC.WPM_TARGET_TYPE_BUSMEMBER = "BusMember"
///
/// The name of the target group is the name of a user-defined group of
/// messaging engines. The target group is all the messaging engines that
/// are registered with the user-defined group.
///
Custom, // XMSC.WPM_TARGET_TYPE_CUSTOM = "Custom"
///
/// The name of the target group is the name of a messaging engine. The
/// target group is the specified messaging engine.
///
MessagingEngine // XMSC.WPM_TARGET_TYPE_ME = "ME"
}
#endregion
}