Skip to content
Snippets Groups Projects
Commit d7b8dad6 authored by Josh Brooks's avatar Josh Brooks
Browse files

Use groupChat tracker better

parent 9fa3de6a
No related branches found
No related tags found
2 merge requests!510Release,!315Hotfix/bindings updates
......@@ -98,15 +98,18 @@ type GroupRequest interface {
Callback(payload []byte)
}
// NewManager creates a bindings-layer group chat manager.
// LoadOrNewManager creates a bindings-layer group chat manager.
//
// Parameters:
// - e2eID - e2e object ID in the tracker.
// - groupID - GroupChat object ID in the tracker, given from previous call to LoadOrNewManager.
// - requestFunc - a callback to handle group chat requests.
// - processor - the group chat message processor.
func NewManager(e2eID int, requestFunc GroupRequest,
func LoadOrNewManager(e2eID, groupID int, requestFunc GroupRequest,
processor GroupChatProcessor) (*GroupChat, error) {
// Retrieve from singleton
groupChat, err := groupChatTrackerSingleton.get(groupID)
if err != nil { // If not present, create/load group chat manager
// Get user from singleton
user, err := e2eTrackerSingleton.get(e2eID)
if err != nil {
......@@ -130,6 +133,9 @@ func NewManager(e2eID int, requestFunc GroupRequest,
// Construct wrapper
return groupChatTrackerSingleton.make(gcInt), nil
}
return groupChat, nil
}
// GetID returns the groupChatTracker ID for the GroupChat object.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment