207 lines
6.0 KiB
Go
207 lines
6.0 KiB
Go
/*******************************************************************************
|
|
* Copyright 2017 Dell Inc.
|
|
* Copyright (c) 2019 Intel Corporation
|
|
*
|
|
* 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.
|
|
*******************************************************************************/
|
|
package constants
|
|
|
|
import (
|
|
"github.com/winc-link/edge-driver-proto/drivercommon"
|
|
"github.com/winc-link/edge-driver-proto/driverproduct"
|
|
)
|
|
|
|
type IotPlatform string
|
|
|
|
const (
|
|
IotPlatform_LocalIot IotPlatform = "本地"
|
|
IotPlatform_CustomerIot IotPlatform = "用户自定义" //用户自定义
|
|
IotPlatform_WinCLinkIot IotPlatform = "赢创万联" //赢创万联
|
|
IotPlatform_AliIot IotPlatform = "阿里云" //阿里
|
|
IotPlatform_HuaweiIot IotPlatform = "华为云" //华为
|
|
IotPlatform_TencentIot IotPlatform = "腾讯云" //腾讯
|
|
IotPlatform_TuyaIot IotPlatform = "涂鸦云" //涂鸦
|
|
IotPlatform_OneNetIot IotPlatform = "OneNET" //中国移动
|
|
)
|
|
|
|
func (i IotPlatform) TransformToCloudInstancePlatform() string {
|
|
switch i {
|
|
case IotPlatform_WinCLinkIot:
|
|
return CloudServiceWincLinkName
|
|
case IotPlatform_AliIot:
|
|
return CloudServiceAliyunName
|
|
case IotPlatform_HuaweiIot:
|
|
return CloudServiceHuaweiName
|
|
case IotPlatform_TencentIot:
|
|
return CloudServiceTencentName
|
|
case IotPlatform_TuyaIot:
|
|
return CloudServiceTuyaName
|
|
case IotPlatform_OneNetIot:
|
|
return CloudServiceOneNETName
|
|
default:
|
|
return ""
|
|
}
|
|
}
|
|
|
|
func (i IotPlatform) TransformToDriverDevicePlatform() drivercommon.IotPlatform {
|
|
switch i {
|
|
case IotPlatform_LocalIot:
|
|
return drivercommon.IotPlatform_LocalIot
|
|
case IotPlatform_WinCLinkIot:
|
|
return drivercommon.IotPlatform_WinCLinkIot
|
|
case IotPlatform_AliIot:
|
|
return drivercommon.IotPlatform_AliIot
|
|
case IotPlatform_HuaweiIot:
|
|
return drivercommon.IotPlatform_HuaweiIot
|
|
case IotPlatform_TencentIot:
|
|
return drivercommon.IotPlatform_TencentIot
|
|
case IotPlatform_TuyaIot:
|
|
return drivercommon.IotPlatform_TuyaIot
|
|
case IotPlatform_OneNetIot:
|
|
return drivercommon.IotPlatform_OneNetIot
|
|
default:
|
|
return drivercommon.IotPlatform_LocalIot
|
|
}
|
|
}
|
|
|
|
func TransformEdgePlatformToDbPlatform(platform drivercommon.IotPlatform) IotPlatform {
|
|
switch platform {
|
|
case drivercommon.IotPlatform_CustomerIot:
|
|
return IotPlatform_CustomerIot
|
|
case drivercommon.IotPlatform_WinCLinkIot:
|
|
return IotPlatform_WinCLinkIot
|
|
case drivercommon.IotPlatform_AliIot:
|
|
return IotPlatform_AliIot
|
|
case drivercommon.IotPlatform_HuaweiIot:
|
|
return IotPlatform_HuaweiIot
|
|
case drivercommon.IotPlatform_TencentIot:
|
|
return IotPlatform_TencentIot
|
|
case drivercommon.IotPlatform_TuyaIot:
|
|
return IotPlatform_TuyaIot
|
|
case drivercommon.IotPlatform_OneNetIot:
|
|
return IotPlatform_OneNetIot
|
|
case drivercommon.IotPlatform_LocalIot:
|
|
return IotPlatform_LocalIot
|
|
default:
|
|
return IotPlatform("")
|
|
}
|
|
}
|
|
|
|
type SpecsType string
|
|
|
|
const (
|
|
SpecsTypeInt SpecsType = "int"
|
|
SpecsTypeFloat SpecsType = "float"
|
|
SpecsTypeText SpecsType = "text"
|
|
SpecsTypeDate SpecsType = "date"
|
|
SpecsTypeBool SpecsType = "bool"
|
|
SpecsTypeEnum SpecsType = "enum"
|
|
SpecsTypeStruct SpecsType = "struct"
|
|
SpecsTypeArray SpecsType = "array"
|
|
)
|
|
|
|
func (i SpecsType) AllowSendInEkuiper() bool {
|
|
if i == SpecsTypeInt || i == SpecsTypeFloat || i == SpecsTypeText || i == SpecsTypeBool || i == SpecsTypeEnum {
|
|
return true
|
|
}
|
|
return false
|
|
}
|
|
|
|
type ProductNodeType string
|
|
|
|
const (
|
|
ProductNodeTypeUnKnow ProductNodeType = "其他"
|
|
ProductNodeTypeGateway ProductNodeType = "网关"
|
|
ProductNodeTypeDevice ProductNodeType = "直连设备"
|
|
ProductNodeTypeSubDevice ProductNodeType = "网关子设备"
|
|
)
|
|
|
|
func (i ProductNodeType) TransformToDriverProductNodeType() driverproduct.ProductNodeType {
|
|
switch i {
|
|
case ProductNodeTypeUnKnow:
|
|
return driverproduct.ProductNodeType_UnKnow
|
|
case ProductNodeTypeGateway:
|
|
return driverproduct.ProductNodeType_Gateway
|
|
case ProductNodeTypeDevice:
|
|
return driverproduct.ProductNodeType_Device
|
|
case ProductNodeTypeSubDevice:
|
|
return driverproduct.ProductNodeType_SubDevice
|
|
default:
|
|
return driverproduct.ProductNodeType_UnKnow
|
|
}
|
|
}
|
|
|
|
type ProductStatus string
|
|
|
|
const (
|
|
ProductRelease ProductStatus = "已发布"
|
|
ProductUnRelease ProductStatus = "未发布"
|
|
)
|
|
|
|
type ProductNetType string
|
|
|
|
const (
|
|
ProductNetTypeOther ProductNetType = "其他"
|
|
ProductNetTypeCellular ProductNetType = "蜂窝"
|
|
ProductNetTypeWifi ProductNetType = "WIFI"
|
|
ProductNetTypeEthernet ProductNetType = "以太网"
|
|
ProductNetTypeNB ProductNetType = "NB"
|
|
)
|
|
|
|
func (i ProductNetType) TransformToDriverProductNetType() driverproduct.ProductNetType {
|
|
switch i {
|
|
case ProductNetTypeOther:
|
|
return driverproduct.ProductNetType_Other
|
|
case ProductNetTypeCellular:
|
|
return driverproduct.ProductNetType_Cellular
|
|
case ProductNetTypeWifi:
|
|
return driverproduct.ProductNetType_Wifi
|
|
case ProductNetTypeEthernet:
|
|
return driverproduct.ProductNetType_Ethernet
|
|
case ProductNetTypeNB:
|
|
return driverproduct.ProductNetType_NB
|
|
default:
|
|
return driverproduct.ProductNetType_Other
|
|
}
|
|
}
|
|
|
|
type ProductProtocol string
|
|
|
|
const (
|
|
ProductProtocolMQTT ProductProtocol = "MQTT"
|
|
ProductProtocolCoAP ProductProtocol = "CoAP"
|
|
ProductProtocolLwM2M ProductProtocol = "LwM2M"
|
|
ProductProtocolHttp ProductProtocol = "HTTP"
|
|
ProductProtocolOther ProductProtocol = "其他"
|
|
)
|
|
|
|
type TagName string
|
|
|
|
const (
|
|
TagNameCustom TagName = "自定义"
|
|
TagNameSystem TagName = "系统"
|
|
)
|
|
|
|
type EventType string
|
|
|
|
const (
|
|
EventTypeInfo EventType = "info"
|
|
EventTypeAlert EventType = "alert"
|
|
EventTypeError EventType = "error"
|
|
)
|
|
|
|
type CallType string
|
|
|
|
const (
|
|
CallTypeSync CallType = "SYNC" //同步
|
|
CallTypeAsync CallType = "ASYNC" //异步
|
|
)
|