// -*- Mode: Go; indent-tabs-mode: t -*-
//
// Copyright (C) 2022 Intel Corporation
//
// SPDX-License-Identifier: Apache-2.0

// Code generated by gen_commands.py DO NOT EDIT.

package onvif

import (
	"github.com/kerberos-io/onvif/analytics"
	"github.com/kerberos-io/onvif/device"
	"github.com/kerberos-io/onvif/event"
	"github.com/kerberos-io/onvif/imaging"
	"github.com/kerberos-io/onvif/media"
	"github.com/kerberos-io/onvif/media2"
	"github.com/kerberos-io/onvif/ptz"
	"github.com/kerberos-io/onvif/recording"
)

var AnalyticsFunctionMap = map[string]Function{
	CreateAnalyticsModules:       &analytics.CreateAnalyticsModulesFunction{},
	CreateRules:                  &analytics.CreateRulesFunction{},
	DeleteAnalyticsModules:       &analytics.DeleteAnalyticsModulesFunction{},
	DeleteRules:                  &analytics.DeleteRulesFunction{},
	GetAnalyticsModuleOptions:    &analytics.GetAnalyticsModuleOptionsFunction{},
	GetAnalyticsModules:          &analytics.GetAnalyticsModulesFunction{},
	GetRuleOptions:               &analytics.GetRuleOptionsFunction{},
	GetRules:                     &analytics.GetRulesFunction{},
	GetSupportedAnalyticsModules: &analytics.GetSupportedAnalyticsModulesFunction{},
	GetSupportedRules:            &analytics.GetSupportedRulesFunction{},
	ModifyAnalyticsModules:       &analytics.ModifyAnalyticsModulesFunction{},
	ModifyRules:                  &analytics.ModifyRulesFunction{},
}

