Enumerations

Enumerations

This section describes the enumerations supported by the Chat Protocol Control 2.0.

enumChannelMode, enumChannelState, enumConnectionState, enumConnectionType, enumConversionSource, enumConversionType, enumEnumType, enumMemberMode, enumMessageType, enumPrivateMessageType, enumServerMessageType, enumStringType, enumUserMode

Note Microsoft Visual Basic 4.0 does not support the use of enumerations as variable types.


enumChannelMode Enumeration

Description

Used in OnChannelProperty and OnChannelPropertyChanged events, CreateChannel, ChangeChannelProperty, and QueryChannelProperty methods, and ChannelProperty property to contain the channel mode.

ValueDescription
cmNone Value = &H0. No particular mode is set.
cmPublic Value = &H0. The channel is public and all information about the channel (except for text messages) can be queried by nonmembers. The cmPublic mode is mutually exclusive with the cmPrivate, cmHidden, and cmSecret modes.
cmPrivate Value = &H1. The channel is private and only the name, number of members, and PICS rating property can be queried by nonmembers. The cmPrivate mode is mutually exclusive with the cmPublic, cmHidden, and cmSecret modes.
cmHidden Value = &H2. The channel is hidden and cannot be located through enumeration queries by nonmembers. The cmHidden mode is mutually exclusive with the cmPublic, cmPrivate, and cmSecret modes. The purpose of the new cmHidden channel mode is to permit the existence of channels that cannot be found using the standard LIST IRC command, but whose properties can be queried if the exact channel name is known. Thus a hidden channel is like a public channel except that it cannot be enumerated by using a ListChannels method call.
cmSecret Value = &H4. The channel is secret and cannot be located by any query from nonmembers. The cmSecret mode is mutually exclusive with the cmPublic, cmPrivate, and cmHidden modes.
cmModerated Value = &H8. Normally, new channel members may speak. In cmModerated mode, however, by default, new channel members may not speak. This is achieved by designating the no voice mode to all new members for that channel. Although the no voice mode usually has no effect, it does affect a moderated channel.
cmNoExtern Value = &H10. Blocks messages from nonmembers to the channel. An administrator can still send a message to the channel.
cmTopicop Value = &H20. Permits only channel owners and hosts to change the channel topic property.
cmInvite Value = &H40. Permits only invited users to enter the channel. Only owners and hosts can issue an invitation when this mode is on.
cmKnock Value = &H80. The cmKnock extended mode causes an OnKnock event to be fired for owners and hosts of the channel if a user attempts to join a channel and is denied entrance by the server.
cmNoWhisper Value = &H100. Prevents whisper messages from being sent to the channel.
cmRegistered Value = &H200. The channel is registered by the administrator of the chat network. The registration procedure is not defined here and is implementation-dependent. Only the server or administrator can set this mode.
cmService Value = &H400. A service is monitoring/controlling the channel. This is an indication to the client that message traffic sent to the channel is being monitored by a chat service that does not appear as a member in the channel. The cmService flag can be set only by the chat server.
cmAuthOnly Value = &H800. Permits channel access only to users who have been authenticated by the server. Note that an authenticated user is any user who was successfully authenticated by the Password parameter or SecurityPackages parameter during the Login method.
cmCloneable Value = &H1000. Defines a channel that creates new clone channels if the parent channel is full. A clone channel is created with the same name as the parent cloneable channel with a numeric suffix starting at 1 and ranging to 99. It is not valid to set the cmCloneable channel mode of a parent channel that ends with a numeric character. The clone channel inherits modes and properties from the parent channel when it is set up. When a clone channel is created, any channel that has the same name is removed. This prevents channel takeover of a clone channel. It is advised that only administrators be allowed to set cmCloneable mode on a channel.
cmClone Value = &H2000. Defines a channel that was created by the server when a parent cloneable channel becomes full. Users should usually join the parent channel, although a user can join a clone channel that is not full. Only the server can set up a clone channel and set this mode.
cmAuditorium Value = &H4000. Restricts visibility and messaging within a channel. Members will only see themselves and the hosts/owners in the channel. Any message sent by a member will be received only by the hosts and owners. Hosts and owners will see all members in the channel. Messages from a host or owner are seen by all channel members. Ordinary members will not receive OnAddMember and OnDelMember events for other members. This mode is designed for channels with such a large membership that the members do not want to see each other.
cmNoFormat Value = &H8000. Indicates to the client application not to format text received from the channel. Normally, clients will prefix text messages with "x said y" or "x whispers to y and x". If the cmNoFormat mode is set, just the raw text is displayed, wrapping to the next line at the end of the message. The client should not echo text sent by the client. This is to permit custom applications to control the formatting to clients.

Because cmNoFormat is a channel mode and could be abused by the channel host, clients may want to inform users that messages can be spoofed or imitated with this mode. With MIC 2.0, only the administrator can enable this mode on persistent channels. This is the IRCX +f channel mode. The concept does not exist on other IRC servers. Clients can choose to ignore the flag.

