blob: 6a95cef25e6a70885b7dd1040c4f3d8b60c7d8cd [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.
*/
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
/// <summary>
/// How numerical data in the body of the message is represented when the XMS
/// client forwards the message to its intended destination.
/// </summary>
public enum Encoding
{
/// <summary>
/// Normal integer encoding.
/// </summary>
IntegerNormal = MQC.MQENC_INTEGER_NORMAL,
/// <summary>
/// Reversed integer encoding.
/// </summary>
IntegerReversed = MQC.MQENC_INTEGER_REVERSED,
/// <summary>
/// Normal packed decimal encoding.
/// </summary>
DecimalNormal = MQC.MQENC_DECIMAL_NORMAL,
/// <summary>
/// Reversed packed decimal encoding.
/// </summary>
DecimalReversed = MQC.MQENC_DECIMAL_REVERSED,
/// <summary>
/// Normal IEEE floating point encoding.
/// </summary>
FloatIEEENormal = MQC.MQENC_FLOAT_IEEE_NORMAL,
/// <summary>
/// Reversed IEEE floating point encoding.
/// </summary>
FloatIEEEReversed = MQC.MQENC_FLOAT_IEEE_REVERSED,
/// <summary>
/// z/OS® architecture floating point encoding.
/// </summary>
FloatS390 = MQC.MQENC_FLOAT_S390,
/// <summary>
/// Native machine encoding.
/// </summary>
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
/// <summary>
/// Message type.
/// </summary>
public enum MessageType
{
/// <summary>
/// The message is one that does not require a reply.
/// </summary>
Datagram = MQC.MQMT_DATAGRAM,
/// <summary>
/// The message is one that requires a reply.
/// </summary>
Request = MQC.MQMT_REQUEST,
/// <summary>
/// The message is a reply message.
/// </summary>
Reply = MQC.MQMT_REPLY,
/// <summary>
/// The message is a report message.
/// </summary>
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
/// <summary>
/// Request 'confirm on arrival' report messages, specifying how much
/// application data from the original message must be included in a
/// report message.
/// </summary>
public enum ReportConfirmOnArrival
{
/// <summary>
/// Request 'confirm on arrival' report messages, with no application
/// data from the original message included in a report message.
/// </summary>
NoData = MQC.MQRO_COA,
/// <summary>
/// Request 'confirm on arrival' report messages, with the first 100 bytes
/// of application data from the original message included in a report
/// message.
/// </summary>
PartialData = MQC.MQRO_COA_WITH_DATA,
/// <summary>
/// Request 'confirm on arrival' report messages, with all the application
/// data from the original message included in a report message.
/// </summary>
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
/// <summary>
/// Request 'confirm on delivery' report messages, specifying how much
/// application data from the original message must be included in a
/// report message.
/// </summary>
public enum ReportConfirmOnDelivery
{
/// <summary>
/// Request 'confirm on delivery' report messages, with no application
/// data from the original message included in a report message.
/// </summary>
NoData = MQC.MQRO_COD,
/// <summary>
/// Request 'confirm on delivery' report messages, with the first 100 bytes
/// of application data from the original message included in a report
/// message.
/// </summary>
PartialData = MQC.MQRO_COD_WITH_DATA,
/// <summary>
/// Request 'confirm on delivery' report messages, with all the application
/// data from the original message included in a report message.
/// </summary>
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
/// <summary>
/// Request exception report messages, specifying how much application data
/// from the original message must be included in a report message.
/// </summary>
public enum ReportExceptions
{
/// <summary>
/// Request exception report messages, with no application data from the
/// original message included in a report message.
/// </summary>
NoData = MQC.MQRO_COD,
/// <summary>
/// Request exception report messages, with the first 100 bytes of
/// application data from the original message included in a report
/// message.
/// </summary>
PartialData = MQC.MQRO_COD_WITH_DATA,
/// <summary>
/// Request exception report messages, with all the application data from
/// the original message included in a report message.
/// </summary>
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
/// <summary>
/// Request expiration report messages, specifying how much application data
/// from the original message must be included in a report message.
/// </summary>
public enum ReportExpiration
{
/// <summary>
/// Request expiration report messages, with no application data from the
/// original message included in a report message.
/// </summary>
NoData = MQC.MQRO_EXPIRATION,
/// <summary>
/// Request expiration report messages, with the first 100 bytes of
/// application data from the original message included in a report
/// message.
/// </summary>
PartialData = MQC.MQRO_EXPIRATION_WITH_DATA,
/// <summary>
/// Request expiration report messages, with all the application data from
/// the original message included in a report message.
/// </summary>
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
/// <summary>
/// Request that the correlation identifier of any report or reply message
/// is the same as the correlation identifier of the original message.
/// </summary>
public enum ReportCorrelationId
{
/// <summary>
/// Request that the correlation identifier of any report or reply message
/// is the same as the correlation identifier of the original message.
/// </summary>
OriginalCorrelationId = MQC.MQRO_PASS_CORREL_ID,
/// <summary>
/// Request that the correlation identifier of any report or reply message
/// is the same as the message identifier of the original message.
/// </summary>
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
/// <summary>
/// Request that the message identifier of any report or reply message is the
/// same as the message identifier of the original message.
/// </summary>
public enum ReportMessageId
{
/// <summary>
/// Request that the message identifier of any report or reply message is the same as the message identifier of the original message.
/// </summary>
OriginalMessageId = MQC.MQRO_PASS_MSG_ID,
/// <summary>
/// Request that a new message identifier is generated for each report or
/// reply message.
/// </summary>
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
/// <summary>
/// whether XMS informs an ExceptionListener only when a connection is broken,
/// or when any exception occurs asynchronously to an XMS API call.
/// </summary>
public enum AsynchronousExceptions
{
/// <summary>
/// Any exception detected asynchronously, outside the scope of a
/// synchronous API call, and all connection broken exceptions are sent
/// to the <c>ExceptionListener</c>.
/// </summary>
All = XMSC.ASYNC_EXCEPTIONS_ALL,
/// <summary>
/// Only exceptions indicating a broken connection are sent to the
/// <c>ExceptionListener</c>. Any other exceptions occurring during
/// asynchronous processing are not reported to the
/// <c>ExceptionListener</c>, and hence the application is not informed
/// of these exceptions.
/// </summary>
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
/// <summary>
/// The type of messaging server to which an application connects.
/// </summary>
public enum ConnectionType
{
/// <summary>
/// A real-time connection to a broker.
/// </summary>
RTT = XMSC.CT_RTT,
/// <summary>
/// A connection to a WebSphere® MQ queue manager.
/// </summary>
WMQ = XMSC.CT_WMQ,
/// <summary>
/// A connection to a WebSphere service integration bus.
/// </summary>
WPM = XMSC.CT_WPM
}
#endregion
#region Delivery Mode
/// <summary>
/// The delivery mode of messages sent to the destination.
/// </summary>
public enum DeliveryMode
{
/// <summary>
/// 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 <c>DefPersistence</c> is also
/// ignored.
/// </summary>
NotPersistent = XMSC.DELIVERY_NOT_PERSISTENT,
/// <summary>
/// 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 <c>DefPersistence</c> is also
/// ignored.
/// </summary>
Persistent = XMSC.DELIVERY_PERSISTENT,
/// <summary>
/// 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
/// <c>DefPersistence</c> is ignored.
/// </summary>
AsApplication = XMSC.DELIVERY_AS_APP,
/// <summary>
/// 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
/// <c>DefPersistence</c>. The default delivery mode of the message
/// producer, or any delivery mode specified on the Send call, is ignored.
/// </summary>
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
/// <summary>
/// The priority of messages sent to the destination.
/// </summary>
public enum Priority
{
/// <summary>
/// Lowest message priority.
/// </summary>
Lowest = 0,
/// <summary>
/// Between Low and Lowest message priority.
/// </summary>
VeryLow = 1,
/// <summary>
/// Low message priority.
/// </summary>
Low = 2,
/// <summary>
/// Normal message priority.
/// </summary>
Normal = 5,
/// <summary>
/// Between High and Normal message priority.
/// </summary>
AboveNormal = 6,
/// <summary>
/// High message priority.
/// </summary>
High = 7,
/// <summary>
/// Between Highest and High message priority.
/// </summary>
VeryHigh = 8,
/// <summary>
/// Highest message priority.
/// </summary>
Highest = 9,
/// <summary>
/// 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
/// <c>DefPriority</c> is ignored.
/// </summary>
AsApplication = XMSC.PRIORITY_AS_APP,
/// <summary>
/// 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
/// <c>DefPriority</c>. The default priority of the message producer,
/// or any priority specified on the Send call, is ignored.
/// </summary>
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
/// <summary>
/// The communications protocol used for a real-time connection to a broker.
/// </summary>
public enum RTTConnectionProtocol
{
/// <summary>
/// Real-time connection to a broker over TCP/IP.
/// <c>ConnectionFactory</c> object.
/// </summary>
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
/// <summary>
/// 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.
/// </summary>
public enum Multicast
{
/// <summary>
/// Messages are not delivered to a message consumer using WebSphere® MQ
/// Multicast Transport. This value is the default value for a
/// <c>ConnectionFactory</c> object.
/// </summary>
Disabled = XMSC.RTT_MULTICAST_DISABLED,
/// <summary>
/// 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
/// <c>Destination</c> object, and is the default value for a
/// <c>Destination</c> object.
/// </summary>
AsConnectionFactory = XMSC.RTT_MULTICAST_ASCF,
/// <summary>
/// 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.
/// </summary>
Enabled = XMSC.RTT_MULTICAST_ENABLED,
/// <summary>
/// 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.
/// </summary>
Reliable = XMSC.RTT_MULTICAST_RELIABLE,
/// <summary>
/// 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.
/// </summary>
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
/// <summary>
/// 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.
/// </summary>
public enum BrokerVersion
{
/// <summary>
/// The application is using a WebSphere® MQ Publish/Subscribe broker.
/// </summary>
Version1 = XMSC.WMQ_BROKER_V1,
/// <summary>
/// The application is using a broker of IBM® Integration Bus.
/// </summary>
Version2 = XMSC.WMQ_BROKER_V2,
/// <summary>
/// After the broker is migrated, set this property so that RFH2 headers
/// are no longer used. After migration, this property is no longer
/// relevant.
/// </summary>
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
/// <summary>
/// Client reconnect options for new connections created by a factory.
/// </summary>
public enum ReconnectOptions
{
/// <summary>
/// Use the value specified in the <c>mqclient.ini</c> file. Set the value
/// by using the DefRecon property within the Channels stanza.
/// </summary>
AsDefault = XMSC.WMQ_CLIENT_RECONNECT_AS_DEF,
/// <summary>
/// Reconnect to any of the queue managers specified in the connection name
/// list.
/// </summary>
AnyQueueManager = XMSC.WMQ_CLIENT_RECONNECT,
/// <summary>
/// Reconnects to the same queue manager that it is originally connected to.
/// It returns <c>MQRC.RECONNECT_QMID_MISMATCH</c> 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.
/// </summary>
SameQueueManager = XMSC.WMQ_CLIENT_RECONNECT_Q_MGR,
/// <summary>
/// Reconnection is disabled.
/// </summary>
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
/// <summary>
/// The mode by which an application connects to a queue manager.
/// </summary>
public enum ConnectionMode
{
/// <summary>
/// A connection to a queue manager in bindings mode, for optimal performance. This value is the default value for C/C++.
/// </summary>
Bindings = XMSC.WMQ_CM_BINDINGS,
/// <summary>
/// A connection to a queue manager in client mode, to ensure a fully managed stack. This value is the default value for .NET.
/// </summary>
Client = XMSC.WMQ_CM_CLIENT,
/// <summary>
/// A connection to a queue manager which forces an unmanaged client stack.
/// </summary>
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
/// <summary>
/// Whether calls to certain methods fail if the queue manager to which the
/// application is connected is in a quiescing state.
/// </summary>
public enum FailIfQuiesce
{
/// <summary>
/// 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.
/// </summary>
Yes = XMSC.WMQ_FIQ_YES,
/// <summary>
/// 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.
/// </summary>
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
/// <summary>
/// Whether an XMS application processes the <c>MQRFH2</c> of a WebSphere®
/// MQ message as part of the message payload (that is, as part of the
/// message body).
/// </summary>
public enum MessageBody
{
/// <summary>
/// Receive: The inbound XMS message type and body are determined by the
/// contents of the <c>MQRFH2</c> (if present) or the <c>MQMD</c> (if there
/// is no <c>MQRFH2</c>) in the received WebSphere MQ message.
/// Send: The outbound XMS message body contains a prepended and
/// auto-generated <c>MQRFH2</c> header based on XMS Message properties and
/// header fields.
/// </summary>
JMS = XMSC.WMQ_MESSAGE_BODY_JMS,
/// <summary>
/// Receive: The inbound XMS message type is always <c>ByteMessage</c>,
/// irrespective of the contents of received WebSphere MQ message or the
/// format field of the received <c>MQMD</c>. 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 <c>CodedCharSetId</c> and <c>Encoding</c>
/// fields of the <c>MQMD</c>. The format of the data in the message body
/// is determined by the <c>Format</c> field of the <c>MQMD</c>.
/// Send: The outbound XMS message body contains the application payload
/// as-is; and no auto-generated WebSphere MQ header is added to the body.
/// </summary>
MQ = XMSC.WMQ_MESSAGE_BODY_MQ,
/// <summary>
/// Receive: The XMS client determines a suitable value for this property.
/// On receive path, this value is the <c>WMQ_MESSAGE_BODY_JMS</c> property
/// value.
/// Send: The XMS client determines a suitable value for this property. On
/// send path, this value is the <c>XMSC_WMQ_TARGET_CLIENT</c> property
/// value.
/// </summary>
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
/// <summary>
/// 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.
/// </summary>
public enum MessageContext
{
/// <summary>
/// For outbound messages, the <c>MQOPEN</c> API call and the <c>MQPMO</c>
/// structure specifies no explicit message context options.
/// </summary>
Default = XMSC.WMQ_MDCTX_DEFAULT,
/// <summary>
/// The <c>MQOPEN</c> API call specifies the message context option
/// <c>MQOO_SET_IDENTITY_CONTEXT</c> and the <c>MQPMO</c> structure
/// specifies <c>MQPMO_SET_IDENTITY_CONTEXT</c>.
/// </summary>
SetIdentity = XMSC.WMQ_MDCTX_SET_IDENTITY_CONTEXT,
/// <summary>
/// The <c>MQOPEN</c> API call specifies the message context option
/// <c>MQOO_SET_ALL_CONTEXT</c> and the <c>MQPMO</c> structure
/// specifies <c>MQPMO_SET_ALL_CONTEXT</c>.
/// </summary>
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
/// <summary>
/// Whether an XMS application can extract the values of MQMD fields or not.
/// </summary>
public enum MQMDReadEnabled
{
/// <summary>
/// When sending messages, the <c>JMS_IBM_MQMD*</c> properties on a sent
/// message are not updated to reflect the updated field values in the
/// <c>MQMD</c>.
/// When receiving messages, none of the <c>JMS_IBM_MQMD*</c> properties
/// are available on a received message, even if some or all of them are
/// set by the sender.
/// </summary>
No = 0, //XMSC.WMQ_READ_ENABLED_NO,
/// <summary>
/// When sending messages, all of the <c>JMS_IBM_MQMD*</c> properties on
/// a sent message are updated to reflect the updated field values in the
/// <c>MQMD</c>, including those properties that the sender did not set
/// explicitly.
/// When receiving messages, all of the <c>JMS_IBM_MQMD*</c> properties
/// are available on a received message, including those properties that
/// the sender did not set explicitly.
/// </summary>
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
/// <summary>
/// Whether an XMS application can write the values of MQMD fields or not.
/// </summary>
public enum MQMDWriteEnabled
{
/// <summary>
/// All <c>JMS_IBM_MQMD*</c> properties are ignored and their values are
/// not copied into the underlying <c>MQMD</c> structure.
/// </summary>
No = 0, //XMSC.WMQ_WRITE_ENABLED_NO,
/// <summary>
/// <c>JMS_IBM_MQMD*</c> properties are processed. Their values are copied
/// into the underlying <c>MQMD</c> structure.
/// </summary>
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
/// <summary>
/// Whether message producers are allowed to use asynchronous puts to send
/// messages to this destination.
/// </summary>
public enum AsynchronousPutsAllowed
{
/// <summary>
/// Determine whether asynchronous puts are allowed by referring to the
/// queue or topic definition.
/// </summary>
AsDestination = XMSC.WMQ_PUT_ASYNC_ALLOWED_AS_DEST,
/// <summary>
/// Determine whether asynchronous puts are allowed by referring to the
/// queue definition.
/// </summary>
AsQueueDefinition = XMSC.WMQ_PUT_ASYNC_ALLOWED_AS_Q_DEF,
/// <summary>
/// Determine whether asynchronous puts are allowed by referring to the
/// topic definition.
/// </summary>
AsTopicDefinition = XMSC.WMQ_PUT_ASYNC_ALLOWED_AS_TOPIC_DEF,
/// <summary>
/// Asynchronous puts are not allowed.
/// </summary>
Disabled = XMSC.WMQ_PUT_ASYNC_ALLOWED_DISABLED,
/// <summary>
/// Asynchronous puts are allowed.
/// </summary>
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
/// <summary>
/// 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.
/// </summary>
public enum ReadAheadAllowed
{
/// <summary>
/// Determine whether read ahead is allowed by referring to the queue
/// definition.
/// </summary>
AsQueueDefinition = XMSC.WMQ_READ_AHEAD_ALLOWED_AS_Q_DEF,
/// <summary>
/// Determine whether read ahead is allowed by referring to the topic
/// definition.
/// </summary>
AsTopicDefinition = XMSC.WMQ_READ_AHEAD_ALLOWED_AS_TOPIC_DEF,
/// <summary>
/// Determine whether read ahead is allowed by referring to the queue
/// or topic definition.
/// </summary>
AsDestinationDefinition = XMSC.WMQ_READ_AHEAD_ALLOWED_AS_DEST,
/// <summary>
/// Read ahead is not allowed while consuming or browsing messages.
/// </summary>
Disabled = XMSC.WMQ_READ_AHEAD_ALLOWED_DISABLED,
/// <summary>
/// Read ahead is allowed.
/// </summary>
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
/// <summary>
/// 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.
/// </summary>
public enum ReadAheadClosePolicy
{
/// <summary>
/// Only the current message listener invocation completes before returning,
/// potentially leaving messages in the internal read ahead buffer, which
/// are then discarded.
/// </summary>
DeliverCurrent = XMSC.WMQ_READ_AHEAD_DELIVERCURRENT,
/// <summary>
/// All messages in the internal read ahead buffer are delivered to the
/// application message listener before returning.
/// </summary>
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
/// <summary>
/// Determines whether message selection is done by the XMS client or by
/// the broker.
/// </summary>
public enum MessageSelection
{
/// <summary>
/// Message selection is done by the XMS client.
/// </summary>
Client = XMSC.WMQ_MSEL_CLIENT,
/// <summary>
/// Message selection is done by the broker.
/// </summary>
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
/// <summary>
/// Whether data conversion is going to be performed by the queue manager.
/// </summary>
public enum ReceiveConversion
{
/// <summary>
/// Perform data conversion on the XMS client only. Conversion is always
/// done using codepage 1208.
/// </summary>
Client = XMSC.WMQ_RECEIVE_CONVERSION_CLIENT_MSG,
/// <summary>
/// Perform data conversion on the queue manager before sending a message
/// to the XMS client.
/// </summary>
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
/// <summary>
/// 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.
/// </summary>
public enum ShareSocketAllowed
{
/// <summary>
/// Connections do not share a socket.
/// </summary>
False = XMSC.WMQ_SHARE_CONV_ALLOWED_NO,
/// <summary>
/// Connections share a socket.
/// </summary>
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
/// <summary>
/// Whether messages sent to the destination contain an <c>MQRFH2</c> header.
/// </summary>
public enum TargetClient
{
/// <summary>
/// Messages sent to the destination contain an <c>MQRFH2</c> 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 <c>MQRFH2</c>
/// header.
/// </summary>
JMS = XMSC.WMQ_TARGET_DEST_JMS,
/// <summary>
/// Messages sent to the destination do not contain an <c>MQRFH2</c>
/// header. Specify this value if the application is sending the messages
/// to a native WebSphere MQ application that is not designed to handle
/// an <c>MQRFH2</c> header.
/// </summary>
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
/// <summary>
/// This property determines which version of wildcard syntax is to be used.
/// </summary>
public enum WildcardFormat
{
/// <summary>
/// Recognizes the topic level wildcards only i.e. '#' and '+' are treated
/// as wildcards.
/// </summary>
TopicOnly = XMSC.WMQ_WILDCARD_TOPIC_ONLY,
/// <summary>
/// Recognizes the character wildcards only i.e. '*' and '?' are treated
/// as wildcards.
/// </summary>
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
/// <summary>
/// The communications protocol used for the connection to the messaging
/// engine.
/// </summary>
public enum WPMConnectionProtocol
{
/// <summary>
/// The connection uses HTTP over TCP/IP.
/// </summary>
HTTP = XMSC.WPM_CP_HTTP,
/// <summary>
/// The connection uses TCP/IP.
/// </summary>
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
/// <summary>
/// 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.
/// </summary>
public enum ConnectionProximity
{
/// <summary>
/// Bus.
/// </summary>
Bus, // XMSC.WPM_CONNECTION_PROXIMITY_BUS = "Bus"
/// <summary>
/// Cluster.
/// </summary>
Cluster, // XMSC.WPM_CONNECTION_PROXIMITY_CLUSTER = "Cluster"
/// <summary>
/// Host.
/// </summary>
Host, // XMSC.WPM_CONNECTION_PROXIMITY_HOST = "Host"
/// <summary>
/// Server.
/// </summary>
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
/// <summary>
/// The reliability level of messages that are sent using the connection.
/// </summary>
public enum Mapping
{
/// <summary>
/// Determined by the default reliability level specified for the queue
/// or topic space in the service integration bus.
/// </summary>
AsDestination = XMSC.WPM_MAPPING_AS_DESTINATION,
/// <summary>
/// Best effort nonpersistent.
/// </summary>
BestEffortNonPersistent = XMSC.WPM_MAPPING_BEST_EFFORT_NON_PERSISTENT,
/// <summary>
/// Express nonpersistent.
/// </summary>
ExpressNonPersistent = XMSC.WPM_MAPPING_EXPRESS_NON_PERSISTENT,
/// <summary>
/// Reliable nonpersistent.
/// </summary>
ReliableNonPersistent = XMSC.WPM_MAPPING_RELIABLE_NON_PERSISTENT,
/// <summary>
/// Reliable persistent.
/// </summary>
ReliablePersistent = XMSC.WPM_MAPPING_RELIABLE_PERSISTENT,
/// <summary>
/// Assured persistent.
/// </summary>
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
/// <summary>
/// The significance of the target group of messaging engines.
/// </summary>
public enum TargetSignificance
{
/// <summary>
/// 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.
/// </summary>
Preferred, // XMSC.WPM_TARGET_SIGNIFICANCE_PREFERRED = "Preferred"
/// <summary>
/// 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.
/// </summary>
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
/// <summary>
/// The type of the target group of messaging engines. This property
/// determines the nature of the target group identified by the
/// <c>XMSC_WPM_TARGET_GROUP</c> property.
/// </summary>
public enum TargetType
{
/// <summary>
/// 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.
/// </summary>
BusMember, // XMSC.WPM_TARGET_TYPE_BUSMEMBER = "BusMember"
/// <summary>
/// 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.
/// </summary>
Custom, // XMSC.WPM_TARGET_TYPE_CUSTOM = "Custom"
/// <summary>
/// The name of the target group is the name of a messaging engine. The
/// target group is the specified messaging engine.
/// </summary>
MessagingEngine // XMSC.WPM_TARGET_TYPE_ME = "ME"
}
#endregion
}