BMLTiOSLibMeetingNode

public class BMLTiOSLibMeetingNode : NSObject, Sequence

This is a special “micro class” for accessing the meetings for a Server.

Public Subscript

  • This allows us to treat the meeting as if it were a standard Dictionary.

    Declaration

    Swift

    public subscript(inStringKey: String) -> String! { get }

    Parameters

    inStringKey

    This is a String key to access the meeting data element.

Public Properties

  • This will contain any changes that are associated with this meeting.

    Declaration

    Swift

    public var changes: [BMLTiOSLibChangeNode]!

Public Calculated Properties

  • This class is not editable.

    Declaration

    Swift

    public var isEditable: Bool { get }
  • Returns a sorted list of the value array keys. It sorts the “default” ones first.

    Declaration

    Swift

    public var keys: [String] { get }

    Return Value

    all of the available keys in our dictionary.

  • Declaration

    Swift

    public var rawMeeting: [String : String] { get set }

    Return Value

    Our internal editable instance instead of the read-only one for the superclass.

  • id

    Declaration

    Swift

    public var id: Int { get }

    Return Value

    An Int, with the meeting BMLT ID.

  • Declaration

    Swift

    public var worldID: String { get }

    Return Value

    A String, with the meeting NAWS ID.

  • Declaration

    Swift

    public var serviceBodyId: Int { get }

    Return Value

    An Int, with the meeting’s Service body BMLT ID.

  • Declaration

    Swift

    public var serviceBody: BMLTiOSLibHierarchicalServiceBodyNode! { get }

    Return Value

    The meeting’s Service body object. nil, if no Service body (should never happen).

  • Declaration

    Swift

    public var formats: [BMLTiOSLibFormatNode] { get }

    Return Value

    an array of format objects.

  • Declaration

    Swift

    public var formatsAsCSVList: String { get }

    Return Value

    a CSV string of format codes, sorted alphabetically.

  • Declaration

    Swift

    public var published: Bool { get }

    Return Value

    A Bool. True, if the meeting is published.

  • Declaration

    Swift

    public var name: String { get }

    Return Value

    A String, with the meeting name.

  • Declaration

    Swift

    public var weekdayIndex: Int { get }

    Return Value

    An Int, with the weekday (1 = Sunday, 7 = Saturday).

  • Declaration

    Swift

    public var timeString: String { get }

    Return Value

    A String, with the start time in military format (“HH:MM”).

  • Declaration

    Swift

    public var durationString: String { get }

    Return Value

    A String, with the duration (“HH:MM”).

  • Declaration

    Swift

    public var durationInMinutes: Int { get }

    Return Value

    An Integer, with the duration in minutes.

  • Declaration

    Swift

    public var startTime: DateComponents! { get }

    Return Value

    an optional DateComponents object, with the time of the meeting.

  • Declaration

    Swift

    public var startTimeAndDay: DateComponents! { get }

    Return Value

    an optional DateComponents object, with the weekday and time of the meeting.

  • Declaration

    Swift

    public var timeDayAsInteger: Int { get }

    Return Value

    returns an integer that allows sorting quickly. Weekday is 1,000s, hours are 100s, and minutes are 1s. NOTE: This value reflects the localized start day of the week (the others do not). This is because the reason for this value is for sorting. That means that if the week starts on Monday, then the weekday index will be 1 if the meeting is on Monday, and 7 if on Sunday.

  • Declaration

    Swift

    public var nextStartDate: Date! { get }

    Return Value

    an optional Date object, with the next occurrence of the meeting (from now).

  • Declaration

    Swift

    public var locationCoords: CLLocationCoordinate2D! { get }

    Return Value

    The location (optional).

  • Declaration

    Swift

    public var locationName: String { get }

    Return Value

    A String, with the location building name.

  • Declaration

    Swift

    public var locationStreetAddress: String { get }

    Return Value

    A String, with the location street address.

  • Declaration

    Swift

    public var locationBorough: String { get }

    Return Value

    A String, with the location borough.

  • Declaration

    Swift

    public var locationNeighborhood: String { get }

    Return Value

    A String, with the location neigborhood.

  • Declaration

    Swift

    public var locationTown: String { get }

    Return Value

    A String, with the location town.

  • Declaration

    Swift

    public var locationCounty: String { get }

    Return Value

    A String, with the location county.

  • Declaration

    Swift

    public var locationState: String { get }

    Return Value

    A String, with the location state/province.

  • Declaration

    Swift

    public var locationZip: String { get }

    Return Value

    A String, with the location zip code/postal code.

  • Declaration

    Swift

    public var locationNation: String { get }

    Return Value

    A String, with the location nation.

  • Declaration

    Swift

    public var locationInfo: String { get }

    Return Value

    A String, with additional location info.

  • Declaration

    Swift

    public var virtualMeetingURI: String { get }

    Return Value

    A String, with the virtual meeting link.

  • Declaration

    Swift

    public var virtualMeetingAdditionalInfo: String { get }

    Return Value

    A String, with any additional information about the virtual meeting.

  • Declaration

    Swift

    public var meetingPhoneNumber: String { get }

    Return Value

    A String, with the meeting phone number.

  • Declaration

    Swift

    public var comments: String { get }

    Return Value

    A String, with the comments.

  • Read-only property that returns the distance (in Miles) from the search center.

    Declaration

    Swift

    public var distanceInMiles: Double { get }

    Return Value

    the distance from the search center (may not be applicable, in which case it will be 0).

  • Read-only property that returns the distance (in Kilometers) from the search center.

    Declaration

    Swift

    public var distanceInKm: Double { get }

    Return Value

    the distance from the search center (may not be applicable, in which case it will be 0).

  • This parses the meeting data, and creates a fairly basic, straightforward address.

    The address type is specified by the “BMLTiOSLibAddressParser” info.plist property.

    This is a read-only property.

    Declaration

    Swift

    public var basicAddress: String { get }

    Return Value

    A String, with a basic address.

  • This is always false for this class.

    Declaration

    Swift

    public var isDirty: Bool { get }
  • This is a read-only property that overrides the NSObject description. It returns a string that aggregates the meeting info into a simple US-style meeting description.

    For many uses, this may give enough information to display the meeting.

    Declaration

    Swift

    override public var description: String { get }

    Return Value

    A String, with the essential Meeting Info.