cmCreateOnly Value = &H10000000. Only used in a CreateChannel call. If set, the channel is opened only if it does not yet exist.


enumChannelState Enumeration

Description

OnChannelState event and ChannelState property values.

ValueDescription
chsClosed Value = 0. The state of a channel when created. It becomes chsClosed again when the user leaves the channel or is kicked from the channel, or when a server disconnection occurs.
chsOpening Value = 1. When calling its JoinChannel or CreateChannel method, the state becomes asynchronously chsOpening and chsOpen.
chsOpen Value = 2. When calling its JoinChannel or CreateChannel method, the state becomes asynchronously chsOpening and chsOpen.


enumConnectionState Enumeration

Description

OnConnectionState event and ConnectionState property values.

ValueDescription
csDisconnected Value = 0. Used to indicate that the connection state of the channel is currently disconnected.
csConnecting Value = 1. Used to indicate that the connection state of the channel is currently in the process of connecting.
csConnected Value = 2. Used to indicate that the connection state of the channel is currently connected.
csLogging Value = 3. Used to indicate that the connection state of the channel is currently in the process of logging.
csLogged Value = 4. Used to indicate that the connection state of the channel is currently logged.
csDisconnecting Value = 5. Used to indicate that the connection state of the channel is currently in the process of disconnecting.


enumConnectionType Enumeration

Description

ConnectionType property value.

ValueDescription
ctIRC Value = 0. For IRC connections.
ctIRCX Value = 1. For IRCX connections.


enumConversionSource Enumeration

Description

ConvertedString property access.

ValueDescription
cvsNormal Value = 0. For regular text.
cvsNickname Value = 1. For user nicknames.
cvsChannelName Value = 2. For channel names.


enumConversionType Enumeration

Description

ConvertedString property access.

ValueDescription
cvtToUTF8 Value = 0. Used to convert to UTF8 format.
cvtToUnicode Value = 1. Used to convert to Unicode format.


enumEnumType Enumeration

Description

OnBeginEnumeration and OnEndEnumeration events parameter.

ValueDescription
etMessageOfTheDay Value = 0. Used when exposing the message of the day at login.
etUsers Value = 1. Used when listing users with the ListUsers method.
etChannels Value = 2. Used when listing channels with the ListChannels method.
etChannelsTruncated Value = 3. Used when channel listing is truncated during a ListChannels call.
etMembers Value = 4. Used when listing members with the ListMembers method.
etInitialMembers Value = 5. Used when initial channel members are exposed when joining a channel.


enumMemberMode Enumeration

Description

Used in OnMemberProperty and OnMemberPropertyChanged events, QueryMemberProperty and ChangeMemberProperty methods, and MemberProperty and MemberModes properties.

ValueDescription
mmNone Value = &H0. No specific member mode is set.
mmClientIgnored Value = &H1. At the client level, incoming messages from specific members will be ignored and not exposed by an OnMessage event. This is ignoring at the client level, not the server level.
mmNotClientIgnored Value = &H2. At the client level, incoming messages from specific members will not be ignored and will be exposed by an OnMessage event.
mmAuthMember Value = &H4. The member was authenticated by the server by the use of a password or authentication package.
mmNotAuthMember Value = &H8. The member was not authenticated by the server.
mmAway Value = &H10. The member has an away text message, and the away flag is set.
mmNotAway Value = &H20. The member does not have an away text message, and the away flag is not set.
mmSysop Value = &H40. The member is a system operator.
mmNotSysop Value = &H80. The member is not a system operator.
mmOwner Value = &H100. The member is an owner of the channel.
mmNotOwner Value = &H200. The member is not an owner of the channel.
mmHost Value = &H400. The member is a host of the channel.
mmNotHost Value = &H800. The member is not a host of the channel.
mmVoice Value = &H1000. The member is able to speak even if the channel is moderated.
mmNoVoice Value = &H2000. The member cannot speak if the channel is moderated.


enumMessageType Enumeration

Description

Used in OnMessage event and SendMessage method parameters.

ValueDescription
msgtNormal Value = &H0. Sends a regular text message to the channel.
msgtNotice Value = &H1. Similar to msgtNormal, but the client does not expect an answer from the recipient(s).
msgtData Value = &H2. IRCX servers only. Sends data instead of text.
msgtDataRequest Value = &H4. IRCX servers only. Similar to msgtData except the sender expects a msgtDataReply response from the recipient(s).
msgtDataReply Value = &H8. IRCX servers only. Similar to msgtData except the sender does not expect a reply.
msgtDataRaw Value = &H10. IRCX servers only. Sends raw bytes to the server without using an internal message header. This flag must be combined with msgtData, msgtDataRequest, or msgtDataReply.
msgtWhisper Value = &H20. Used to whisper to some channel members instead of sending out to the entire channel. The recipients receive the whole list of recipients.
msgtThought Value = &H40. Incoming messages only. Indicates that the message is a thought.
msgtAction Value = &H80. Sends an action CTCP.
msgtSound Value = &H100. Sends a sound CTCP.
msgtCTCP Value = &H200. Sends a regular CTCP.
msgtInfo Value = &H400. Incoming messages from Microsoft Chat Control 1.1 only. Used to indicate what kind of visual character and what type of gesture to display.


