Reorganize code by removing unused files, restructuring package organization, and updating import references to new paths. This simplifies handling of smart and protocol-related operations, improves maintainability, and eliminates redundancy.
169 lines
4.1 KiB
Go
169 lines
4.1 KiB
Go
package models
|
|
|
|
type NetConnectionType uint
|
|
|
|
const (
|
|
NetConnectionWired NetConnectionType = iota
|
|
NetConnectionWireless
|
|
)
|
|
|
|
type TimeShiftSupportFlag uint8
|
|
|
|
const (
|
|
TimeShiftNotSupported TimeShiftSupportFlag = iota
|
|
TimeShiftSupported
|
|
)
|
|
|
|
type FileSystemVersionNumber uint8
|
|
|
|
const (
|
|
FileSystemVersion4 FileSystemVersionNumber = iota
|
|
FileSystemVersion5
|
|
)
|
|
|
|
type CertificateConnectRequest struct {
|
|
Net NetConnectionType `json:"NET"`
|
|
SerialNumber string `json:"DSNO"`
|
|
DeviceName string `json:"DEVNAME"`
|
|
ChannelsNumber uint `json:"CHANNEL"`
|
|
LicensePlate string `json:"CARNUM"`
|
|
DeviceNumber string `json:"AUTONO"`
|
|
VehicleNumber string `json:"AUTOCAR"`
|
|
TimeShiftSupport TimeShiftSupportFlag `json:"TSE"`
|
|
FileSystemVersion FileSystemVersionNumber `json:"FSV"`
|
|
ICCID string `json:"ICCID"`
|
|
EvidenceSupport string `json:"EV"`
|
|
}
|
|
|
|
type CertificateConnectClientRequest struct {
|
|
UK string `json:"UK"`
|
|
}
|
|
|
|
type CertificateConnectResponse struct {
|
|
ErrorCode uint `json:"ERRORCODE"`
|
|
ErrorCause string `json:"ERRORCAUSE"`
|
|
CommandMask uint `json:"MASKCMD"`
|
|
}
|
|
|
|
type CertificateConnectClientResponse struct {
|
|
S0 string `json:"S0"`
|
|
}
|
|
|
|
type CertificateVerificationRequest struct {
|
|
S0 string `json:"S0"`
|
|
}
|
|
|
|
type CertificateVerificationResponse struct {
|
|
ErrorCode uint `json:"ERRORCODE"`
|
|
ErrorCause string `json:"ERRORCAUSE"`
|
|
ReturnFlag bool `json:"RETURN"`
|
|
}
|
|
|
|
type CertificateLoginRequest struct {
|
|
ClientID uint `json:"CID,omitempty"`
|
|
MAC string `json:"MAC,omitempty"`
|
|
User string `json:"USER"`
|
|
Password string `json:"PASSWD"`
|
|
PlayDevID uint `json:"PLAYDEVID"`
|
|
}
|
|
|
|
type CertificateLoginResponse struct {
|
|
SerialNumber string `json:"DSNO"`
|
|
DeviceName string `json:"DEVNAME"`
|
|
ChannelsNumber uint `json:"CHANNEL"`
|
|
UID string `json:"UID"`
|
|
AlarmInputNumber uint `json:"ALARMIN"`
|
|
AlarmOutputNumber uint `json:"ALARMOUT"`
|
|
DeviceType string `json:"TYPE"`
|
|
DeviceClass DeviceType `json:"DEVCLASS"`
|
|
CurrentVersion string `json:"PRO"`
|
|
LicensePlate string `json:"CARNUM"`
|
|
UserLever UserAccessLevel `json:"LEVEL"`
|
|
CompanyName string `json:"CPN"`
|
|
CustomerName string `json:"CNAME"`
|
|
AudioChannelsNumber uint `json:"ACHN"`
|
|
}
|
|
|
|
type CertificateCreateStreamRequest struct {
|
|
StreamName string `json:"STREAMNAME"`
|
|
}
|
|
|
|
type CertificateCreateStreamResponse struct {
|
|
ErrorCode uint `json:"ERRORCODE"`
|
|
ErrorCause string `json:"ERRORCAUSE"`
|
|
}
|
|
|
|
type CommandMaskParameters uint
|
|
|
|
const (
|
|
CommandMaskAlarm = 1 << iota
|
|
CommandMaskScanningGun
|
|
CommandMaskPassengerFlow
|
|
CommandMaskFaceContrast
|
|
CommandMaskCard
|
|
CommandMaskShutdownReport
|
|
CommandMaskGPSReport
|
|
CommandMaskAll = 0b1111111
|
|
)
|
|
|
|
type DeviceType uint
|
|
|
|
const (
|
|
DeviceTypeDVR DeviceType = 1 + iota
|
|
DeviceTypeIPC
|
|
DeviceTypeNVR
|
|
DeviceTypeMIPC
|
|
DeviceTypeMDVR
|
|
)
|
|
|
|
type UserAccessLevel uint
|
|
|
|
const (
|
|
UserAccessLevelSuperAdmin UserAccessLevel = iota
|
|
UserAccessLevelAdministrator
|
|
UserAccessLeverUser
|
|
)
|
|
|
|
/*
|
|
func (e *Package) RequestConnect(session string, serial string, numOfCams int) {
|
|
e.Payload = map[string]any{
|
|
"MODULE": "CERTIFICATE",
|
|
"OPERATION": "CONNECT",
|
|
"PARAMETER": map[string]any{
|
|
"DSNO": serial,
|
|
"CHANNEL": numOfCams,
|
|
},
|
|
"SESSION": session,
|
|
}
|
|
}
|
|
|
|
// video server util
|
|
func (e *Package) ResponseConnect(Sid string, streamName string) {
|
|
e.Payload = map[string]any{
|
|
"MODULE": "CERTIFICATE",
|
|
"OPERATION": "CREATESTREAM",
|
|
"RESPONSE": map[string]any{
|
|
"ERRORCODE": 0,
|
|
"STREAMNAME": streamName,
|
|
},
|
|
"SESSION": Sid,
|
|
}
|
|
}
|
|
|
|
// main server util
|
|
func (e *Package) ResponseCertificateConnect(Sid string) {
|
|
e.Payload = map[string]any{
|
|
"MODULE": "CERTIFICATE",
|
|
"OPERATION": "CONNECT",
|
|
"RESPONSE": map[string]any{
|
|
"ERRORCAUSE": "",
|
|
"ERRORCODE": 0,
|
|
"MASKCMD": 5,
|
|
"PRO": "1.0.5",
|
|
},
|
|
"SESSION": Sid,
|
|
}
|
|
}
|
|
|
|
*/
|