X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=lib%2Fagent%2Fproject-interface.go;h=b2213f360bb83803c39532815f68757d9adac076;hb=247bb7c2db5f0d48178398599348249bf886ebbc;hp=0a4a17e8e39e43280ceeea50121cf9259f35771f;hpb=4695555e178bcabe54c5bf82117c9c4cef5440b5;p=src%2Fxds%2Fxds-agent.git diff --git a/lib/agent/project-interface.go b/lib/agent/project-interface.go index 0a4a17e..b2213f3 100644 --- a/lib/agent/project-interface.go +++ b/lib/agent/project-interface.go @@ -1,43 +1,32 @@ -package agent - -// ProjectType definition -type ProjectType string +/* + * Copyright (C) 2017-2018 "IoT.bzh" + * Author Sebastien Douheret + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ -const ( - TypePathMap = "PathMap" - TypeCloudSync = "CloudSync" - TypeCifsSmb = "CIFS" -) +package agent -// Project Status definition -const ( - StatusErrorConfig = "ErrorConfig" - StatusDisable = "Disable" - StatusEnable = "Enable" - StatusPause = "Pause" - StatusSyncing = "Syncing" -) +import "gerrit.automotivelinux.org/gerrit/src/xds/xds-agent.git/lib/xaapiv1" // IPROJECT Project interface type IPROJECT interface { - Add(cfg ProjectConfig) (*ProjectConfig, error) // Add a new project - Delete() error // Delete a project - GetProject() *ProjectConfig // Get project public configuration - UpdateProject(prj ProjectConfig) (*ProjectConfig, error) // Update project configuration - GetServer() *XdsServer // Get XdsServer that holds this project - Sync() error // Force project files synchronization - IsInSync() (bool, error) // Check if project files are in-sync -} - -// ProjectConfig is the config for one project -type ProjectConfig struct { - ID string `json:"id"` - ServerID string `json:"serverId"` - Label string `json:"label"` - ClientPath string `json:"clientPath"` - ServerPath string `json:"serverPath"` - Type ProjectType `json:"type"` - Status string `json:"status"` - IsInSync bool `json:"isInSync"` - DefaultSdk string `json:"defaultSdk"` + Add(cfg xaapiv1.ProjectConfig) (*xaapiv1.ProjectConfig, error) // Add a new project + Setup(prj xaapiv1.ProjectConfig) (*xaapiv1.ProjectConfig, error) // Local setup of the project + Delete() error // Delete a project + GetProject() *xaapiv1.ProjectConfig // Get project public configuration + Update(prj xaapiv1.ProjectConfig) (*xaapiv1.ProjectConfig, error) // Update project configuration + GetServer() *XdsServer // Get XdsServer that holds this project + Sync() error // Force project files synchronization + IsInSync() (bool, error) // Check if project files are in-sync }