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.
20 // SDK status definition
22 SdkStatusDisable = "Disable"
23 SdkStatusNotInstalled = "Not Installed"
24 SdkStatusInstalling = "Installing"
25 SdkStatusUninstalling = "Un-installing"
26 SdkStatusInstalled = "Installed"
29 // SDK Define a cross tool chain used to build application
31 ID string `json:"id" binding:"required"`
32 Name string `json:"name"`
33 Description string `json:"description"`
34 Profile string `json:"profile"`
35 Version string `json:"version"`
36 Arch string `json:"arch"`
37 Path string `json:"path"`
38 URL string `json:"url"`
39 Status string `json:"status"`
40 Date string `json:"date"`
41 Size string `json:"size"`
42 Md5sum string `json:"md5sum"`
43 SetupFile string `json:"setupFile"`
44 LastError string `json:"lastError"`
47 // SDKInstallArgs JSON parameters of POST /sdks or /sdks/abortinstall commands
48 type SDKInstallArgs struct {
49 ID string `json:"id"` // install by ID (must be part of GET /sdks result)
50 Filename string `json:"filename"` // install by using a file
51 Force bool `json:"force"` // force SDK install when already existing
52 Timeout int `json:"timeout"` // 1800 == default 30 minutes
53 InstallArgs []string `json:"installArgs"` // args directly passed to add/install script
56 // SDK SDKManagementMsg Actions
58 SdkMgtActionInstall = "installing"
59 SdkMgtActionRemove = "removing"
62 // SDKManagementMsg Message send during SDK installation or when installation is complete
63 type SDKManagementMsg struct {
64 CmdID string `json:"cmdID"`
65 Timestamp string `json:"timestamp"`
66 Action string `json:"action"`
68 Stdout string `json:"stdout"`
69 Stderr string `json:"stderr"`
70 Progress int `json:"progress"` // 0 = not started to 100% = complete
71 Exited bool `json:"exited"`
72 Code int `json:"code"`
73 Error string `json:"error"`