feat: add missing Device IO operations and fix formatting
- Add GetVideoOutputConfiguration operation - Add GetVideoOutputConfigurationOptions operation - Add SetVideoOutputConfiguration operation - Add GetRelayOutputOptions operation - Add comprehensive tests for new operations - Add CLI support for new Device IO operations - Fix gofmt formatting issues in all files
This commit is contained in:
+18
-18
@@ -144,16 +144,16 @@ type DigitalInputConfigurationOptions struct {
|
|||||||
|
|
||||||
// VideoOutputConfiguration represents a video output configuration.
|
// VideoOutputConfiguration represents a video output configuration.
|
||||||
type VideoOutputConfiguration struct {
|
type VideoOutputConfiguration struct {
|
||||||
Token string
|
Token string
|
||||||
Name string
|
Name string
|
||||||
UseCount int
|
UseCount int
|
||||||
OutputToken string
|
OutputToken string
|
||||||
ForcePersistence bool
|
ForcePersistence bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// VideoOutputConfigurationOptions represents video output configuration options.
|
// VideoOutputConfigurationOptions represents video output configuration options.
|
||||||
type VideoOutputConfigurationOptions struct {
|
type VideoOutputConfigurationOptions struct {
|
||||||
Name StringRange
|
Name StringRange
|
||||||
OutputTokensAvailable []string
|
OutputTokensAvailable []string
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -165,10 +165,10 @@ type StringRange struct {
|
|||||||
|
|
||||||
// RelayOutputOptions represents relay output configuration options.
|
// RelayOutputOptions represents relay output configuration options.
|
||||||
type RelayOutputOptions struct {
|
type RelayOutputOptions struct {
|
||||||
Token string
|
Token string
|
||||||
Mode []RelayMode
|
Mode []RelayMode
|
||||||
DelayTimes []string
|
DelayTimes []string
|
||||||
Discrete bool
|
Discrete bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// getDeviceIOEndpoint returns the device IO endpoint.
|
// getDeviceIOEndpoint returns the device IO endpoint.
|
||||||
@@ -818,18 +818,18 @@ func (c *Client) SetVideoOutputConfiguration(ctx context.Context, config *VideoO
|
|||||||
endpoint := c.getDeviceIOEndpoint()
|
endpoint := c.getDeviceIOEndpoint()
|
||||||
|
|
||||||
type VideoOutputConfigurationXML struct {
|
type VideoOutputConfigurationXML struct {
|
||||||
Token string `xml:"token,attr"`
|
Token string `xml:"token,attr"`
|
||||||
Name string `xml:"tt:Name"`
|
Name string `xml:"tt:Name"`
|
||||||
UseCount int `xml:"tt:UseCount"`
|
UseCount int `xml:"tt:UseCount"`
|
||||||
OutputToken string `xml:"tt:OutputToken"`
|
OutputToken string `xml:"tt:OutputToken"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type SetVideoOutputConfiguration struct {
|
type SetVideoOutputConfiguration struct {
|
||||||
XMLName xml.Name `xml:"tmd:SetVideoOutputConfiguration"`
|
XMLName xml.Name `xml:"tmd:SetVideoOutputConfiguration"`
|
||||||
Xmlns string `xml:"xmlns:tmd,attr"`
|
Xmlns string `xml:"xmlns:tmd,attr"`
|
||||||
XmlnsTT string `xml:"xmlns:tt,attr"`
|
XmlnsTT string `xml:"xmlns:tt,attr"`
|
||||||
Configuration VideoOutputConfigurationXML `xml:"tmd:Configuration"`
|
Configuration VideoOutputConfigurationXML `xml:"tmd:Configuration"`
|
||||||
ForcePersistence bool `xml:"tmd:ForcePersistence"`
|
ForcePersistence bool `xml:"tmd:ForcePersistence"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type SetVideoOutputConfigurationResponse struct {
|
type SetVideoOutputConfigurationResponse struct {
|
||||||
|
|||||||
@@ -86,27 +86,27 @@ type Topic struct {
|
|||||||
|
|
||||||
// EventBrokerConfig represents an event broker configuration.
|
// EventBrokerConfig represents an event broker configuration.
|
||||||
type EventBrokerConfig struct {
|
type EventBrokerConfig struct {
|
||||||
Address string
|
Address string
|
||||||
TopicPrefix string
|
TopicPrefix string
|
||||||
UserName string
|
UserName string
|
||||||
Password string
|
Password string
|
||||||
CertificateID string
|
CertificateID string
|
||||||
PublishFilter string
|
PublishFilter string
|
||||||
QoS int
|
QoS int
|
||||||
Status string
|
Status string
|
||||||
CertPathValidation bool
|
CertPathValidation bool
|
||||||
MetadataFilter string
|
MetadataFilter string
|
||||||
}
|
}
|
||||||
|
|
||||||
// EventProperties represents the event properties of the device.
|
// EventProperties represents the event properties of the device.
|
||||||
type EventProperties struct {
|
type EventProperties struct {
|
||||||
TopicNamespaceLocation []string
|
TopicNamespaceLocation []string
|
||||||
FixedTopicSet bool
|
FixedTopicSet bool
|
||||||
TopicSet TopicSet
|
TopicSet TopicSet
|
||||||
TopicExpressionDialects []string
|
TopicExpressionDialects []string
|
||||||
MessageContentFilterDialects []string
|
MessageContentFilterDialects []string
|
||||||
ProducerPropertiesFilterDialects []string
|
ProducerPropertiesFilterDialects []string
|
||||||
MessageContentSchemaLocation []string
|
MessageContentSchemaLocation []string
|
||||||
}
|
}
|
||||||
|
|
||||||
// getEventEndpoint returns the event endpoint, falling back to the default endpoint if not set.
|
// getEventEndpoint returns the event endpoint, falling back to the default endpoint if not set.
|
||||||
@@ -540,13 +540,13 @@ func (c *Client) GetEventProperties(ctx context.Context) (*EventProperties, erro
|
|||||||
}
|
}
|
||||||
|
|
||||||
type GetEventPropertiesResponse struct {
|
type GetEventPropertiesResponse struct {
|
||||||
XMLName xml.Name `xml:"GetEventPropertiesResponse"`
|
XMLName xml.Name `xml:"GetEventPropertiesResponse"`
|
||||||
TopicNamespaceLocation []string `xml:"TopicNamespaceLocation"`
|
TopicNamespaceLocation []string `xml:"TopicNamespaceLocation"`
|
||||||
FixedTopicSet bool `xml:"FixedTopicSet"`
|
FixedTopicSet bool `xml:"FixedTopicSet"`
|
||||||
TopicExpressionDialect []string `xml:"TopicExpressionDialect"`
|
TopicExpressionDialect []string `xml:"TopicExpressionDialect"`
|
||||||
MessageContentFilterDialect []string `xml:"MessageContentFilterDialect"`
|
MessageContentFilterDialect []string `xml:"MessageContentFilterDialect"`
|
||||||
ProducerPropertiesFilterDialect []string `xml:"ProducerPropertiesFilterDialect"`
|
ProducerPropertiesFilterDialect []string `xml:"ProducerPropertiesFilterDialect"`
|
||||||
MessageContentSchemaLocation []string `xml:"MessageContentSchemaLocation"`
|
MessageContentSchemaLocation []string `xml:"MessageContentSchemaLocation"`
|
||||||
}
|
}
|
||||||
|
|
||||||
req := GetEventProperties{
|
req := GetEventProperties{
|
||||||
@@ -599,8 +599,8 @@ func (c *Client) AddEventBroker(ctx context.Context, config *EventBrokerConfig)
|
|||||||
}
|
}
|
||||||
|
|
||||||
type AddEventBroker struct {
|
type AddEventBroker struct {
|
||||||
XMLName xml.Name `xml:"tev:AddEventBroker"`
|
XMLName xml.Name `xml:"tev:AddEventBroker"`
|
||||||
Xmlns string `xml:"xmlns:tev,attr"`
|
Xmlns string `xml:"xmlns:tev,attr"`
|
||||||
EventBrokerConfig EventBrokerConfigXML `xml:"tev:EventBrokerConfig"`
|
EventBrokerConfig EventBrokerConfigXML `xml:"tev:EventBrokerConfig"`
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -776,4 +776,3 @@ func splitSpaceSeparated(s string) []string {
|
|||||||
|
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -736,4 +736,3 @@ func TestSetEventEndpoint(t *testing.T) {
|
|||||||
t.Errorf("Expected event endpoint %s, got %s", newEndpoint, endpoint)
|
t.Errorf("Expected event endpoint %s, got %s", newEndpoint, endpoint)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -233,4 +233,3 @@ func testDeviceIOService(ctx context.Context, client *onvif.Client) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user