var DeviceFunctionMap = map[string]Function{
	AddIPAddressFilter:            &device.AddIPAddressFilterFunction{},
	AddScopes:                     &device.AddScopesFunction{},
	CreateCertificate:             &device.CreateCertificateFunction{},
	CreateDot1XConfiguration:      &device.CreateDot1XConfigurationFunction{},
	CreateStorageConfiguration:    &device.CreateStorageConfigurationFunction{},
	CreateUsers:                   &device.CreateUsersFunction{},
	DeleteCertificates:            &device.DeleteCertificatesFunction{},
	DeleteDot1XConfiguration:      &device.DeleteDot1XConfigurationFunction{},
	DeleteGeoLocation:             &device.DeleteGeoLocationFunction{},
	DeleteStorageConfiguration:    &device.DeleteStorageConfigurationFunction{},
	DeleteUsers:                   &device.DeleteUsersFunction{},
	GetAccessPolicy:               &device.GetAccessPolicyFunction{},
	GetCACertificates:             &device.GetCACertificatesFunction{},
	GetCapabilities:               &device.GetCapabilitiesFunction{},
	GetCertificateInformation:     &device.GetCertificateInformationFunction{},
	GetCertificates:               &device.GetCertificatesFunction{},
	GetCertificatesStatus:         &device.GetCertificatesStatusFunction{},
	GetClientCertificateMode:      &device.GetClientCertificateModeFunction{},
	GetDNS:                        &device.GetDNSFunction{},
	GetDPAddresses:                &device.GetDPAddressesFunction{},
	GetDeviceInformation:          &device.GetDeviceInformationFunction{},
	GetDiscoveryMode:              &device.GetDiscoveryModeFunction{},
	GetDot11Capabilities:          &device.GetDot11CapabilitiesFunction{},
	GetDot11Status:                &device.GetDot11StatusFunction{},
	GetDot1XConfiguration:         &device.GetDot1XConfigurationFunction{},
	GetDot1XConfigurations:        &device.GetDot1XConfigurationsFunction{},
	GetDynamicDNS:                 &device.GetDynamicDNSFunction{},
	GetEndpointReference:          &device.GetEndpointReferenceFunction{},
	GetGeoLocation:                &device.GetGeoLocationFunction{},
	GetHostname:                   &device.GetHostnameFunction{},
	GetIPAddressFilter:            &device.GetIPAddressFilterFunction{},
	GetNTP:                        &device.GetNTPFunction{},
	GetNetworkDefaultGateway:      &device.GetNetworkDefaultGatewayFunction{},
	GetNetworkInterfaces:          &device.GetNetworkInterfacesFunction{},
	GetNetworkProtocols:           &device.GetNetworkProtocolsFunction{},
	GetPkcs10Request:              &device.GetPkcs10RequestFunction{},
	GetRelayOutputs:               &device.GetRelayOutputsFunction{},
	GetDigitalInputs:              &device.GetDigitalInputsFunction{},
	GetRemoteDiscoveryMode:        &device.GetRemoteDiscoveryModeFunction{},
	GetRemoteUser:                 &device.GetRemoteUserFunction{},
	GetScopes:                     &device.GetScopesFunction{},
	GetServiceCapabilities:        &device.GetServiceCapabilitiesFunction{},
	GetServices:                   &device.GetServicesFunction{},
	GetStorageConfiguration:       &device.GetStorageConfigurationFunction{},
	GetStorageConfigurations:      &device.GetStorageConfigurationsFunction{},
	GetSystemBackup:               &device.GetSystemBackupFunction{},
	GetSystemDateAndTime:          &device.GetSystemDateAndTimeFunction{},
	GetSystemLog:                  &device.GetSystemLogFunction{},
	GetSystemSupportInformation:   &device.GetSystemSupportInformationFunction{},
	GetSystemUris:                 &device.GetSystemUrisFunction{},
	GetUsers:                      &device.GetUsersFunction{},
	GetWsdlUrl:                    &device.GetWsdlUrlFunction{},
	GetZeroConfiguration:          &device.GetZeroConfigurationFunction{},
	LoadCACertificates:            &device.LoadCACertificatesFunction{},
	LoadCertificateWithPrivateKey: &device.LoadCertificateWithPrivateKeyFunction{},
	LoadCertificates:              &device.LoadCertificatesFunction{},
	RemoveIPAddressFilter:         &device.RemoveIPAddressFilterFunction{},
	RemoveScopes:                  &device.RemoveScopesFunction{},
	RestoreSystem:                 &device.RestoreSystemFunction{},
	ScanAvailableDot11Networks:    &device.ScanAvailableDot11NetworksFunction{},
	SendAuxiliaryCommand:          &device.SendAuxiliaryCommandFunction{},
	SetAccessPolicy:               &device.SetAccessPolicyFunction{},
	SetCertificatesStatus:         &device.SetCertificatesStatusFunction{},
	SetClientCertificateMode:      &device.SetClientCertificateModeFunction{},
	SetDNS:                        &device.SetDNSFunction{},
	SetDPAddresses:                &device.SetDPAddressesFunction{},
	SetDiscoveryMode:              &device.SetDiscoveryModeFunction{},
	SetDot1XConfiguration:         &device.SetDot1XConfigurationFunction{},
	SetDynamicDNS:                 &device.SetDynamicDNSFunction{},
	SetGeoLocation:                &device.SetGeoLocationFunction{},
	SetHostname:                   &device.SetHostnameFunction{},
	SetHostnameFromDHCP:           &device.SetHostnameFromDHCPFunction{},
	SetIPAddressFilter:            &device.SetIPAddressFilterFunction{},
	SetNTP:                        &device.SetNTPFunction{},
	SetNetworkDefaultGateway:      &device.SetNetworkDefaultGatewayFunction{},
	SetNetworkInterfaces:          &device.SetNetworkInterfacesFunction{},
	SetNetworkProtocols:           &device.SetNetworkProtocolsFunction{},
	SetRelayOutputSettings:        &device.SetRelayOutputSettingsFunction{},
	SetRelayOutputState:           &device.SetRelayOutputStateFunction{},
	SetRemoteDiscoveryMode:        &device.SetRemoteDiscoveryModeFunction{},
	SetRemoteUser:                 &device.SetRemoteUserFunction{},
	SetScopes:                     &device.SetScopesFunction{},
	SetStorageConfiguration:       &device.SetStorageConfigurationFunction{},
	SetSystemDateAndTime:          &device.SetSystemDateAndTimeFunction{},
	SetSystemFactoryDefault:       &device.SetSystemFactoryDefaultFunction{},
	SetUser:                       &device.SetUserFunction{},
	SetZeroConfiguration:          &device.SetZeroConfigurationFunction{},
	StartFirmwareUpgrade:          &device.StartFirmwareUpgradeFunction{},
	StartSystemRestore:            &device.StartSystemRestoreFunction{},
	SystemReboot:                  &device.SystemRebootFunction{},
	UpgradeSystemFirmware:         &device.UpgradeSystemFirmwareFunction{},
}