enumPrivateMessageType Enumeration

Description

Used in the OnPrivateMessage event and the SendPrivateMessage method parameters.

ValueDescription
pmtNormal Value = &H0. Used in the OnPrivateMessage event and the SendPrivateMessage method to send a regular text message.
pmtNotice Value = &H1. Sends a regular text message to the users, like pmtNormal, but the client does not expect an answer from the recipients.
pmtData Value = &H2. Can be used only on IRCX servers. Sends data instead of text.
pmtDataRequest Value = &H4. Can be used only on IRCX servers. Sends data instead of text, like pmtData, but the sender expects a pmtDataReply reply from the recipient(s).
pmtDataReply Value = &H8. Can be used only on IRCX servers. Similar to pmtData, but the sender does not want a reply from the recipient(s).
pmtDataRaw Value = &H10. Can be used only on IRCX servers. Sends raw bytes to the server without using an internal message header. This flag must be combined with pmtData, pmtDataRequest, or pmtDataReply.
pmtAway Value = &H20. For incoming away messages.
pmtVersion Value = &H40. Requests or sends version information.
pmtLagTime Value = &H80. Requests or gets the lag time with a user or users.
pmtLocalTime Value = &H100. Requests or gets the local time of a user or users.
pmtAction Value = &H200. Sends or receives an action CTCP (Client to Client Protocol) to a user or users.
pmtSound Value = &H400. Sends or receives a sound CTCP to a user or users.
pmtCTCP Value = &H800. Sends or receives a regular CTCP to a user or users.
pmtInfo Value = &H1000. Same as msgtInfo, used to indicate what kind of avatar and what type of gesture to display.


enumServerMessageType Enumeration

Description

OnServerTextMessage event parameter.

ValueDescription
smtNormal Value = &H0. Used for regular incoming server messages.
smtNotice Value = &H1. Used for incoming NOTICE message from the server.
smtMessageOfTheDay Value = &H2. Used for the message of the day incoming text at login time.
smtServerInfo Value = &H3. Used for server information messages.
smtError Value = &H4. Used for incoming server error messages.


enumStringType Enumeration

Description

MaxStringLength property access.

ValueDescription
stServerMessage Value = 1. Used when querying the maximum length of the incoming and outgoing server messages.
stChannelAccount Value = 2. Used when querying the maximum length of the incoming and outgoing channel Account properties.
stChannelClientData Value = 3. Used when querying the maximum length of the incoming and outgoing channel ClientData properties.
stChannelHostKey Value = 4. Used when querying the maximum length of the incoming and outgoing channel HostKey properties.
stChannelKeyword Value = 5. Used when querying the maximum length of the incoming and outgoing channel Keyword properties.
stChannelLanguage Value = 6. Used when querying the maximum length of the incoming and outgoing channel Language properties.
stChannelName Value = 7. Used when querying the maximum length of the incoming and outgoing channel Name properties.
stChannelOnJoin Value = 8. Used when querying the maximum length of the incoming and outgoing channel OnJoin properties.
stChannelOnPart Value = 9. Used when querying the maximum length of the incoming and outgoing channel OnPart properties.
stChannelOwnerKey Value = 10. Used when querying the maximum length of the incoming and outgoing channel OwnerKey properties.
stChannelRating Value = 11. Used when querying the maximum length of the incoming and outgoing channel Rating properties.
stChannelSubject Value = 12. Used when querying the maximum length of the incoming and outgoing channel Subject properties.
stChannelTopic Value = 13. Used when querying the maximum length of the incoming and outgoing channel Topic properties.


enumUserMode Enumeration

Description

Used in the OnUserProperty, OnUserPropertyChanged, OnInvitation, and OnKnock events, the QueryUserProperty and ChangeUserProperty methods, and the UserProperty property.

ValueDescription
umNone Value = &H0.
umClientIgnored Value = &H1. The user is ignored by the caller.
umNotClientIgnored Value = &H2. The user is not ignored by the caller.
umAuthUser Value = &H4. The user is authenticated.
umNotAuthUser Value = &H8. The user is not authenticated.
umAway Value = &H10. The user is currently away.
umNotAway Value = &H20. The user is not currently away.
umSysop Value = &H40. The user is a system operator.
umNotSysop Value = &H80. The user is not a system operator.
umAdmin Value = &H100. The user is an administrator.
umNotAdmin Value = &H200. The user is not an administrator.
umInvisible Value = &H400. The user is invisible.
umNotInvisible Value = &H800. The user is not invisible.
umNotices Value = &H1000. The user accepts server notices.
umNoNotices Value = &H2000. The user does not receive server notices.
umWallops Value = &H4000. The user receives wallops. A wallops is an IRC feature that will send a message to all operators online that have +w set on their user mode. Different IRC servers have various restrictions on who can send and read wallops.
umNoWallops Value = &H8000. The user does not receive wallops.

© 1997 Microsoft Corporation. All rights reserved. Terms of Use.