<commit_before>/*
 Copyright 2014 OpenMarket Ltd
 
 Licensed 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.
 */

#import "MXJSONModel.h"

/**
 Types of Matrix events
 
 Matrix events types are exchanged as strings with the home server. The types
 specified by the Matrix standard are listed here as NSUInteger enum in order
 to ease the type handling.
 
 Custom events types, out of the specification, may exist. In this case, 
 `MXEventTypeString` must be checked.
 */
typedef enum : NSUInteger
{
    MXEventTypeRoomName = 0,
    MXEventTypeRoomTopic,
    MXEventTypeRoomAvatar,
    MXEventTypeRoomBotOptions,
    MXEventTypeRoomMember,
    MXEventTypeRoomCreate,
    MXEventTypeRoomJoinRules,
    MXEventTypeRoomPowerLevels,
    MXEventTypeRoomAliases,
    MXEventTypeRoomCanonicalAlias,
    MXEventTypeRoomEncrypted,
    MXEventTypeRoomEncryption,
    MXEventTypeRoomGuestAccess,
    MXEventTypeRoomHistoryVisibility,
    MXEventTypeRoomKey,
    MXEventTypeRoomMessage,
    MXEventTypeRoomMessageFeedback,
    MXEventTypeRoomPlumbing,
    MXEventTypeRoomRedaction,
    MXEventTypeRoomThirdPartyInvite,
    MXEventTypeRoomTag,
    MXEventTypePresence,
    MXEventTypeTypingNotification,
    MXEventTypeReceipt,
    MXEventTypeRead,
    MXEventTypeReadMarker,
    MXEventTypeNewDevice,
    MXEventTypeCallInvite,
    MXEventTypeCallCandidates,
    MXEventTypeCallAnswer,
    MXEventTypeCallHangup,

    // The event is a custom event. Refer to its `MXEventTypeString` version
    MXEventTypeCustom = 1000
} MXEventType NS_REFINED_FOR_SWIFT;

/**
 Types of Matrix events - String version
 The event types as described by the Matrix standard.<commit_msg>crypto: add kMXEventTypeStringRoomKeyRequest ("m.room_key_request")<commit_after>/*
 Copyright 2014 OpenMarket Ltd
 
 Licensed 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.
 */

#import "MXJSONModel.h"

/**
 Types of Matrix events
 
 Matrix events types are exchanged as strings with the home server. The types
 specified by the Matrix standard are listed here as NSUInteger enum in order
 to ease the type handling.
 
 Custom events types, out of the specification, may exist. In this case, 
 `MXEventTypeString` must be checked.
 */
typedef enum : NSUInteger
{
    MXEventTypeRoomName = 0,
    MXEventTypeRoomTopic,
    MXEventTypeRoomAvatar,
    MXEventTypeRoomBotOptions,
    MXEventTypeRoomMember,
    MXEventTypeRoomCreate,
    MXEventTypeRoomJoinRules,
    MXEventTypeRoomPowerLevels,
    MXEventTypeRoomAliases,
    MXEventTypeRoomCanonicalAlias,
    MXEventTypeRoomEncrypted,
    MXEventTypeRoomEncryption,
    MXEventTypeRoomGuestAccess,
    MXEventTypeRoomHistoryVisibility,
    MXEventTypeRoomKey,
    MXEventTypeRoomKeyRequest,
    MXEventTypeRoomMessage,
    MXEventTypeRoomMessageFeedback,
    MXEventTypeRoomPlumbing,
    MXEventTypeRoomRedaction,
    MXEventTypeRoomThirdPartyInvite,
    MXEventTypeRoomTag,
    MXEventTypePresence,
    MXEventTypeTypingNotification,
    MXEventTypeReceipt,
    MXEventTypeRead,
    MXEventTypeReadMarker,
    MXEventTypeNewDevice,
    MXEventTypeCallInvite,
    MXEventTypeCallCandidates,
    MXEventTypeCallAnswer,
    MXEventTypeCallHangup,

    // The event is a custom event. Refer to its `MXEventTypeString` version
    MXEventTypeCustom = 1000
} MXEventType NS_REFINED_FOR_SWIFT;

/**
 Types of Matrix events - String version
 The event types as described by the Matrix standard.
{'fraction_non_alphanumeric': 0.045863102097257434, 'fraction_numerical': 0.005992164093109011, 'mean_word_length': 4.2926829268292686, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6319242', 'n_tokens_mistral': 1297, 'n_tokens_neox': 1161, 'n_words': 405}