Initial commit
This commit is contained in:
@@ -0,0 +1,326 @@
|
||||
// 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 <<placeholder>> 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,
|
||||
};
|
||||
Reference in New Issue
Block a user