|
' ******************************************************************************
' **
' ** Yahoo Finance Managed
' ** Written by Marius Häusler 2010
' ** It would be pleasant, if you contact me when you are using this code.
' ** Contact: YahooFinanceManaged@gmail.com
' ** Project Home: http://code.google.com/p/yahoo-finance-managed/
' **
' ******************************************************************************
' **
' ** Copyright 2010 Marius Häusler
' **
' ** Licensed under the Apache License, Version 2.0 (the "License");
' ** you may not use this file except in compliance with the License.
' ** You may obtain a copy of the License at
' **
' ** http://www.apache.org/licenses/LICENSE-2.0
' **
' ** Unless required by applicable law or agreed to in writing, software
' ** distributed under the License is distributed on an "AS IS" BASIS,
' ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
' ** See the License for the specific language governing permissions and
' ** limitations under the License.
' **
' ******************************************************************************
Namespace Base
''' <summary>
''' Base event class for asynchronous download processes and provides the individual user argument. This class must be inherited.
''' </summary>
''' <remarks></remarks>
Public MustInherit Class DownloadEventArgs
Inherits EventArgs
Private mUserArgs As Object = Nothing
''' <summary>
''' Gets the user argument that were passed when the download was started.
''' </summary>
''' <value></value>
''' <returns>An object defined by the user</returns>
''' <remarks></remarks>
Public ReadOnly Property UserArgs() As Object
Get
Return mUserArgs
End Get
End Property
Protected Sub New(ByVal userArgs As Object)
mUserArgs = userArgs
End Sub
End Class
''' <summary>
''' Base event class for changed asynchronous download processes that provides additionally the response of the download. This class must be inherited.
''' </summary>
''' <remarks></remarks>
Public MustInherit Class DownloadChangedEventArgs
Inherits DownloadCompletedEventArgs
Private mMaximumResults As Integer = 0
Private mReceivedResultsCount As Integer = 0
''' <summary>
''' The number of currently received results.
''' </summary>
''' <value></value>
''' <returns></returns>
''' <remarks></remarks>
Public ReadOnly Property ReceivedResultsCount() As Integer
Get
Return mReceivedResultsCount
End Get
End Property
''' <summary>
''' The maximum number of received results.
''' </summary>
''' <value></value>
''' <returns></returns>
''' <remarks>If value is 0, all results will be downloaded</remarks>
Public ReadOnly Property MaximumResultsCount() As Integer
Get
Return mMaximumResults
End Get
End Property
''' <summary>
''' The calculated percentage of download progress.
''' </summary>
''' <value></value>
''' <returns></returns>
''' <remarks></remarks>
Public ReadOnly Property Percentage() As Double
Get
If mMaximumResults > 0 Then : Return mReceivedResultsCount / mMaximumResults
Else : Return 0
End If
End Get
End Property
Protected Sub New(ByVal userArgs As Object, ByVal resp As Response, ByVal max As Integer, ByVal received As Integer)
MyBase.New(userArgs, resp)
mMaximumResults = max
mReceivedResultsCount = received
End Sub
End Class
''' <summary>
''' Base event class for completed asynchronous download processes that provides additionally the response of the download. This class must be inherited.
''' </summary>
''' <remarks></remarks>
Public MustInherit Class DownloadCompletedEventArgs
Inherits DownloadEventArgs
Private mResponse As Response = Nothing
''' <summary>
''' Gets the response of the download process.
''' </summary>
''' <value></value>
''' <returns></returns>
''' <remarks></remarks>
Public ReadOnly Property Response() As Response
Get
Return mResponse
End Get
End Property
Protected Sub New(ByVal userArgs As Object, ByVal resp As Response)
MyBase.New(userArgs)
mResponse = resp
End Sub
End Class
End Namespace
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.