var EventFunctionMap = map[string]Function{
	CreatePullPointSubscription: &event.CreatePullPointSubscriptionFunction{},
	GetEventProperties:          &event.GetEventPropertiesFunction{},
	GetServiceCapabilities:      &event.GetServiceCapabilitiesFunction{},
	PullMessages:                &event.PullMessagesFunction{},
	Renew:                       &event.RenewFunction{},
	Seek:                        &event.SeekFunction{},
	SetSynchronizationPoint:     &event.SetSynchronizationPointFunction{},
	Subscribe:                   &event.SubscribeFunction{},
	SubscriptionReference:       &event.SubscriptionReferenceFunction{},
	Unsubscribe:                 &event.UnsubscribeFunction{},
}

var ImagingFunctionMap = map[string]Function{
	GetCurrentPreset:       &imaging.GetCurrentPresetFunction{},
	GetImagingSettings:     &imaging.GetImagingSettingsFunction{},
	GetMoveOptions:         &imaging.GetMoveOptionsFunction{},
	GetOptions:             &imaging.GetOptionsFunction{},
	GetPresets:             &imaging.GetPresetsFunction{},
	GetServiceCapabilities: &imaging.GetServiceCapabilitiesFunction{},
	GetStatus:              &imaging.GetStatusFunction{},
	Move:                   &imaging.MoveFunction{},
	SetCurrentPreset:       &imaging.SetCurrentPresetFunction{},
	SetImagingSettings:     &imaging.SetImagingSettingsFunction{},
	Stop:                   &imaging.StopFunction{},
}

