| // 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.android.apps.syncslides.model; |
| |
| /** |
| * Someone taking part in a presentation. |
| * |
| * An instance of this corresponds to one instance of a user running |
| * syncslides. |
| */ |
| public interface Participant { |
| |
| // Name of the user participating, intended to be visible to others. This |
| // can be a colloquial name as opposed to a 'real' name or email address |
| // extracted from a device or blessing. |
| String getUserName(); |
| |
| // Deck the user may be presenting. |
| Deck getDeck(); |
| |
| // Name of a service with participant information. |
| String getServiceName(); |
| |
| // Initially get or refresh data from the endPoint. |
| // Return true if call succeeds, false otherwise. |
| boolean refreshData(); |
| |
| // For debugging. |
| String toString(); |
| |
| // For storage in Sets. |
| boolean equals(Object obj); |
| |
| // For storage in Sets. |
| int hashCode(); |
| |
| /** |
| * Keys for Bundle fields. |
| */ |
| class B { |
| public static final String PARTICIPANT_ROLE = "participant_role"; |
| public static final String PARTICIPANT_SHOULD_ADV = "participant_is_advertising"; |
| public static final String PARTICIPANT_SYNCED = "participant_synced"; |
| } |
| } |