3 import "github.com/iotbzh/xds-server/lib/xsapiv1"
5 type FolderEventCBData map[string]interface{}
6 type FolderEventCB func(cfg *xsapiv1.FolderConfig, data *FolderEventCBData)
8 // IFOLDER Folder interface
9 type IFOLDER interface {
10 NewUID(suffix string) string // Get a new folder UUID
11 Add(cfg xsapiv1.FolderConfig) (*xsapiv1.FolderConfig, error) // Add a new folder
12 GetConfig() xsapiv1.FolderConfig // Get folder public configuration
13 GetFullPath(dir string) string // Get folder full path
14 ConvPathCli2Svr(s string) string // Convert path from Client to Server
15 ConvPathSvr2Cli(s string) string // Convert path from Server to Client
16 Remove() error // Remove a folder
17 Update(cfg xsapiv1.FolderConfig) (*xsapiv1.FolderConfig, error) // Update a new folder
18 RegisterEventChange(cb *FolderEventCB, data *FolderEventCBData) error // Request events registration (sent through WS)
19 UnRegisterEventChange() error // Un-register events
20 Sync() error // Force folder files synchronization
21 IsInSync() (bool, error) // Check if folder files are in-sync