LGV_MeetingSDK
open class LGV_MeetingSDK
extension LGV_MeetingSDK: LGV_MeetingSDK_Protocol
This is instantiated, in order to provide meeting search capabilities for one organization. This is a class, so it can be specialized, and referenced.
-
This describes one meeting.
See moreDeclaration
Swift
public struct Meeting : LGV_MeetingSDK_Meeting_Protocol
-
This is the organization that applies to this search instance. This is a strong reference.
Declaration
Swift
private var _organization: LGV_MeetingSDK_Organization_Transport_Protocol?
-
The “cached” last search. It may be nil (no last search cached).
Declaration
Swift
private var _lastSearch: LGV_MeetingSDK_Meeting_Data_Set_Protocol?
-
This is the default initializer for the search SDK.
Declaration
Swift
public init(organization inOrganization: LGV_MeetingSDK_Organization_Transport_Protocol)
Parameters
organization
The organization (containing the transport) to be applied.
-
“Cleans” a URI.
See moreDeclaration
Swift
static func cleanURI(urlString inURLString: String?) -> String?
Parameters
urlString
The URL, as a String. It can be optional.
Return Value
an optional String. This is the given URI, “cleaned up” (“https://” or “tel:” may be prefixed)
-
This simply strips out all non-decimal characters in the string, leaving only valid decimal digits.
Declaration
Swift
static func decimalOnly(_ inString: String) -> String
Parameters
inString
The string to be “decimated.”
Return Value
A String, with all the non-decimal characters stripped.
-
This allows us to find if a string contains another string.
Declaration
Swift
private static func _isThisString(_ inString: String, withinThisString inMainString: String, options inOptions: String.CompareOptions = [.caseInsensitive, .diacriticInsensitive]) -> Bool
Parameters
inString
The string we’re looking for.
withinThisString
The string we’re looking through.
Return Value
True, if the string contains the other String.
-
Checks a meeting, to see if a given string is present.
Declaration
Swift
private static func _isStringInHere(meeting inMeeting: LGV_MeetingSDK.Meeting, string inString: String) -> Bool
Parameters
meeting
The meeing instance to check (haystack).
string
The string we’re looking for (needle).
Return Value
True, if the meeting contains the string we’re looking for.
-
Declaration
Swift
static func refineMeetings(_ inMeetings: [LGV_MeetingSDK.Meeting], searchType inSearchType: LGV_MeetingSDK_Meeting_Data_Set.SearchConstraints, searchRefinements inSearchRefinements: Set<LGV_MeetingSDK_Meeting_Data_Set.Search_Refinements>) -> [LGV_MeetingSDK.Meeting]
Parameters
inMeetings
The meeting array to be filtered.
searchType
This is the search specification main search type.
searchRefinements
This is the search specification additional filters.
Return Value
The refined meeting array.
-
This is the organization that applies to this search instance.
Declaration
Swift
public var organization: LGV_MeetingSDK_Organization_Transport_Protocol? { get }
-
The “cached” last search. It may be nil (no last search cached).
Declaration
Swift
public var lastSearch: LGV_MeetingSDK_Meeting_Data_Set_Protocol? { get set }
-
Default runs, using the built-in organization->transport->initiator method.
Declaration
Swift
public func meetingSearch(type inSearchType: LGV_MeetingSDK_Meeting_Data_Set.SearchConstraints = .none, refinements inSearchRefinements: Set<LGV_MeetingSDK_Meeting_Data_Set.Search_Refinements> = [], refCon inRefCon: Any? = nil, completion inCompletion: @escaping LGV_MeetingSDK_SearchInitiator_Protocol.MeetingSearchCallbackClosure)
-
findNextMeetingsSearch(centerLongLat:
minimumNumberOfResults: maxRadiusInMeters: refinements: refCon: completion: ) WHAT’S ALL THIS, THEN?
This method will be a bit complex, because, what we are doing, is successive auto radius calls, until a minimum number of aggregated results are found.
Sounds like a standard auto radius call, eh? But there’s a difference. This is a “Next Available Meetings” call. The result will be a series of meetings, sorted by weekday and time, then by distance, after now.
The caller can specify refinements, like “Only look at meetings on weekdays, between 6PM and 9PM.”
The search will continue until the minimum number of search results has been found, or until all seven days have been exhausted. The caller can also specify a maximum radius.
- default minimumNumberOfResults is 10
- default maxRadiusInMeters is 10,000 Km
- default refinements is nil
- default refCon is nil
Declaration
Swift
public func findNextMeetingsSearch(centerLongLat inCenterLongLat: CLLocationCoordinate2D, minimumNumberOfResults inMinimumNumberOfResults: UInt = 10, maxRadiusInMeters inMaxRadiusInMeters: CLLocationDistance = 10000000, refinements inSearchRefinements: Set<LGV_MeetingSDK_Meeting_Data_Set.Search_Refinements>? = nil, refCon inRefCon: Any? = nil, completion inCompletion: @escaping LGV_MeetingSDK_SearchInitiator_Protocol.MeetingSearchCallbackClosure)