Public Methods

  • Default initializer. Initiatlize with raw meeting data (a simple Dictionary).

    Declaration

    Swift

    public init(_ inRawMeeting: [String : String], inHandler: BMLTiOSLib)

    Parameters

    inRawMeeting

    This is a Dictionary that describes the meeting. If empty, then a default meeting will be created.

    inHandler

    This is the BMLTiOSLib object that “owns” this meeting

  • Requests all changes for this meeting from the BMLTiOSLib handler.

    Declaration

    Swift

    public func getChanges()
  • If sending messages to meeting contacts is enabled, this function will send a basic email to the contact for this email.

    This will result in the delegate callback bmltLibInstance(_:BMLTiOSLib,sendMessageSuccessful: Bool) being invoked.

    Declaration

    Swift

    public func sendMessageToMeetingContact(fromAddress: String, messageBody: String)

    Parameters

    fromAddress

    The email to be used as the “from” address. This is required, and should be valid.

    messageBody

    A String containing the body of the message to be sent.

Meeting Start and End Time Test Methods

  • Returns true, if the meeting start time is after the given time.

    Declaration

    Swift

    public func meetingStartsOnOrAfterThisTime(_ inTime: NSDateComponents) -> Bool

    Parameters

    inTime

    The test start time, as time components (hours, minutes, seconds). The day is ignored.

    Return Value

    true, if the meeting starts on or after the given test time.

  • Returns true, if the meeting start time is before the given time.

    Declaration

    Swift

    public func meetingStartsOnOrBeforeThisTime(_ inTime: NSDateComponents) -> Bool

    Parameters

    inTime

    The test start time, as time components (hours, minutes, seconds). The day is ignored.

    Return Value

    true, if the meeting starts on or before the given test time.

  • Returns true, if the meeting end time is before the given time.

    Declaration

    Swift

    public func meetingEndsAtOrBeforeThisTime(_ inTime: NSDateComponents) -> Bool

    Parameters

    inTime

    The test end time, as time components (hours, minutes, seconds). The day is ignored.

    Return Value

    true, if the meeting ends at or before the given test time.

Sequence Protocol Methods

  • Create an iterator for this list.

    This iterator follows the order of the array, starting from element 0, and working up to the end.

    Declaration

    Swift

    public func makeIterator() -> AnyIterator<BMLTiOSLibMeetingNodeSimpleDictionaryElement>

    Return Value

    an iterator for the list.