st

package
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 5, 2018 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EventFolderCompletion string = "FolderCompletion"
	EventFolderSummary    string = "FolderSummary"
	EventFolderPaused     string = "FolderPaused"
	EventFolderResumed    string = "FolderResumed"
	EventFolderErrors     string = "FolderErrors"
	EventStateChanged     string = "StateChanged"
)

Variables

Functions

This section is empty.

Types

type Event added in v1.0.0

type Event struct {
	Type string            `json:"type"`
	Time time.Time         `json:"time"`
	Data map[string]string `json:"data"`
}

type Events added in v1.0.0

type Events struct {
	MonitorTime time.Duration
	Debug       bool
	// contains filtered or unexported fields
}

Events .

func (*Events) Register added in v1.0.0

func (e *Events) Register(evName string, cb EventsCB, filterID string, data *EventsCBData) (int, error)

Register Add a listener on an event

func (*Events) Start added in v1.0.0

func (e *Events) Start() error

Start starts event monitoring loop

func (*Events) Stop added in v1.0.0

func (e *Events) Stop()

Stop stops event monitoring loop

func (*Events) UnRegister added in v1.0.0

func (e *Events) UnRegister(evName string, id int) error

UnRegister Remove a listener event

type EventsCB added in v1.0.0

type EventsCB func(ev Event, cbData *EventsCBData)

type EventsCBData added in v1.0.0

type EventsCBData map[string]interface{}

type ExitChan

type ExitChan struct {
	// contains filtered or unexported fields
}

ExitChan Channel used for process exit

type FolderChangeArg

type FolderChangeArg struct {
	ID           string
	Label        string
	RelativePath string
	SyncThingID  string
}

FolderChangeArg argument structure used by FolderChange

type FolderStatus added in v1.0.0

type FolderStatus struct {
	GlobalFiles       int   `json:"globalFiles"`
	GlobalDirectories int   `json:"globalDirectories"`
	GlobalSymlinks    int   `json:"globalSymlinks"`
	GlobalDeleted     int   `json:"globalDeleted"`
	GlobalBytes       int64 `json:"globalBytes"`

	LocalFiles       int   `json:"localFiles"`
	LocalDirectories int   `json:"localDirectories"`
	LocalSymlinks    int   `json:"localSymlinks"`
	LocalDeleted     int   `json:"localDeleted"`
	LocalBytes       int64 `json:"localBytes"`

	NeedFiles       int   `json:"needFiles"`
	NeedDirectories int   `json:"needDirectories"`
	NeedSymlinks    int   `json:"needSymlinks"`
	NeedDeletes     int   `json:"needDeletes"`
	NeedBytes       int64 `json:"needBytes"`

	InSyncFiles int   `json:"inSyncFiles"`
	InSyncBytes int64 `json:"inSyncBytes"`

	State        string    `json:"state"`
	StateChanged time.Time `json:"stateChanged"`

	Sequence int64 `json:"sequence"`

	IgnorePatterns bool `json:"ignorePatterns"`
}

FolderStatus Information about the current status of a folder.

type STEvent added in v1.0.0

type STEvent struct {
	// Per-subscription sequential event ID. Named "id" for backwards compatibility with the REST API
	SubscriptionID int `json:"id"`
	// Global ID of the event across all subscriptions
	GlobalID int                    `json:"globalID"`
	Time     time.Time              `json:"time"`
	Type     string                 `json:"type"`
	Data     map[string]interface{} `json:"data"`
}

type SyncThing

type SyncThing struct {
	BaseURL   string
	APIKey    string
	Home      string
	STCmd     *exec.Cmd
	STICmd    *exec.Cmd
	MyID      string
	Connected bool
	Events    *Events
	// contains filtered or unexported fields
}

SyncThing .

func NewSyncThing

func NewSyncThing(conf *xdsconfig.Config, log *logrus.Logger) *SyncThing

NewSyncThing creates a new instance of Syncthing

func (*SyncThing) ConfigGet

func (s *SyncThing) ConfigGet() (config.Configuration, error)

ConfigGet returns the current Syncthing configuration

func (*SyncThing) ConfigSet

func (s *SyncThing) ConfigSet(cfg config.Configuration) error

ConfigSet set Syncthing configuration

func (*SyncThing) Connect

func (s *SyncThing) Connect() error

Connect Establish HTTP connection with Syncthing

func (*SyncThing) FolderChange

func (s *SyncThing) FolderChange(f FolderChangeArg) (string, error)

FolderChange is called when configuration has changed

func (*SyncThing) FolderConfigGet added in v1.0.0

func (s *SyncThing) FolderConfigGet(folderID string) (stconfig.FolderConfiguration, error)

FolderConfigGet Returns the configuration of a specific folder

func (*SyncThing) FolderDelete

func (s *SyncThing) FolderDelete(id string) error

FolderDelete is called to delete a folder config

func (*SyncThing) FolderScan added in v1.0.0

func (s *SyncThing) FolderScan(folderID string, subpath string) error

FolderScan Request immediate folder scan. Scan all folders if folderID param is empty

func (*SyncThing) FolderStatus added in v1.0.0

func (s *SyncThing) FolderStatus(folderID string) (*FolderStatus, error)

FolderStatus Returns all information about the current

func (*SyncThing) IDGet

func (s *SyncThing) IDGet() (string, error)

IDGet returns the Syncthing ID of Syncthing instance running locally

func (*SyncThing) IsConfigInSync added in v1.0.0

func (s *SyncThing) IsConfigInSync() (bool, error)

IsConfigInSync Returns true if configuration is in sync

func (*SyncThing) IsFolderInSync added in v1.0.0

func (s *SyncThing) IsFolderInSync(folderID string) (bool, error)

IsFolderInSync Returns true when folder is in sync

func (*SyncThing) NewEventListener added in v1.0.0

func (s *SyncThing) NewEventListener() *Events

NewEventListener Create a new instance of Event listener

func (*SyncThing) Start

func (s *SyncThing) Start() (*exec.Cmd, error)

Start Starts syncthing process

func (*SyncThing) StartInotify

func (s *SyncThing) StartInotify() (*exec.Cmd, error)

StartInotify Starts syncthing-inotify process

func (*SyncThing) Stop

func (s *SyncThing) Stop()

Stop Stops syncthing process

func (*SyncThing) StopInotify

func (s *SyncThing) StopInotify()

StopInotify Stops syncthing process

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL