blob: b7a9c29ac3c87deea91309df0c78332f232e0284 [file] [log] [blame]
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package io.v.syncslides.discovery;
import io.v.syncslides.model.DynamicList;
import io.v.syncslides.model.PresentationAdvertisement;
import io.v.v23.context.VContext;
import io.v.v23.verror.VException;
/**
* Handles advertising and scanning for live presentations.
*/
public interface PresentationDiscovery {
/**
* Finds all live presentations. The returned list will be continually
* updated as new presentations start and old presentations end.
*/
DynamicList<PresentationAdvertisement> scan();
/**
* Starts advertising a presentation.
* @param vContext context for the advertisement. Client should cancel the context
* to stop advertising.
* @param advertisement details of the presentation.
*/
void advertise(VContext vContext, PresentationAdvertisement advertisement) throws VException;
}