Classes
The following classes are available globally.
-
Default class generated by iOS apps. This is where apps and windows lifecycles are maintained.
See moreDeclaration
Swift
@main class AppDelegate : UIResponder, UIApplicationDelegate
-
The Bluetooth Manager handles all searching for, creating connection to and sending/receiving messages to/from other Bluetooth devices.
This class handles almost all the logic in the app and is passed around to the different views such that they all have access to the same Bluetooth objects as well as conversations. When the app is launched all the information is stored in memory and written to the persistent storage as needed.
Note
It conforms to a variety of delegates which is used for callback functions from the Apple APIs.Note
In code the ChatBrain has been divided into files for seperation and isolation of features.Declaration
Swift
class ChatHandler : NSObject, ObservableObject, CBCentralManagerDelegate, CBPeripheralManagerDelegate, CBPeripheralDelegate
-
Handles all encryption of messages as well as public and private keys.
See moreDeclaration
Swift
class CryptoHandler
-
Default class generated for iOS apps.
See moreDeclaration
Swift
class SceneDelegate : UIResponder, UIWindowSceneDelegate
-
A
See moreUIStateModel
is used to keep track of the currently active card in the carousel and is passed down from the parent view.Declaration
Swift
public class UIStateModel : ObservableObject
-
An email helper class which allows us to send emails in the support section of the settings view.
See moreDeclaration
Swift
class EmailHelper : NSObject, MFMailComposeViewControllerDelegate
-
Undocumented
See moreDeclaration
Swift
@objc(ConversationEntity) public class ConversationEntity : NSManagedObject
extension ConversationEntity : Identifiable
-
Undocumented
See moreDeclaration
Swift
@objc(MessageEntity) public class MessageEntity : NSManagedObject
extension MessageEntity : Identifiable