2 * Copyright (C) 2017-2018 "IoT.bzh"
3 * Author Sebastien Douheret <sebastien@iot.bzh>
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
23 "gerrit.automotivelinux.org/gerrit/src/xds/xds-server/lib/xsapiv1"
24 uuid "github.com/satori/go.uuid"
27 // ITARGET interface implementation for standard targets
32 TgtConfig xsapiv1.TargetConfig
36 // NewTargetStandard Create a new instance of TgtStd
37 func NewTargetStandard(ctx *Context) *TgtStd {
40 TgtConfig: xsapiv1.TargetConfig{
41 Status: xsapiv1.StatusTgtDisable,
48 func (t *TgtStd) NewUID(suffix string) string {
49 uuid := uuid.NewV1().String()
57 func (t *TgtStd) Add(cfg xsapiv1.TargetConfig, terms *Terminals) (*xsapiv1.TargetConfig, error) {
58 return t.Setup(cfg, terms)
62 func (t *TgtStd) Delete() error {
67 // Setup Setup local project config
68 func (t *TgtStd) Setup(cfg xsapiv1.TargetConfig, terms *Terminals) (*xsapiv1.TargetConfig, error) {
71 return nil, fmt.Errorf("IP address must be set")
77 // FIXME: sanity check test ping IP
79 t.TgtConfig.Status = xsapiv1.StatusTgtEnable
81 return &t.TgtConfig, nil
84 // GetConfig Get public part of target config
85 func (t *TgtStd) GetConfig() xsapiv1.TargetConfig {
86 // XXX - Need to manually update terminal definition ()
87 t.TgtConfig.Terms = (*t.terminals).GetConfigArr()