// This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/. #import "OCTToxConstants.h" /** * Maximum avatar size as defined in * https://tox.gitbooks.io/tox-client-standard/content/user_identification/avatar.html */ static const OCTToxFileSize kOCTManagerMaxAvatarSize = 65536; typedef NS_ENUM(NSInteger, OCTFetchRequestType) { OCTFetchRequestTypeFriend, OCTFetchRequestTypeFriendRequest, OCTFetchRequestTypeChat, OCTFetchRequestTypeCall, OCTFetchRequestTypeMessageAbstract, }; typedef NS_ENUM(NSInteger, OCTMessageFileType) { /** * File is incoming and is waiting confirmation of user to be downloaded. * Please start loading or cancel it with <> method. */ OCTMessageFileTypeWaitingConfirmation, /** * File is downloading or uploading. */ OCTMessageFileTypeLoading, /** * Downloading or uploading of file is paused. */ OCTMessageFileTypePaused, /** * Downloading or uploading of file was canceled. */ OCTMessageFileTypeCanceled, /** * File is fully loaded. * In case of incoming file now it can be shown to user. */ OCTMessageFileTypeReady, }; typedef NS_ENUM(NSInteger, OCTMessageFilePausedBy) { /** * File transfer isn't paused. */ OCTMessageFilePausedByNone = 0, /** * File transfer is paused by user. */ OCTMessageFilePausedByUser = 1 << 0, /** * File transfer is paused by friend. */ OCTMessageFilePausedByFriend = 1 << 1, }; typedef NS_ENUM(NSInteger, OCTMessageCallEvent) { /** * Call was answered. */ OCTMessageCallEventAnswered, /** * Call was unanswered. */ OCTMessageCallEventUnanswered, }; typedef NS_ENUM(NSInteger, OCTCallStatus) { /** * Call is currently ringing. */ OCTCallStatusRinging, /** * Call is currently dialing a chat. */ OCTCallStatusDialing, /** * Call is currently active in session. */ OCTCallStatusActive, }; typedef NS_OPTIONS(NSInteger, OCTCallPausedStatus) { /** * Call is not paused */ OCTCallPausedStatusNone = 0, /** * Call is paused by the user */ OCTCallPausedStatusByUser = 1 << 0, /** * Call is paused by friend */ OCTCallPausedStatusByFriend = 1 << 1, }; extern NSString *const kOCTManagerErrorDomain; typedef NS_ENUM(NSInteger, OCTManagerInitError) { /** * Cannot create symmetric key from given passphrase. */ OCTManagerInitErrorPassphraseFailed, /** ---------------------------------------- */ /** * Cannot copy tox save at `importToxSaveFromPath` path. */ OCTManagerInitErrorCannotImportToxSave, /** ---------------------------------------- */ /** * Cannot create encryption key. */ OCTManagerInitErrorDatabaseKeyCannotCreateKey, /** * Cannot read encryption key. */ OCTManagerInitErrorDatabaseKeyCannotReadKey, /** * Old unencrypted database was found and migration attempt was made. However migration failed for some reason. * * You can check NSLocalizedDescriptionKey and NSLocalizedFailureReasonErrorKey for more info. */ OCTManagerInitErrorDatabaseKeyMigrationToEncryptedFailed, /** * Cannot decrypt database key file. * Some input data was empty. */ OCTManagerInitErrorDatabaseKeyDecryptNull, /** * Cannot decrypt database key file. * The input data is missing the magic number (i.e. wasn't created by this module, or is corrupted). */ OCTManagerInitErrorDatabaseKeyDecryptBadFormat, /** * Cannot decrypt database key file. * The encrypted byte array could not be decrypted. Either the data was corrupt or the password/key was incorrect. */ OCTManagerInitErrorDatabaseKeyDecryptFailed, /** ---------------------------------------- */ /** * Cannot decrypt tox save file. * Some input data was empty. */ OCTManagerInitErrorToxFileDecryptNull, /** * Cannot decrypt tox save file. * The input data is missing the magic number (i.e. wasn't created by this module, or is corrupted). */ OCTManagerInitErrorToxFileDecryptBadFormat, /** * Cannot decrypt tox save file. * The encrypted byte array could not be decrypted. Either the data was corrupt or the password/key was incorrect. */ OCTManagerInitErrorToxFileDecryptFailed, /** ---------------------------------------- */ /** * Cannot create tox. * Unknown error occurred. */ OCTManagerInitErrorCreateToxUnknown, /** * Cannot create tox. * Was unable to allocate enough memory to store the internal structures for the Tox object. */ OCTManagerInitErrorCreateToxMemoryError, /** * Cannot create tox. * Was unable to bind to a port. This may mean that all ports have already been bound, * e.g. by other Tox instances, or it may mean a permission error. */ OCTManagerInitErrorCreateToxPortAlloc, /** * Cannot create tox. * proxyType was invalid. */ OCTManagerInitErrorCreateToxProxyBadType, /** * Cannot create tox. * proxyAddress had an invalid format or was nil (while proxyType was set). */ OCTManagerInitErrorCreateToxProxyBadHost, /** * Cannot create tox. * proxyPort was invalid. */ OCTManagerInitErrorCreateToxProxyBadPort, /** * Cannot create tox. * The proxy host passed could not be resolved. */ OCTManagerInitErrorCreateToxProxyNotFound, /** * Cannot create tox. * The saved data to be loaded contained an encrypted save. */ OCTManagerInitErrorCreateToxEncrypted, /** * Cannot create tox. * The data format was invalid. This can happen when loading data that was * saved by an older version of Tox, or when the data has been corrupted. * When loading from badly formatted data, some data may have been loaded, * and the rest is discarded. Passing an invalid length parameter also * causes this error. */ OCTManagerInitErrorCreateToxBadFormat, }; typedef NS_ENUM(NSInteger, OCTSetUserAvatarError) { /** * User avatar size is too big. It should be <= kOCTManagerMaxAvatarSize. */ OCTSetUserAvatarErrorTooBig, }; typedef NS_ENUM(NSInteger, OCTSendFileError) { /** * Internal error occured while sending file. * Check logs for more info. */ OCTSendFileErrorInternalError, /** * Cannot read file. */ OCTSendFileErrorCannotReadFile, /** * Cannot save send file to uploads folder. */ OCTSendFileErrorCannotSaveFileToUploads, /** * Friend to send file to was not found. */ OCTSendFileErrorFriendNotFound, /** * Friend is not connected at the moment. */ OCTSendFileErrorFriendNotConnected, /** * Filename length exceeded kOCTToxMaxFileNameLength bytes. */ OCTSendFileErrorNameTooLong, /** * Too many ongoing transfers. The maximum number of concurrent file transfers * is 256 per friend per direction (sending and receiving). */ OCTSendFileErrorTooMany, }; typedef NS_ENUM(NSInteger, OCTAcceptFileError) { /** * Internal error occured while sending file. * Check logs for more info. */ OCTAcceptFileErrorInternalError, /** * File is not available for writing. */ OCTAcceptFileErrorCannotWriteToFile, /** * Friend to send file to was not found. */ OCTAcceptFileErrorFriendNotFound, /** * Friend is not connected at the moment. */ OCTAcceptFileErrorFriendNotConnected, /** * Wrong message specified (with no friend, no file or not waiting for confirmation). */ OCTAcceptFileErrorWrongMessage, }; typedef NS_ENUM(NSInteger, OCTFileTransferError) { /** * Wrong message specified (with no file). */ OCTFileTransferErrorWrongMessage, };