mirror of
https://github.com/AAndyProgram/SCrawler.git
synced 2026-03-14 15:52:18 +00:00
2023.11.9.0
ADD MULTI-ACCOUNT PluginProvider IDownloadableMedia: added 'AccountName' property IPluginContentProvider: added 'AccountName' property ISiteSettings: added properties: 'AccountName', 'Temporary', 'AvailableText', 'DefaultInstance'; added functions: 'Clone', 'Update', 'Delete'; removed 'Load' function; implement 'IDisposable' interface PropertyValue: added functions: 'BeginInit', 'EndInit', 'Clone' YT YouTubeSettings: make the class compatible for multi-acc YouTubeMediaContainerBase: add 'AccountName' property SCrawler IUserData: add properties: 'HostStatic', 'AccountName' ProfileSaved: add the ability to download saved posts from all accounts SiteSettingsBase: add multi-acc support; add 'UserOptionsType' for future purposes; update initializers; update responser initializing; add 'CLONE_PROPERTIES' and 'CloneGetEmptySettingsInstance' functions; 'IDisposable' support UserDataBase: add multi-acc support; change host retrieval method DomainsContainer: implements 'IDisposable' interface API.All sites: add multi-acc support; move the Icon and Image setting to the initializer; update initializer API.Instagram: change some property types API.Reddit: set 'AvailableText'; update 'UpdateRedGifsToken' and 'UserOptions' functions API.Mastodon: remove 'MastodonDomains' class and 'SettingsForm' form; replace 'MastodonDomains' with 'DomainsContainer'; update functions 'IsMyUser' and 'IsMyImageVideo'; update to 'DefaultInstance' environment; update 'UserData.ResetCredentials' function API.XVIDEOS: update to 'DefaultInstance' environment API.Xhamster: update to 'DefaultInstance' environment STDownloader: add multi-acc compatibility SiteEditorForm: add option 'Download saved posts'; update providers; add additional providers; add multi-acc support PluginsEnvironment: add 'PClonableAttribute'; add multi-acc support
This commit is contained in:
@@ -11,6 +11,7 @@ Namespace Plugin
|
||||
Public Event ValueChanged As IPropertyValue.ValueChangedEventHandler Implements IPropertyValue.ValueChanged
|
||||
Public Property [Type] As Type Implements IPropertyValue.Type
|
||||
Public Property OnChangeFunction As IPropertyValue.ValueChangedEventHandler
|
||||
Private _Initialization As Boolean = False
|
||||
''' <inheritdoc cref="PropertyValue.New(Object, Type, ByRef IPropertyValue.ValueChangedEventHandler)"/>
|
||||
''' <exception cref="ArgumentNullException"></exception>
|
||||
Public Sub New(ByVal InitValue As Object)
|
||||
@@ -41,10 +42,25 @@ Namespace Plugin
|
||||
End Get
|
||||
Set(ByVal NewValue As Object)
|
||||
_Value = NewValue
|
||||
If Not OnChangeFunction Is Nothing Then OnChangeFunction.Invoke(Value)
|
||||
RaiseEvent ValueChanged(_Value)
|
||||
If Not _Initialization Then
|
||||
If Not OnChangeFunction Is Nothing Then OnChangeFunction.Invoke(Value)
|
||||
RaiseEvent ValueChanged(_Value)
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
Public Sub BeginInit()
|
||||
_Initialization = True
|
||||
End Sub
|
||||
Public Sub EndInit()
|
||||
_Initialization = False
|
||||
End Sub
|
||||
Public Sub Clone(ByVal Source As PropertyValue)
|
||||
_Initialization = True
|
||||
Type = Source.Type
|
||||
OnChangeFunction = Source.OnChangeFunction
|
||||
_Value = Source._Value
|
||||
_Initialization = False
|
||||
End Sub
|
||||
End Class
|
||||
Public Interface IPropertyValue
|
||||
''' <summary>Event for internal exchange</summary>
|
||||
|
||||
Reference in New Issue
Block a user