var MediaFunctionMap = map[string]Function{
	AddAudioDecoderConfiguration:               &media.AddAudioDecoderConfigurationFunction{},
	AddAudioEncoderConfiguration:               &media.AddAudioEncoderConfigurationFunction{},
	AddAudioOutputConfiguration:                &media.AddAudioOutputConfigurationFunction{},
	AddAudioSourceConfiguration:                &media.AddAudioSourceConfigurationFunction{},
	AddMetadataConfiguration:                   &media.AddMetadataConfigurationFunction{},
	AddPTZConfiguration:                        &media.AddPTZConfigurationFunction{},
	AddVideoAnalyticsConfiguration:             &media.AddVideoAnalyticsConfigurationFunction{},
	AddVideoEncoderConfiguration:               &media.AddVideoEncoderConfigurationFunction{},
	AddVideoSourceConfiguration:                &media.AddVideoSourceConfigurationFunction{},
	CreateOSD:                                  &media.CreateOSDFunction{},
	CreateProfile:                              &media.CreateProfileFunction{},
	DeleteOSD:                                  &media.DeleteOSDFunction{},
	DeleteProfile:                              &media.DeleteProfileFunction{},
	GetAudioDecoderConfiguration:               &media.GetAudioDecoderConfigurationFunction{},
	GetAudioDecoderConfigurationOptions:        &media.GetAudioDecoderConfigurationOptionsFunction{},
	GetAudioDecoderConfigurations:              &media.GetAudioDecoderConfigurationsFunction{},
	GetAudioEncoderConfiguration:               &media.GetAudioEncoderConfigurationFunction{},
	GetAudioEncoderConfigurationOptions:        &media.GetAudioEncoderConfigurationOptionsFunction{},
	GetAudioEncoderConfigurations:              &media.GetAudioEncoderConfigurationsFunction{},
	GetAudioOutputConfiguration:                &media.GetAudioOutputConfigurationFunction{},
	GetAudioOutputConfigurationOptions:         &media.GetAudioOutputConfigurationOptionsFunction{},
	GetAudioOutputConfigurations:               &media.GetAudioOutputConfigurationsFunction{},
	GetAudioOutputs:                            &media.GetAudioOutputsFunction{},
	GetAudioSourceConfiguration:                &media.GetAudioSourceConfigurationFunction{},
	GetAudioSourceConfigurationOptions:         &media.GetAudioSourceConfigurationOptionsFunction{},
	GetAudioSourceConfigurations:               &media.GetAudioSourceConfigurationsFunction{},
	GetAudioSources:                            &media.GetAudioSourcesFunction{},
	GetCompatibleAudioDecoderConfigurations:    &media.GetCompatibleAudioDecoderConfigurationsFunction{},
	GetCompatibleAudioEncoderConfigurations:    &media.GetCompatibleAudioEncoderConfigurationsFunction{},
	GetCompatibleAudioOutputConfigurations:     &media.GetCompatibleAudioOutputConfigurationsFunction{},
	GetCompatibleAudioSourceConfigurations:     &media.GetCompatibleAudioSourceConfigurationsFunction{},
	GetCompatibleMetadataConfigurations:        &media.GetCompatibleMetadataConfigurationsFunction{},
	GetCompatibleVideoAnalyticsConfigurations:  &media.GetCompatibleVideoAnalyticsConfigurationsFunction{},
	GetCompatibleVideoEncoderConfigurations:    &media.GetCompatibleVideoEncoderConfigurationsFunction{},
	GetCompatibleVideoSourceConfigurations:     &media.GetCompatibleVideoSourceConfigurationsFunction{},
	GetGuaranteedNumberOfVideoEncoderInstances: &media.GetGuaranteedNumberOfVideoEncoderInstancesFunction{},
	GetMetadataConfiguration:                   &media.GetMetadataConfigurationFunction{},
	GetMetadataConfigurationOptions:            &media.GetMetadataConfigurationOptionsFunction{},
	GetMetadataConfigurations:                  &media.GetMetadataConfigurationsFunction{},
	GetOSD:                                     &media.GetOSDFunction{},
	GetOSDOptions:                              &media.GetOSDOptionsFunction{},
	GetOSDs:                                    &media.GetOSDsFunction{},
	GetProfile:                                 &media.GetProfileFunction{},
	GetProfiles:                                &media.GetProfilesFunction{},
	GetServiceCapabilities:                     &media.GetServiceCapabilitiesFunction{},
	GetSnapshotUri:                             &media.GetSnapshotUriFunction{},
	GetStreamUri:                               &media.GetStreamUriFunction{},
	GetVideoAnalyticsConfiguration:             &media.GetVideoAnalyticsConfigurationFunction{},
	GetVideoAnalyticsConfigurations:            &media.GetVideoAnalyticsConfigurationsFunction{},
	GetVideoEncoderConfiguration:               &media.GetVideoEncoderConfigurationFunction{},
	GetVideoEncoderConfigurationOptions:        &media.GetVideoEncoderConfigurationOptionsFunction{},
	GetVideoEncoderConfigurations:              &media.GetVideoEncoderConfigurationsFunction{},
	GetVideoSourceConfiguration:                &media.GetVideoSourceConfigurationFunction{},
	GetVideoSourceConfigurationOptions:         &media.GetVideoSourceConfigurationOptionsFunction{},
	GetVideoSourceConfigurations:               &media.GetVideoSourceConfigurationsFunction{},
	GetVideoSourceModes:                        &media.GetVideoSourceModesFunction{},
	GetVideoSources:                            &media.GetVideoSourcesFunction{},
	RemoveAudioDecoderConfiguration:            &media.RemoveAudioDecoderConfigurationFunction{},
	RemoveAudioEncoderConfiguration:            &media.RemoveAudioEncoderConfigurationFunction{},
	RemoveAudioOutputConfiguration:             &media.RemoveAudioOutputConfigurationFunction{},
	RemoveAudioSourceConfiguration:             &media.RemoveAudioSourceConfigurationFunction{},
	RemoveMetadataConfiguration:                &media.RemoveMetadataConfigurationFunction{},
	RemovePTZConfiguration:                     &media.RemovePTZConfigurationFunction{},
	RemoveVideoAnalyticsConfiguration:          &media.RemoveVideoAnalyticsConfigurationFunction{},
	RemoveVideoEncoderConfiguration:            &media.RemoveVideoEncoderConfigurationFunction{},
	RemoveVideoSourceConfiguration:             &media.RemoveVideoSourceConfigurationFunction{},
	SetAudioDecoderConfiguration:               &media.SetAudioDecoderConfigurationFunction{},
	SetAudioEncoderConfiguration:               &media.SetAudioEncoderConfigurationFunction{},
	SetAudioOutputConfiguration:                &media.SetAudioOutputConfigurationFunction{},
	SetAudioSourceConfiguration:                &media.SetAudioSourceConfigurationFunction{},
	SetMetadataConfiguration:                   &media.SetMetadataConfigurationFunction{},
	SetOSD:                                     &media.SetOSDFunction{},
	SetSynchronizationPoint:                    &media.SetSynchronizationPointFunction{},
	SetVideoAnalyticsConfiguration:             &media.SetVideoAnalyticsConfigurationFunction{},
	SetVideoEncoderConfiguration:               &media.SetVideoEncoderConfigurationFunction{},
	SetVideoSourceConfiguration:                &media.SetVideoSourceConfigurationFunction{},
	SetVideoSourceMode:                         &media.SetVideoSourceModeFunction{},
	StartMulticastStreaming:                    &media.StartMulticastStreamingFunction{},
	StopMulticastStreaming:                     &media.StopMulticastStreamingFunction{},
}

