Documentation ¶
Index ¶
- func GenerateDownloadPath(basePath, fileName string, overwrite bool) (filePath, manifestPath string)
- type Functionality
- func (f *Functionality) CheckDownloadStatus(profile peer.CwtchPeer, fileKey string) error
- func (f *Functionality) DownloadFile(profile peer.CwtchPeer, conversationID int, downloadFilePath string, ...) error
- func (f *Functionality) DownloadFileDefaultLimit(profile peer.CwtchPeer, conversationID int, downloadFilePath string, ...) error
- func (f *Functionality) EnhancedGetSharedFiles(profile peer.CwtchPeer, conversationID int) string
- func (f *Functionality) EnhancedShareFile(profile peer.CwtchPeer, conversationID int, sharefilepath string) string
- func (f *Functionality) EventsToRegister() []event.Type
- func (f *Functionality) ExperimentsToRegister() []string
- func (f *Functionality) GetFileShareInfo(profile peer.CwtchPeer, filekey string) (*SharedFile, error)
- func (f *Functionality) GetSharedFiles(profile peer.CwtchPeer, conversationID int) []SharedFile
- func (f *Functionality) NotifySettingsUpdate(settings settings.GlobalSettings)
- func (f *Functionality) OnContactReceiveValue(profile peer.CwtchPeer, conversation model.Conversation, ...)
- func (f *Functionality) OnContactRequestValue(profile peer.CwtchPeer, conversation model.Conversation, eventID string, ...)
- func (f *Functionality) OnEvent(ev event.Event, profile peer.CwtchPeer)
- func (f *Functionality) ReShareFiles(profile peer.CwtchPeer) error
- func (f *Functionality) RestartFileShare(profile peer.CwtchPeer, filekey string) error
- func (f *Functionality) ShareFile(filepath string, profile peer.CwtchPeer) (string, string, error)
- func (f *Functionality) StopAllFileShares(profile peer.CwtchPeer)
- func (f *Functionality) StopFileShare(profile peer.CwtchPeer, fileKey string) error
- func (f *Functionality) VerifyOrResumeDownload(profile peer.CwtchPeer, conversation int, fileKey string, size uint64) error
- func (f *Functionality) VerifyOrResumeDownloadDefaultLimit(profile peer.CwtchPeer, conversation int, fileKey string) error
- type ImagePreviewsFunctionality
- func (i *ImagePreviewsFunctionality) EventsToRegister() []event.Type
- func (i *ImagePreviewsFunctionality) ExperimentsToRegister() []string
- func (i *ImagePreviewsFunctionality) NotifySettingsUpdate(settings settings.GlobalSettings)
- func (i *ImagePreviewsFunctionality) OnContactReceiveValue(profile peer.CwtchPeer, conversation model.Conversation, ...)
- func (i *ImagePreviewsFunctionality) OnContactRequestValue(profile peer.CwtchPeer, conversation model.Conversation, eventID string, ...)
- func (i *ImagePreviewsFunctionality) OnEvent(ev event.Event, profile peer.CwtchPeer)
- type OverlayMessage
- type SharedFile
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenerateDownloadPath ¶ added in v0.14.6
func GenerateDownloadPath(basePath, fileName string, overwrite bool) (filePath, manifestPath string)
GenerateDownloadPath creates a file path that doesn't currently exist on the filesystem
Types ¶
type Functionality ¶
type Functionality struct { }
Functionality groups some common UI triggered functions for contacts...
func FunctionalityGate ¶
func FunctionalityGate() *Functionality
FunctionalityGate returns filesharing functionality - gates now happen on function calls.
func PreviewFunctionalityGate ¶ added in v0.14.6
func PreviewFunctionalityGate(experimentMap map[string]bool) (*Functionality, error)
PreviewFunctionalityGate returns filesharing if image previews are enabled
func (*Functionality) CheckDownloadStatus ¶ added in v0.19.0
func (f *Functionality) CheckDownloadStatus(profile peer.CwtchPeer, fileKey string) error
func (*Functionality) DownloadFile ¶
func (f *Functionality) DownloadFile(profile peer.CwtchPeer, conversationID int, downloadFilePath string, manifestFilePath string, key string, limit uint64) error
DownloadFile given a profile, a conversation handle and a file sharing key, start off a download process to downloadFilePath
func (*Functionality) DownloadFileDefaultLimit ¶ added in v0.19.0
func (f *Functionality) DownloadFileDefaultLimit(profile peer.CwtchPeer, conversationID int, downloadFilePath string, manifestFilePath string, key string) error
DownloadFileDefaultLimit given a profile, a conversation handle and a file sharing key, start off a download process to downloadFilePath with a default filesize limit
func (*Functionality) EnhancedGetSharedFiles ¶ added in v0.19.0
func (f *Functionality) EnhancedGetSharedFiles(profile peer.CwtchPeer, conversationID int) string
func (*Functionality) EnhancedShareFile ¶ added in v0.19.0
func (*Functionality) EventsToRegister ¶ added in v0.19.0
func (f *Functionality) EventsToRegister() []event.Type
func (*Functionality) ExperimentsToRegister ¶ added in v0.19.0
func (f *Functionality) ExperimentsToRegister() []string
func (*Functionality) GetFileShareInfo ¶ added in v0.17.0
func (f *Functionality) GetFileShareInfo(profile peer.CwtchPeer, filekey string) (*SharedFile, error)
GetFileShareInfo returns information related to a known fileshare. An error is returned if the data is incomplete
func (*Functionality) GetSharedFiles ¶ added in v0.17.0
func (f *Functionality) GetSharedFiles(profile peer.CwtchPeer, conversationID int) []SharedFile
GetSharedFiles returns all file shares associated with a given conversation
func (*Functionality) NotifySettingsUpdate ¶ added in v0.19.2
func (f *Functionality) NotifySettingsUpdate(settings settings.GlobalSettings)
func (*Functionality) OnContactReceiveValue ¶ added in v0.19.0
func (f *Functionality) OnContactReceiveValue(profile peer.CwtchPeer, conversation model.Conversation, path attr.ScopedZonedPath, value string, exists bool)
func (*Functionality) OnContactRequestValue ¶ added in v0.19.0
func (f *Functionality) OnContactRequestValue(profile peer.CwtchPeer, conversation model.Conversation, eventID string, path attr.ScopedZonedPath)
func (*Functionality) OnEvent ¶ added in v0.19.0
func (f *Functionality) OnEvent(ev event.Event, profile peer.CwtchPeer)
OnEvent handles File Sharing Hooks like Manifest Received and FileDownloaded
func (*Functionality) ReShareFiles ¶ added in v0.17.0
func (f *Functionality) ReShareFiles(profile peer.CwtchPeer) error
ReShareFiles given a profile we iterate through all existing fileshares and re-share them if the time limit has not expired
func (*Functionality) RestartFileShare ¶ added in v0.17.0
func (f *Functionality) RestartFileShare(profile peer.CwtchPeer, filekey string) error
RestartFileShare takes in an existing filekey and, assuming the manifest exists, restarts sharing of the manifest by default this function always forces a file share, even if the file has timed out.
func (*Functionality) ShareFile ¶
ShareFile given a profile and a conversation handle, sets up a file sharing process to share the file at filepath
func (*Functionality) StopAllFileShares ¶ added in v0.19.0
func (f *Functionality) StopAllFileShares(profile peer.CwtchPeer)
StopAllFileShares sends a message to the ProtocolEngine to cease sharing all files
func (*Functionality) StopFileShare ¶ added in v0.19.0
func (f *Functionality) StopFileShare(profile peer.CwtchPeer, fileKey string) error
StopFileShare sends a message to the ProtocolEngine to cease sharing a particular file
func (*Functionality) VerifyOrResumeDownload ¶ added in v0.19.0
func (*Functionality) VerifyOrResumeDownloadDefaultLimit ¶ added in v0.20.0
type ImagePreviewsFunctionality ¶ added in v0.19.2
type ImagePreviewsFunctionality struct {
// contains filtered or unexported fields
}
func (*ImagePreviewsFunctionality) EventsToRegister ¶ added in v0.19.2
func (i *ImagePreviewsFunctionality) EventsToRegister() []event.Type
func (*ImagePreviewsFunctionality) ExperimentsToRegister ¶ added in v0.19.2
func (i *ImagePreviewsFunctionality) ExperimentsToRegister() []string
func (*ImagePreviewsFunctionality) NotifySettingsUpdate ¶ added in v0.19.2
func (i *ImagePreviewsFunctionality) NotifySettingsUpdate(settings settings.GlobalSettings)
func (*ImagePreviewsFunctionality) OnContactReceiveValue ¶ added in v0.19.2
func (i *ImagePreviewsFunctionality) OnContactReceiveValue(profile peer.CwtchPeer, conversation model.Conversation, path attr.ScopedZonedPath, value string, exists bool)
func (*ImagePreviewsFunctionality) OnContactRequestValue ¶ added in v0.19.2
func (i *ImagePreviewsFunctionality) OnContactRequestValue(profile peer.CwtchPeer, conversation model.Conversation, eventID string, path attr.ScopedZonedPath)
type OverlayMessage ¶
type OverlayMessage struct { Name string `json:"f"` Hash string `json:"h"` Nonce string `json:"n"` Size uint64 `json:"s"` }
OverlayMessage presents the canonical format of the File Sharing functionality Overlay Message This is the format that the UI will parse to display the message
func (*OverlayMessage) FileKey ¶ added in v0.14.6
func (om *OverlayMessage) FileKey() string
FileKey is the unique reference to a file offer
func (*OverlayMessage) ShouldAutoDL ¶ added in v0.14.6
func (om *OverlayMessage) ShouldAutoDL() bool
ShouldAutoDL checks file size and file name. *DOES NOT* check user settings or contact state
type SharedFile ¶ added in v0.17.0
type SharedFile struct { string Path string DateShared time.Time Active bool // or the file no longer exists). Expired bool }FileKey
SharedFile encapsulates information about a shared file including the file key, file path, the original share date and the current sharing status