Classes

The following classes are available globally.

  • Default class generated by iOS apps. This is where apps and windows lifecycles are maintained.

    See more

    Declaration

    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.
    See more

    Declaration

    Swift

    class ChatHandler : NSObject, ObservableObject, CBCentralManagerDelegate, CBPeripheralManagerDelegate, CBPeripheralDelegate
  • Handles all encryption of messages as well as public and private keys.

    See more

    Declaration

    Swift

    class CryptoHandler
  • Default class generated for iOS apps.

    See more

    Declaration

    Swift

    class SceneDelegate : UIResponder, UIWindowSceneDelegate
  • A UIStateModel is used to keep track of the currently active card in the carousel and is passed down from the parent view.

    See more

    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 more

    Declaration

    Swift

    class EmailHelper : NSObject, MFMailComposeViewControllerDelegate
  • Undocumented

    See more

    Declaration

    Swift

    @objc(ConversationEntity)
    public class ConversationEntity : NSManagedObject
    extension ConversationEntity : Identifiable
  • Undocumented

    See more

    Declaration

    Swift

    @objc(MessageEntity)
    public class MessageEntity : NSManagedObject
    extension MessageEntity : Identifiable