var Media2FunctionMap = map[string]Function{
	AddConfiguration:           &media2.AddConfigurationFunction{},
	GetAnalyticsConfigurations: &media2.GetAnalyticsConfigurationsFunction{},
	GetProfiles:                &media2.GetProfilesFunction{},
	RemoveConfiguration:        &media2.RemoveConfigurationFunction{},
}

var PTZFunctionMap = map[string]Function{
	AbsoluteMove:                &ptz.AbsoluteMoveFunction{},
	ContinuousMove:              &ptz.ContinuousMoveFunction{},
	CreatePresetTour:            &ptz.CreatePresetTourFunction{},
	GeoMove:                     &ptz.GeoMoveFunction{},
	GetCompatibleConfigurations: &ptz.GetCompatibleConfigurationsFunction{},
	GetConfiguration:            &ptz.GetConfigurationFunction{},
	GetConfigurationOptions:     &ptz.GetConfigurationOptionsFunction{},
	GetConfigurations:           &ptz.GetConfigurationsFunction{},
	GetNode:                     &ptz.GetNodeFunction{},
	GetNodes:                    &ptz.GetNodesFunction{},
	GetPresetTour:               &ptz.GetPresetTourFunction{},
	GetPresetTourOptions:        &ptz.GetPresetTourOptionsFunction{},
	GetPresetTours:              &ptz.GetPresetToursFunction{},
	GetPresets:                  &ptz.GetPresetsFunction{},
	GetServiceCapabilities:      &ptz.GetServiceCapabilitiesFunction{},
	GetStatus:                   &ptz.GetStatusFunction{},
	GotoHomePosition:            &ptz.GotoHomePositionFunction{},
	GotoPreset:                  &ptz.GotoPresetFunction{},
	ModifyPresetTour:            &ptz.ModifyPresetTourFunction{},
	OperatePresetTour:           &ptz.OperatePresetTourFunction{},
	RelativeMove:                &ptz.RelativeMoveFunction{},
	RemovePreset:                &ptz.RemovePresetFunction{},
	RemovePresetTour:            &ptz.RemovePresetTourFunction{},
	SendAuxiliaryCommand:        &ptz.SendAuxiliaryCommandFunction{},
	SetConfiguration:            &ptz.SetConfigurationFunction{},
	SetHomePosition:             &ptz.SetHomePositionFunction{},
	SetPreset:                   &ptz.SetPresetFunction{},
	Stop:                        &ptz.StopFunction{},
}

var RecordingFunctionMap = map[string]Function{
	CreateRecording:              &recording.CreateRecordingFunction{},
	CreateRecordingJob:           &recording.CreateRecordingJobFunction{},
	CreateTrack:                  &recording.CreateTrackFunction{},
	DeleteRecording:              &recording.DeleteRecordingFunction{},
	DeleteRecordingJob:           &recording.DeleteRecordingJobFunction{},
	DeleteTrack:                  &recording.DeleteTrackFunction{},
	ExportRecordedData:           &recording.ExportRecordedDataFunction{},
	GetExportRecordedDataState:   &recording.GetExportRecordedDataStateFunction{},
	GetRecordingConfiguration:    &recording.GetRecordingConfigurationFunction{},
	GetRecordingJobConfiguration: &recording.GetRecordingJobConfigurationFunction{},
	GetRecordingJobState:         &recording.GetRecordingJobStateFunction{},
	GetRecordingJobs:             &recording.GetRecordingJobsFunction{},
	GetRecordingOptions:          &recording.GetRecordingOptionsFunction{},
	GetRecordings:                &recording.GetRecordingsFunction{},
	GetServiceCapabilities:       &recording.GetServiceCapabilitiesFunction{},
	GetTrackConfiguration:        &recording.GetTrackConfigurationFunction{},
	SetRecordingConfiguration:    &recording.SetRecordingConfigurationFunction{},
	SetRecordingJobConfiguration: &recording.SetRecordingJobConfigurationFunction{},
	SetRecordingJobMode:          &recording.SetRecordingJobModeFunction{},
	SetTrackConfiguration:        &recording.SetTrackConfigurationFunction{},
	StopExportRecordedData:       &recording.StopExportRecordedDataFunction{},
}
