From ca935c7e968c553deafc36da3a1086f2306961b9 Mon Sep 17 00:00:00 2001 From: glebkap Date: Tue, 26 Mar 2024 15:22:17 +0300 Subject: [PATCH 1/2] Generate PullMessages --- sdk/event/PullMessages_auto.go | 30 ++++++++++++++++++++++++++++++ sdk/event/event.go | 8 ++++++++ 2 files changed, 38 insertions(+) create mode 100644 sdk/event/PullMessages_auto.go create mode 100644 sdk/event/event.go diff --git a/sdk/event/PullMessages_auto.go b/sdk/event/PullMessages_auto.go new file mode 100644 index 00000000..ddfaaa09 --- /dev/null +++ b/sdk/event/PullMessages_auto.go @@ -0,0 +1,30 @@ +// Code generated : DO NOT EDIT. +// Copyright (c) 2022 Jean-Francois SMIGIELSKI +// Distributed under the MIT License + +package event + +import ( + "context" + "github.com/juju/errors" + "github.com/use-go/onvif" + "github.com/use-go/onvif/sdk" + "github.com/use-go/onvif/event" +) + +// Call_PullMessages forwards the call to dev.CallMethod() then parses the payload of the reply as a PullMessagesResponse. +func Call_PullMessages(ctx context.Context, dev *onvif.Device, request event.PullMessages) (event.PullMessagesResponse, error) { + type Envelope struct { + Header struct{} + Body struct { + PullMessagesResponse event.PullMessagesResponse + } + } + var reply Envelope + if httpReply, err := dev.CallMethod(request); err != nil { + return reply.Body.PullMessagesResponse, errors.Annotate(err, "call") + } else { + err = sdk.ReadAndParse(ctx, httpReply, &reply, "PullMessages") + return reply.Body.PullMessagesResponse, errors.Annotate(err, "reply") + } +} diff --git a/sdk/event/event.go b/sdk/event/event.go new file mode 100644 index 00000000..f033175d --- /dev/null +++ b/sdk/event/event.go @@ -0,0 +1,8 @@ +package event + +//go:generate go run github.com/use-go/onvif/sdk/codegen event event CreatePullPointSubscription +//go:generate go run github.com/use-go/onvif/sdk/codegen event event GetEventProperties +//go:generate go run github.com/use-go/onvif/sdk/codegen event event GetServiceCapabilities +//go:generate go run github.com/use-go/onvif/sdk/codegen event event Subscribe +//go:generate go run github.com/use-go/onvif/sdk/codegen event event Unsubscribe +//go:generate go run github.com/use-go/onvif/sdk/codegen event event PullMessages From 02115f9be93d5b5c71c9a93c2afd17a66512854e Mon Sep 17 00:00:00 2001 From: glebkap Date: Thu, 28 Mar 2024 14:15:17 +0300 Subject: [PATCH 2/2] MessageContent in FilterType may be empty --- event/types.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/event/types.go b/event/types.go index 1b088f34..016a6d37 100644 --- a/event/types.go +++ b/event/types.go @@ -57,7 +57,7 @@ type EndpointReferenceType struct { //wsa http://www.w3.org/2005/08/addressing/w // FilterType struct type FilterType struct { TopicExpression TopicExpressionType `xml:"wsnt:TopicExpression"` - MessageContent QueryExpressionType `xml:"wsnt:MessageContent"` + MessageContent *QueryExpressionType `xml:"wsnt:MessageContent"` } //EndpointReference alais