Add folder synchronization status.
[src/xds/xds-server.git] / lib / folder / folder-pathmap.go
index 2ad8a93..f73f271 100644 (file)
@@ -8,6 +8,7 @@ import (
 
        common "github.com/iotbzh/xds-common/golib"
        "github.com/iotbzh/xds-server/lib/xdsconfig"
+       uuid "github.com/satori/go.uuid"
 )
 
 // IFOLDER interface implementation for native/path mapping folders
@@ -26,6 +27,11 @@ func NewFolderPathMap(gc *xdsconfig.Config) *PathMap {
        return &f
 }
 
+// NewUID Get a UUID
+func (f *PathMap) NewUID(suffix string) string {
+       return uuid.NewV1().String() + "_" + suffix
+}
+
 // Add a new folder
 func (f *PathMap) Add(cfg FolderConfig) (*FolderConfig, error) {
        if cfg.DataPathMap.ServerPath == "" {
@@ -63,6 +69,7 @@ func (f *PathMap) Add(cfg FolderConfig) (*FolderConfig, error) {
        f.config = cfg
        f.config.RootPath = dir
        f.config.DataPathMap.ServerPath = dir
+       f.config.IsInSync = true
        f.config.Status = StatusEnable
 
        return &f.config, nil
@@ -87,6 +94,16 @@ func (f *PathMap) Remove() error {
        return nil
 }
 
+// RegisterEventChange requests registration for folder change event
+func (f *PathMap) RegisterEventChange(cb *EventCB, data *EventCBData) error {
+       return nil
+}
+
+// UnRegisterEventChange remove registered callback
+func (f *PathMap) UnRegisterEventChange() error {
+       return nil
+}
+
 // Sync Force folder files synchronization
 func (f *PathMap) Sync() error {
        return nil