Refit source files to have a public xs-apiv1 lib package.
[src/xds/xds-server.git] / lib / xdsserver / folder-interface.go
1 package xdsserver
2
3 import "github.com/iotbzh/xds-server/lib/xsapiv1"
4
5 type FolderEventCBData map[string]interface{}
6 type FolderEventCB func(cfg *xsapiv1.FolderConfig, data *FolderEventCBData)
7
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
22 }