blob: 6e3ac4bfbc9bda479080ad1dad5294bb5599b8a6 [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 db
// Deck is the metadata for a set of slides.
type VDeck struct {
Title string
Thumbnail []byte
}
// Slide contains the image content for the slide.
type VSlide struct {
// A low-res version of the image stored as PNG.
Thumbnail []byte
// A high-res version of the image stored as PNG.
//Fullsize Blobref
}
// Note contains private-to-the-user notes for a specific slide.
type VNote struct {
Text string
}
// Presentation represents a live display of a Deck.
type VPresentation struct {
// If the presenter has handed control of the presentation to an audience member,
// driver will be present. When the presenter takes back control, this
// will switch back to the empty string.
Driver ?VPerson // ? means optional.
}
// Person represents either an audience member or the presenter.
type VPerson struct{
Blessing string
// The person's full name.
Name string
}
// CurrentSlide contains state for the live presentation. It is separate from the
// Presentation so that the presenter can temporarily delegate control of the
// CurrentSlide without giving up control of the entire presentation.
type VCurrentSlide struct {
// The number of the slide that the presenter is talking about.
Num int32
// In the future, we could add markup/doodles here. That markup would be transient
// if stored here. Maybe better to put it in a separate row...
}
// Question represents a member of the audience asking a question of the presenter.
// TODO(kash): Add support for the user to type in their question. Right now, they
// need to ask their question verbally.
type VQuestion struct {
// The person who asked the question.
Questioner VPerson
// Time when the question was asked in milliseconds since the epoch.
Time int64
// Track whether this question has been answered.
Answered bool
}